OpenStackÊÇÒ»¸öÖ¼ÔÚΪ¹«¹²¼°Ë½ÓÐÔÆµÄ½¨ÉèÓë¹ÜÀíÌṩÈí¼þµÄ¿ªÔ´ÏîÄ¿¡£ËüµÄÉçÇøÓµÓг¬¹ý130¼ÒÆóÒµ¼°1350λ¿ª·¢Õߣ¬ÕâЩ»ú¹¹Óë¸öÈ˶¼½«OpenStack×÷Ϊ»ù´¡ÉèÊ©¼´·þÎñ£¨¼ò³ÆIaaS£©×ÊÔ´µÄͨÓÃǰ¶Ë¡£OpenStackÏîÄ¿µÄÊ×ÒªÈÎÎñÊǼò»¯ÔƵIJ¿Êð¹ý³Ì²¢ÎªÆä´øÀ´Á¼ºÃµÄ¿ÉÀ©Õ¹ÐÔ¡£±¾ÎÄÏ£Íûͨ¹ýÌṩ±ØÒªµÄÖ¸µ¼ÐÅÏ¢£¬°ïÖú´ó¼ÒÀûÓÃOpenStackǰ¶ËÀ´ÉèÖü°¹ÜÀí×Ô¼ºµÄ¹«¹²ÔÆ»ò˽ÓÐÔÆ¡£
ÄÚÈÝÏê½â
OpenStack°üÀ¨Êý¸öÓÉÉçÇøÎ¬»¤µÄÏîÄ¿£¬¾ßÌåÇé¿öÎÒ½«ÔÚºóÎÄÖÐÏê¼Ó²ûÊö¡£
- OpenStack Compute (Nova)ÊÇÒ»Ì׿ØÖÆÆ÷£¬ÓÃÓÚΪµ¥¸öÓû§»òʹÓÃȺ×éÆô¶¯ÐéÄâ»úʵÀý¡£ËüͬÑùÄܹ»ÓÃÓÚΪ°üº¬×Ŷà¸öʵÀýµÄÌØ¶¨ÏîÄ¿ÉèÖÃÍøÂç¡£OpenStack ComputeÔÚ¹«¹²ÔÆ´¦Àí·½Ãæ¿°ÓëAmazon EC2ÏàÌá²¢ÂÛ£»¶øÔÚ˽ÓÐÔÆ·½ÃæÒ²ºÁ²»Ñ·É«ÓÚVMwareµÄ²úÆ·¡£ÔÚ¹«¹²ÔÆÖУ¬ÕâÌ×¹ÜÀí»úÖÆ½«Ìá¹©Ô¤ÖÆµÄ¾µÏñ»òÊÇΪÓû§´´½¨µÄ¾µÏñÌṩ´æ´¢»úÖÆ£¬ÕâÑùÓû§¾ÍÄܹ»½«¾µÏñÒÔÐéÄâ»úµÄÐÎʽÆô¶¯¡£
- OpenStack ¶ÔÏó´æ´¢(Swift)ÊÇÒ»Ì×ÓÃÓÚÔÚ´ó¹æÄ£¿ÉÀ©Õ¹ÏµÍ³ÖÐͨ¹ýÄÚÖÃÈßÓ༰ÈÝ´í»úÖÆÊµÏÖ¶ÔÏó´æ´¢µÄϵͳ¡£ÕâЩ¶ÔÏóÄܹ»Í¨¹ýÒ»¸öREST API»òÊÇÏñCyberduckÕâÑù¿ÉÒÔ¶Ô½Ó¶ÔÏó´æ´¢APIµÄ¿Í»§¶Ë¼ÓÒÔ»Ö¸´¡£
- OpenStack¾µÏñ·þÎñ (Glance)ÊÇÒ»Ì×ÐéÄâ»ú¾µÏñ²éÕÒ¼°¼ìË÷ϵͳ¡£ËüÄܹ»ÒÔÈýÖÖÐÎʽ¼ÓÒÔÅäÖãºÀûÓÃOpenStack¶ÔÏó´æ´¢»úÖÆÀ´´æ´¢¾µÏñ£»ÀûÓÃAmazonµÄ¼òµ¥´æ´¢½â¾ö·½°¸£¨¼ò³ÆS3£©Ö±½Ó´æ´¢ÐÅÏ¢£»»òÕß½«S3´æ´¢Óë¶ÔÏó´æ´¢½áºÏÆðÀ´£¬×÷ΪS3·ÃÎʵÄÁ¬½ÓÆ÷¡£OpenStack¾µÏñ·þÎñÖ§³Ö¶àÖÖÐéÄâ»ú¾µÏñ¸ñʽ£¬°üÀ¨VMware£¨VMDK£©¡¢Amazon¾µÏñ£¨AKI¡¢ARI¡¢AMI£©ÒÔ¼°VirtualBoxËùÖ§³ÖµÄ¸÷ÖÖ´ÅÅ̸ñʽ¡£¾µÏñÔªÊý¾ÝµÄÈÝÆ÷¸ñʽ°üÀ¨AmazonµÄAKI¡¢ARIÒÔ¼°AMIÐÅÏ¢£¬±ê×¼OVF¸ñʽÒÔ¼°¶þ½øÖÆ´óÐÍÊý¾Ý¡£
×î½ü¸ù¾ÝͶƱ½á¹ûÄÉÈë¡°ºËÐÄ¡±ÏîÄ¿¼¯ÍŵÄгÉÔ±ÊÇÒ»Ïî´úºÅΪ¡°Keystone¡±µÄÉí·Ý·þÎñÒÔ¼°Ò»Ì×»ùÓÚDjangoµÄÒDZí°å½Ó¿Ú£¬ºóÕߵĴúºÅΪ¡°Horizon¡±¡£±¾ÎÄÖеÄÒDZí°åʾÀýÒ²À´Ô´ÓÚÕâÒ»ÏîÄ¿¡£
³õ¿úÞ¶
³¢ÊÔ̽Ë÷OpenStack Compute×îΪºÏÊÊµÄÆðµãιýÓÚdevstack.orgÕ¾µã£¬ËüΪ¿ª·¢ÈËÔ±»òÊǸÅÄîÑéÖ¤ÕßÃÇÌṩÁËÒ»Ì׽ű¾»¯°²×°·½°¸¡£À´×Ôdocs.openstack.orgµÄOpenStackÈëÃŽ̳ÌͬÑù¾ß±¸Ò»²½²½ÏêϸµÄָʾ£¬°ïÖúÎÒÃÇÔÚUbuntu 11.10ÖÐÉ趨OpenStack Compute¡¢¾µÏñ·þÎñÒÔ¼°¶àºÏÒ»¶ÔÏó´æ´¢µÄ°²×°¡£Èç¹û´ó¼ÒÓµÓÐһ̨×Ô¼ºµÄ·þÎñÆ÷£¬²¢´òËãÀûÓÃËü¸ãһЩ¸ÅÄîÑéÖ¤¹¤×÷£¬ÄÇô µã»÷´Ë´¦ ¿ÉÒÔ»ñȡһÌ×רÃŹ©Âã»úʹÓõÄStackOps°²×°ÏµÍ³¡£ÓÐÁËËü£¬ÎÒÃÇ¿ÉÒÔͨ¹ýCD»òÕßUSB¼ÇÒä°ôÍê³ÉOpenStackµÄ°²×°¡£
¸÷λ»¹¿ÉÒÔÀûÓÃdocs.openstack.orgÉÏÌṩµÄ¶ÔÏó´æ´¢¹ÜÀíÔ±Ö¸ÄÏ»òÕßOpenStack Compute¹ÜÀíÔ±Ö¸ÄÏÖеݲװ˵Ã÷£¬ÉèÖóöÉú²ú¼¶±ðµÄOpenStack¶ÔÏó´æ´¢¼¯Èº»òÊÇOpenStack ComputeÔÆ¡£
OpenStackµÄʹÓÃ
°²×°½áÊøÖ®ºó£¬½ÓÏÂÀ´ÎÒÃǾÍÒª¿´¿´ÈçºÎÀûÓò¿·Ö°²È«¹¦ÄÜ£¬Í¨¹ýÒDZí°å½Ó¿Ú»òÊÇÃüÁîÐÐÆô¶¯OpenStack ComputeʵÀý¡£ÎÒ»¹½«Õ¹Ê¾ÃæÏò¶ÔÏó´æ´¢µÄ¡¢ÓÃÓÚͨ¹ý¿é´æ´¢±¸·Ý¾µÏñ»òÕßÊÓÆµµÄ½Ó¿Ú¡£
µÇ¼µ½ÒDZí°å½Ó¿Ú
OpenStackµÄÒDZí°åÊǰ²×°ÔÚÔËÐÐ×ÅNova API·þÎñµÄ½ÚµãÖеġ£Í¨¹ýÕâÌ×ÒDZí°å£¬´ó¼ÒÓ¦¸Ã¿ÉÒÔ¿´³öNova APIʵÀýµÄURLÓëÓÐЧÒDZí°åµÄÖ¤ÊéÒ»Ñù£¬Ò²°üÀ¨Óû§Ãû¼°ÃÜÂë¡£
Ö»ÒªÓÐÁËÓû§ÃûÓëÃÜÂ룬´ó¼Ò¿ÉÒÔÀûÓÃOpenStackÒDZí°åʵÏÖÐí¶à¹¦ÄÜ¡£Ê×ÏÈ£¬Í¨¹ýÔÆ¹ÜÀíÔ±·ÖÅ䏸ÎÒÃǵÄÓû§Ãû¼°ÃÜÂëµÇ¼µ½ÒDZí°åÖС£
µÇ¼֮ºó£¬¿ÉÒÔ¿´µ½·þÎñÆ÷ʹÓÃÁ¿Óëÿ̨·þÎñÆ÷µÄµ±Ç°×´Ì¬£¬Èçͼһ¡£
ͼһ
´ó¼ÒÒ²¿ÉÒÔµã»÷²é¿´ÄÄЩ·þÎñÆ÷´¦ÓÚÖÕֹ״̬¡£Çë×¢Ò⣬ÕâÀïµÄÕý³£ÔËÐÐʱ¼ä²¢²»»áÏÔʾÿÌ×µ¥¶À·þÎñÆ÷µÄ״̬¡£
Óû§ÒDZí°å×ó²àµÄ²Ëµ¥ÌṩµÄÊÇÎÒÃÇËùÄÜÖ´ÐеÄÒDZí°å²Ù×÷Ñ¡ÏËù·¢³öµÄÃüÁîͨ¹ýAPI´«µÝÖÁÖÕ¶Ë¡£ÏµÍ³Ãæ°å£¨Ò²¾ÍÊÇÒ³Ãæ×îÉÏ·½µÄ²Ëµ¥£©ÌṩÁíÒ»Ì×ÊÓͼ£¬Ê¹µÃ¹ÜÀíÔ±Äܹ»¼à¿ØÊ¹ÓÃ״̬¡¢¼ì²éÔÆÖÐÕýÔÚÔËÐеķþÎñ²¢¹ÜÀíÓû§¼°ÏîÄ¿µÄÅä¶î¡£
ÈçºÎÔÚÒDZí°åÖÐÆôÓÃʵÀý
ÏÖÔÚ£¬´ó¼ÒÒѾ³õ²½ÊìϤÁËÒDZí°åµÄ×ÜÌå²¼¾Ö£¬½ÓÏÂÀ´¾Í¸ÃÀûÓÃ×Ô¼ºµÄÔÆÆô¶¯Ò»Ì×еÄÐéÄâ»úϵͳ£¬Ò²¾ÍÊǾµÏñʵÀý¡£Ò»°ãÀ´Ëµ£¬ÎÒÃǵÄÔÆ¹ÜÀíÔ±Ó¦¸ÃÒѾÉÏ´«ÁËÆô¶¯Ëù±ØÐèµÄ¾µÏñ¡£Èç¹ûûÓУ¬ÎÒ½«ÔÚºóÎÄÖÐÌÖÂÛÈçºÎ´´½¨×Ô¶¨Òå¾µÏñ¡£ÒªÏëÆô¶¯¾µÏñ£¬Ê×ÏÈÕÒµ½ÒDZí°åÖеľµÏñÑ¡ÏÔÚÑ¡¶¨ËùÒªÆô¶¯µÄ¾µÏñÀàÐͺóµã»÷ÆôÓð´Å¥¡£Í¼¶þÖÐÏÔʾÁË¿ÉÓõļ¸¿îUbuntu·þÎñÆ÷¾µÏñÒÔ¼°Ò»¿îWindows¾µÏñ¡£
ͼ¶þ
Èç¹û´ó¼Òͨ¹ýµã»÷Æô¶¯°´Å¥Íê³É¾µÏñÆô¶¯¹¤×÷£¬ÄÇô½ÓÏÂÀ´½«»á¿´µ½ÈçͼÈýËùʾµÄÆô¶¯ÊµÀý´°¿Ú¡£
ͼÈý
´Ë´°¿Ú°üº¬ÁËΪ·þÎñÆ÷ÃüÃû¡¢ÔÚÆô¶¯ÖвåÈëijЩÓû§Êý¾Ý¡¢Ñ¡ÔñCPUÊýÁ¿¡¢Ó²Å̿ռäÒÔ¼°RAMÊýÁ¿µÈ¹¦ÄÜ£¬ÉèÖÃÍê³Éºóµã»÷¡°Æô¶¯ÊµÀý¡±¡£ÏÖÔÚÎÒÃÇÒѾӵÓÐÁËÒ»Ì×ÐéÄâ·þÎñÆ÷£¬ÎÞÂÛÊÇSSH»¹ÊÇÕý³£Ê¹Óö¼Ã»ÎÊÌ⣬¾ÍÏñÆÕͨµÄ·þÎñÆ÷Ò»Ñù¡£µ«Í¬Ê±ÎÒÃÇҲʡȥÁË´óÁ¿×é×°¡¢²¿Êð¡¢²¼Ïߵȳ£¹æ·þÎñÆ÷Ëù´øÀ´µÄÖî¶àÂé·³¡£
ÈçºÎʹÓÃÐéÄâ»úʵÀý
ËùνʵÀý£¬ÊÇÖ¸¾ß±¸ÌØÊâ¹æ¸ñÄÚ´æ¡¢Ó²Å̿ռäÒÔ¼°CPUµÄÐéÄâ»ú¡£ÔÚOpenStack ComputeµÄ¸¨ÖúÏ£¬ÎÒÃÇͨ¹ý¶ÔÔÆµÄµ÷Õû¼°ÆôÓ㬿ÉÒÔÈÃÓû§ÊµÏÖÆô¶¯ÊµÀý¡¢ÖØÆôʵÀýÒÔ¼°±£´æ¿ìÕÕÒÔ±¸ÈÕºóÔÙÀûÓõȹ¤×÷¡£
ͨ¹ý¹Û²ìÓû§ÒDZí°åÖеÄʵÀý£¬ÎÒÃÇÄܹ»Çå³þµØ¿´µ½×Ô¼º¸Õ¸ÕËùÆô¶¯µÄʵÀý¡£¶ÔÓÚÿ¸öʵÀý£¬ÎÒÃǶ¼ÓÐÊý¸ö²Ù×÷Ñ¡ÏÀýÈçÖÕֹʵÀý¡¢ÖØÐÂÆô¶¯¡¢±£´æ¿ìÕյȵȡª¡ªÕâЩ²Ù×÷µÄʵÏÖ¶¼ÒÀ¿¿OpenStack Compute API 1.1µÄÖ§³Ö¡£ÎÒÃÇÒ²¿ÉÒÔ´ò¿ªÒ»¸ö¿ØÖÆÌ¨´°¿Ú»òÊDz鿴ij¸ö´¦ÓÚÒDZí°åÄÚµÄʵÀýµÄÈÕÖ¾Îļþ¡£
Ϊ¾µÏñÌí¼Ó°²È«ÃÜÔ¿
°²È«¹¦ÄÜÊÇÎÒÃÇ¿ØÖÆ·¢Íù×Ô¼ºÐéÄâ»ú·ÃÎʵıØÒª±£ÕÏ£¬OpenStackͨ¹ýÁ½ÖÖÈÏÖ¤»úÖÆ¹ÜÀí¿Í»§¶Ë¹¤¾ß¡£Ò»ÖÖÊÇÒDZí°å×Ô´øµÄÓû§Ãû¼°ÃÜÂë»úÖÆ£»ÁíÒ»ÖÖÔòÊÇ¡°ÃÜÔ¿¶Ô¡±£¬ÃÜԿΪÓû§µÄʵÀýÌṩ°²È«ÑéÖ¤¡£Ö»Óе±Óû§Äܹ»Í¬Ê±Í¨¹ýÒÔÉÏÁ½ÖÖÈÏÖ¤¹ý³Ìʱ£¬²ÅÄܹ»»ñµÃÔÚOpenStackÔÆÖзÃÎÊÄ¿±êʵÀýµÄȨÏÞ¡£ÃÜÔ¿¶Ô£¨°üÀ¨¹«¹²ÃÜÔ¿¶ÔÓë˽ÓÐÃÜÔ¿¶Ô£©ÔÚÎÒÃÇÆôÓÃʵÀýʱ¿ÉÒÔ×÷Ϊ·Ç³£ÓÐÓõIJÎÊý¡£¾ÙÀýÀ´Ëµ£¬ÒªÆô¶¯Ò»Ì×ʵÀý²¢¼ÓÒÔ·ÃÎÊ£¬ÎÒÃDZØÐëÀûÓÃSSH´´½¨Ò»Ì×ÃÜÔ¿¶Ô£¬ÕâÑù¾ÍÄܹ»Ê¶±ðͨ¹ýSSH·ÃÎʸÃʵÀýµÄÓû§¡£
OpenStackÒDZí°åÈÃÎÒÃÇÄܹ»ÔÚÃÜÔ¿¶ÔÑ¡ÏîÖÐͨ¹ýµã»÷´´½¨ÐÂÃÜÔ¿¶Ô¹ÜÀíÃÜÔ¿¡£ÔÚÏÂͼµ±ÖУ¬´ó¼Ò¿ÉÒÔΪ×Ô¼ºµÄÃÜÔ¿¶ÔÃüÃû£¬È»ºóµã»÷´´½¨ÃÜÔ¿°´Å¥¡£´´½¨ÐÂÃÜÔ¿¶ÔµÄ¹ý³Ì°üÀ¨µÇ¼**«¹²ÃÜÔ¿¼°ÏÂÔØË½ÓÐÃÜÔ¿£¨Ò»¸ö.pemÎļþ£©Á½²¿·Ö¡£ÓÉÓÚÕâÒ»´´½¨¹¤×÷ÍêÈ«ÊÇΪÎÒÃǵÄʹÓ÷þÎñ£¬Òò´ËÇëÎñ±ØÏñ¶Ô´ýÆäËüSSH˽ÓÐÃÜÔ¿Ò»ÑùÍ×ÉÆ¼ÓÒÔ±£¹Ü¡£Ïê¼ûͼËÄ¡£
ͼËÄ
ÀûÓù¤¾ßΪ×Ô¶¯»¯½Å±¾Æô¶¯ÊµÀý
ÎÒÃÇ¿ÉÒÔÇáËɵØÍ¨¹ýÒDZí°åÆô¶¯ÊµÀý£¬µ«¸ü¶àʱºò´ó¼ÒÒ²ÐíÏ£ÍûÄܹ»ÀûÓÃÃüÁîÐмÓÒÔÆô¶¯£¬ÒÔʹÓÃijЩ½Å±¾¡£ÕâÀïÖ»Òª°²×°python-nova¿Í»§¶Ë£¬ÎÒÃǾÍÄÜÔÚÃüÁîÐÐÖлñµÃ¿ÉÒÔʹÓÃCompute API½Ó¿ÚµÄnova shellÃüÁî¡£°²×°¿Í»§¶Ë£¬È»ºóÌṩÓû§Ãû¼°ÃÜÂ룬ÉèÖÃÊʵ±µÄ»·¾³±äÁ¿£¬ÕâÑùÎÒÃǾÍÓµÓÐÁËÔÚÃüÁîÐÐÖÐÏòÔÆ¶Ë·¢ËÍÃüÁîµÄÄÜÁ¦¡£
°²×°python-nova¿Í»§¶Ë£¬ µã´ËÏÂÔØ ÔʼÂ룬²¢½«Æä°²×°ÓÚ´ó¼Ò³£ÓõÄpython»·¾³ÖС£
$ curl -O http://pypi.python.org/packages/source/p/python-novaclient/pythonnovaclient-2.6.3.tar.gz
$ tar -zxvf python-novaclient-2.6.3.tar.gz
$ cd python-novaclient-2.6.3
$ sudo python setup.py install
ÏÖÔÚ´ó¼ÒÒѾ°²×°ÁËpython-nova¿Í»§¶Ë£¬ÊäÈëÒÔÏÂÄÚÈÝÒÔÈ·Èϰ²×°£º
$ nova help
´Ëʱ´ó¼ÒÓ¦¸Ã¿´µ½Ò»¸önovaÃüÁîÐпͻ§¶ËµÄËùÓÐÃüÁîÓë²ÎÊýÁÐ±í¡£Í¨¹ýÉèÖû·¾³±äÁ¿ËùÐèµÄ²ÎÊý£¬ÎÒÃÇ¿ÉÒÔÔÚÃüÁîÐÐÉÏ¿ìËÙÖ´ÐÐÕâЩÃüÁΪnovaÃüÁîÌí¼Ó¨Cusername£¬»òÕß½«ÕâЩ²ÎÊýÉèΪ»·¾³±äÁ¿£º
export NOVA_USERNAME=joecool?export NOVA_API_KEY=coolword?export NOVA_PROJECT_ID=coolu
ÏîÄ¿IDÓëTenantÒ»Ñù£¬¶¼ÒÀÀµÓÚÎÒÃÇËùʹÓõÄÑéÖ¤·þÎñ¡£µ±ÔƹÜÀíÔ±ÉèÖÃOpenStackʱ£¬Ó¦¸Ã×¢ÒâΪÆä·ÖÅäÒ»¸öÀàËÆNOVA_URLÕâÑùÄܹ»ÎªnovaËù±æÊ¶µÄÑéÖ¤¶Ëµã¡£
export NOVA_URL=http://hostname:5000/v2.0?export NOVA_VERSION=1.1
ÔÚ½¨Á¢×Ô¼ºµÄÔÆÖ®Ç°£¬ÎÒÃÇÐèҪͨ¹ýÏò¾µÏñ·þÎñ²éѯÄÄЩÅäÖÃÀàÐÍ¿ÉÒÔ×àЧ£¬À´Á˽âʲôÑùµÄ¾µÏñÄܹ»±»ÕýȷʹÓ᣾µÏñ·þÎñÓеãÏñÔÆÁìÓòµÄiTunes£ºÎÒÃÇ¿ÉÒÔÔÚÀûÓÃ×Ô¼º³£ÓõľµÏñÔÚÔÆÖд´½¨ÊµÀý֮ǰ£¬ÏÈÔÚÁбíÖв鿴ÄÄЩ¾µÏñÊÊÓᣴó¼Ò¿ÉÒÔÀûÓÃÒÔÏÂÃüÁî»ñµÃ¾µÏñÐÅÏ¢ÁÐ±í£¬°üÀ¨Ãû³Æ¡¢×´Ì¬ÒÔ¼°ID£º
$ nova image-list
ÒÔÏÂÊÇ·µ»ØÐÅÏ¢µÄʾÀý£º
+----+-------------------------------------------------------+--------+
| ID | Name | Status |
+----+-------------------------------------------------------+--------+
| 1 | aki-tty | ACTIVE |
| 2 | ari-tty | ACTIVE |
| 3 | ami-tty | ACTIVE |
| 6 | CentOS_5.4_x64 | ACTIVE |
| 14 | maverick-kernel | ACTIVE |
| 15 | maverick | ACTIVE |
| 20 | ubuntu-kernel | ACTIVE |
| 21 | ubuntu-ramdisk | ACTIVE |
| 22 | ubuntu | ACTIVE |
| 24 | CentOS_5.6_x64_v5.7.14_Dev1 | ACTIVE |
+----+-------------------------------------------------------+--------+
½ÓÏÂÀ´´ó¼ÒÐèÒªÁ˽âÆäÖÐÿһÏîµÄÏà¶Ô´óС£¬ÕâÀïʹÓÃflavor-list²ÎÊý¡£
$ nova flavor-list
+----+-----------+-----------+------+----------+-------+------------+----------+
| ID | Name | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Quota | RXTX_Cap |
+----+-----------+-----------+------+----------+-------+------------+----------+
| 1 | m1.tiny | 512 | | 0 | | | |
| 2 | m1.small | 2048 | | 20 | | | |
| 3 | m1.medium | 4096 | | 40 | | | |
| 4 | m1.large | 8192 | | 80 | | | |
| 5 | m1.xlarge | 16384 | | 160 | | | |
| 89 | Boom | 2 | | 20 | | | |
+----+-----------+-----------+------+----------+-------+------------+----------+
ÎÒÃÇÒ²¿ÉÒÔʹÓÃgrepÀ´ËõС²éÕÒ½á¹ûÁÐ±í£¬¾ÙÀýÀ´Ëµ£¬Í¨¹ýÒÔÏÂÃüÁî²é¿´CentOS¾µÏñµÄÐÅÏ¢£º
$ nova image-list | grep 'CentOS'
| 6 | CentOS_5.4_x64 | ACTIVE |
| 24 | CentOS_5.6_x64_v5.7.14_Dev1 | ACTIVE |
ÔÚ·´À¡µÃ³öµÄÐÅÏ¢·½Ã棬ÎÒÃÇ¿ÉÒÔÑ¡ÔñͼÏñÓëÃèÊöÏà½áºÏµÄ·½Ê½´´½¨×Ô¼ºµÄÐéÄâ·þÎñÆ÷£¬²¢Æô¶¯ÊµÀý¡£
ÒªÆô¶¯·þÎñÆ÷£¬Ê×ÏÈÑ¡ÔñÒ»¸ö¾µÏñ£¬ÕÒ³ö¸Ã¾µÏñ¼°Ïà¹ØÃèÊöµÄID£¬²¢¶ÔÆä½øÐе÷Õû£»½ÓÏÂÀ´ÀûÓÃID´´½¨ÃüÁî¡£¸ù¾ÝÉÏÎÄËù¸ø³öµÄ×ÊÁÏ£¬ÎÒÃÇ¿ÉÒÔ¿´µ½Ubuntu Maverick¾µÏñµÄIDΪ15¡£Èç¹ûÎÒÃÇʵ¼ÊÖ»´òËã´î½¨Ò»¸ö2GByÄÚ´æ¡¢20GBÓ²Å̿ռäµÄСÐÍ·þÎñÆ÷£¬ÄÇô¿ÉÒÔÑ¡Ôñm1.small¡ª¡ªÒòΪËüËùʹÓõÄIDΪ2.½«ÕâЩ²ÎÊýÌí¼Ó½øbootÃüÁîÖУ¬ÕâÑùн¨ÐéÄâ·þÎñÆ÷µÄ¹¤×÷¾ÍÍê³ÉÁË¡£
$ nova boot --flavor=2 --image=15 testserver
+-----------+--------------------------------------+
| Property | Value |
+-----------+--------------------------------------+
| adminPass | **************** |
| created | 2011-09-01T21:40:41Z |
| flavor | m1.small |
| hostId | |
| id | 1805 |
| image | maverick |
| metadata | {} |
| name | testserver |
| progress | 0 |
| status | BUILD |
| updated | 2011-09-01T21:40:41Z |
| uuid | ce044452-f22e-4ea4-a3ec-d1cde80cf996 |
+-----------+--------------------------------------+
ÏÖÔÚ£¬´ó¼ÒʹÓÃnova listÃüÁî¼´¿É²é¿´×Ô¼ºÔÚÔÆÖÐËù²¿ÊðµÄзþÎñÆ÷£º
$ nova list
+------+------------+--------+--------------------------------+
| ID | Name | Status | Networks |
+------+------------+--------+--------------------------------+
| 1805 | testserver | ACTIVE | private=10.4.96.81 |
+------+------------+--------+--------------------------------+
״̬ѡÏî¹²ÓÐÈýÖÖ£¬·Ö±ðÊÇ£ºACTIVE£¨»îÔ¾£©, BUILDING£¨´´½¨ÖУ©ÒÔ¼° UNKNOWN£¨Î´Öª£©¡£BUILDING״̬һ°ãÊÇÔÝʱÐԵģ¬Òò´Ë´ó¼ÒºÜ¿ÉÄÜÔÚ×Ô¼º²Ù×÷µÄʱºò²»»áÓöµ½¡£Èç¹û³öÏÖUNKNOWN״̬£¬²»·Á·´¸´ÔËÐÐnova listÃüÁֱµ½¸Ã״̬Ïûʧ¡£
Òª²é¿´Ìض¨·þÎñÆ÷µÄÈ«²¿ÐÅÏ¢£¬Ê¹ÓÃnova showÃüÁî¼ÓÉÏÎÒÃÇ´Ónova listÃüÁîÖлñµÃµÄ·þÎñÆ÷ID¡£
$ nova show 1805
+-----------------+----------------------------------------------------------+
| Property | Value |
+-----------------+----------------------------------------------------------+
| created | 2011-09-01T21:40:41Z |
| flavor | m1.small |
| hostId | 58a7430169aa42cde5ce2456b0cb5bb5ac1ab0703bab6420e8a49e6e |
| id | 1805 |
| image | maverick |
| metadata | {} |
| name | testserver |
| private network | 10.4.96.81 |
| progress | 100 |
| status | ACTIVE |
| updated | 2011-09-01T21:40:46Z |
| uuid | ce044452-f22e-4ea4-a3ec-d1cde80cf996 |
+-----------------+----------------------------------------------------------+
ͨ¹ýÒÔÉϼ¸ÏînovaÃüÁîµÄ»ù±¾ÑÝÁ·£¬ÏÖÔÚ´ó¼ÒÒѾÔÚ½¨Á¢×ÔÓÐÔÆµÄµÀ·ÉÏÂõ³öÁ˵ÚÒ»²½£¡
´´½¨×Ô¶¨Òå¾µÏñ£¬²¢´ò°üÉÏ´«ÖÁOpenStack
³É¹¦´ÓÁбíÖв鿴µ±Ç°¿ÉÓõľµÏñÖ®ºó£¬´ó¼Ò¿ÉÄÜ»¹Ï£ÍûÌí¼Ó·ûºÏ×Ô¼ºÐèÒªµÄ¾µÏñ¡£Òª´´½¨×Ô¶¨Òå¾µÏñ£¬Ê×ÒªÒª´ÓISOÎļþ¿ªÊ¼¡£CentOS¡¢Debian¡¢Fedora»òÕßUbuntu£¬Ö»ÒªºÏÓ㬶¼¿ÉÒÔÏÂÔØ¶ÔÓ¦µÄISOÎļþ¡£ µã»÷´Ë´¦ »ñÈ¡ÊʺϳõѧÕߵijõʼ¾µÏñ¡£ÔÚÕâÀï»ñÈ¡µÄ¶¼ÊÇ.tar¼°.gzÎļþ£¬ÆäÖаüº¬ÐéÄâ»ú¾µÏñ£¨*.img£©£¬Ò»Ì×Xen¼æÈÝÄÚºË/ÐéÄâ´ÅÅÌ£¨ºóÕßÓÉxen-ÄÚºË/vmlinuz*Óëxen-ÄÚºË/initrd*Á½²¿·Ö¹¹³É£©ÒÔ¼°Ò»Ì×KVM¼æÈÝÄÚºË/ÐéÄâ´ÅÅÌ£¨ºóÕßÓÉkvm-ÄÚºË/vmlinuz*Óëkvm-ÄÚºË/initrd*Á½²¿·Ö¹¹³É£©¡£´ó¼Ò¿ÉÒÔͨ¹ýÃüÁîÐлòÕßʹÓÃVirtualBoxÒÔ¼°kvmÖ®ÀàµÄÐéÄ⻯ƽ̨´òÔì×Ô¶¨Òå¾µÏñ¡£´´½¨Ò»¸ö.vdi¾µÏñ£¬ÔÙÀûÓÃquemu-utilsÖеÄquemu-img¹¤¾ß½«Æäת»»Îª¿ÉÓøñʽ¡£
´ó¼Ò¿ÉÄÜ»¹Ï£ÍûÈþµÏñ±äµÃ¸ü´ó£¬ÏòÆäÖÐÌí¼ÓÀàËÆLinux±ê×¼»ù´¡ÕâÑùµÄÈí¼þ°ü£¬ÒÔʹÆä¸üÊʺÏÈÕ³£¹¤×÷ÖеÄʵ¼ÊÓ¦Óá£Ò»µ©ÔÚVirtualBox»òÕ߯äËüÈÎºÎÆ½Ì¨ÉÏÍê³ÉÁË×Ô¶¨Ò幤×÷£¬½«×îÖÕÎļþ¿½±´µ½°²×°ÁËeuca2oolsµÄLinux¼ÆËã»úÖС£ÔÚÎÄÕµÄÏÂÒ»½ÚÖУ¬ÎÒ½«Ïò´ó¼Ò½éÉÜÈçºÎ½«×Ô¼ºµÄ×Ô¶¨Òå¾µÏñͨ¹ýÃüÁîÐÐÖеÄeuca-ÃüÁîµ¼ÈëOpenStackÔÆÖС£
ÈçºÎ½«Ð¾µÏñµ¼ÈëOpenStack¾µÏñ·þÎñ£¨Glance£©
µ±Ò»Ì××Ô¶¨ÒåÐéÄâ»ú¾µÏñ´´½¨Íê³É£¬ÎÒÃÇ¿ÉÒÔ½«´ÅÅ̾µÏñÊý¾Ý¼°¾µÏñÔªÊý¾Ý´æ´¢ÔÚ¾µÏñ·þÎñÖС£
ÕâÀïʹÓÃEucalyptus¹¤¾ß¼¯Ò²ÊǸö²»´íµÄÑ¡Ôñ£¬¸Ã¹¤¾ß¼¯ÊÇÒ»¿î×÷ÓÃÓÚÔÆµÄ¿ªÔ´ÃüÁîÐпͻ§¶Ë£¬²¢ÇÒ¼æÈÝAmazonµÄEC2 API¡£°²×°euca2oolsÃüÁîÐй¤¾ß²¢È·±£×Ô¼ºµÄ»·¾³°üº¬ÁËEucalyptusÔËÐÐËù±ØÐèµÄÈÏÖ¤»úÖÆ¡£
ÉÏ´«Äںˣ¬²¢×¢ÒâAmazonÄں˾µÏñ£¨¼ò³ÆAKI£©£º
euca-bundle-image -i kvm-kernel/vmlinuz-2.6.28-11-generic --kernel true
euca-upload-bundle -b jbbucket -m /tmp/vmlinuz-2.6.28-11-generic.manifest.xml
euca-register jbbucket/vmlinuz-2.6.28-11-generic.manifest.xml
ÉÏ´«ÐéÄâ´ÅÅ̲¢×¢ÒâAmazonÐéÄâ´ÅÅ̾µÏñ£¨¼ò³ÆARI£©£¬ÕâÑù´ó¼Ò¾ÍÄÜ»ñµÃ°ó¶¨¾µÏñʱ±ØÐèµÄ²Î¿¼ÐÅÏ¢£º
euca-bundle-image -i kvm-kernel/initrd.img-2.6.28-11-generic --ramdisk true
euca-upload-bundle -b jbbucket -m /tmp/initrd.img-2.6.28-11-generic.manifest.xml
euca-register jbbucket/initrd.img-2.6.28-11-generic.manifest.xml
ÉÏ´«×Ô¶¨ÒåÉ豸¾µÏñ£¬Í¨¹ýÔÚ֮ǰ²½ÖèÖлñÈ¡µ½µÄÖµÖ¸¶¨Äں˼°ÐéÄâ´ÅÅÌ£º
euca-bundle-image -i centos-5.5-x86_64.img --kernel aki-XXXXXXXX --ramdisk ari-XXXXXXXX
euca-upload-bundle -b jbbucket -m /tmp/centos-5.5-x86_64.img.manifest.xml
euca-register jbbucket/centos-5.5-x86_64.img.manifest.xml
ÉÏ´«ÖÁ¾µÏñ·þÎñÆ÷µÄ¹ý³Ì¿ÉÄÜ»á³ÖÐøÒ»¶Îʱ¼ä¡ª¡ªµ«µ±ÎÒÃÇʹÓÃEucalyptusµÄ¡°describe images¡±ÃüÁîʱ£¬ÐµÄAMIÓ¦¸ÃÏÔʾÈçÏÂÄÚÈÝ¡£
euca-describe-images
IMAGE ami-reey5wk5 jbbucket/centos.5-5.x86-64.img.manifest.xml myproject available private x86_64 machine ami-f4ks8moj ami-jqxvgtmd
ÈçºÎͨ¹ýUIʹÓô洢¶ÔÏó
´ó¼Ò¿ÉÄÜÀûÓÃREST APIÀ´·ÃÎÊ×Ô¼ºÔÚOpenStackÖеĴ洢¶ÔÏ󣬵«¸ü¶àµÄʱºò£¬ÎÒÃÇֻϣÍûÄÜÓÐÒ»Ì×Á¼ºÃµÄÓû§½çÃæ£¬ÒÔ±ãͨ¹ýÍÏ×§²Ù×÷ʵÏÖÎļþ´æ´¢¡£¿ªÔ´¿Í»§¶ËCyberduck£¬°üÀ¨Mac OS X°æ±¾ÒÔ¼°Windows°æ±¾£¬¾ÍÕë¶Ô´ÓFTPµ½¶ÔÏó´æ´¢µÈһϵÁлúÖÆÌṩÁËÒ»Ì×Óû§½çÃæ¡£ÓÉÓÚËüµÄ¿ªÔ´¼°¿çÆ½Ì¨ÌØÐÔ£¬Õâ¿îÓÅÐãµÄ½çÃæÍêÈ«¿ÉÒÔ°²×°ÔÚOpenStack¶ÔÏó´æ´¢µ±ÖУ¨ÀàËÆÓÚRackspaceÔÆÎļþ£©¡£´ó¼ÒÔÚcyberduck.chÕ¾µãÏÂÔØ¼´¿É¡£ÒªÊµÏÖÆäÔÚOpenStackÖеݲװ£¬ÎÒÃÇÐèÒª±ä¸üij¸ö Òþ²ØµÄÅäÖÃÑ¡Ïî ¡£ÕâÀïÐèÒª½«URLÓÉdefault /v1.0ÐÞ¸ÄΪ/auth/v1.0¡£ÒªÔÚMac OS XÖÐÐÞ¸ÄÊÚȨURL£¬ÔòÐèÒª´ò¿ªÖÕ¶Ë´°¿Ú²¢ÊäÈ룺
Defaults defaults write ch.sudo.cyberduck cf.authentication.context /auth/v1.0
Cyberduck 3.8.1Öаüº¬Ò»¸öÓÃÓÚÔÚ´ò¿ªÄ³¸öÁ´½ÓʱѡÔñSwift£¨OpenStack¶ÔÏó´æ´¢£©µÄÏÂÀ²Ëµ¥¡£Æô¶¯Cyberduck£¬È»ºóµã»÷н¨Á¬½Ó¹¤¾ßÀ¸°´Å¥»òÕßÑ¡ÔñÎļþ>´ò¿ªÁ¬½Ó¡£
Ñ¡ÔñSwift£¨OpenStack¶ÔÏó´æ´¢£©²¢ÊäÈëÒÔÏÂÖµ£º
- Server£¨·þÎñÆ÷£©:ÊäÈëÒѰ²×°µÄSwift·þÎñÆ÷µÄURL¡£
- Port£¨¶Ë¿Ú£©:ÓÉÓÚÓû§ÊÇͨ¹ýhttp½øÐÐÁ¬½Ó£¬Òò´ËÊäÈë443.
- Username£¨Óû§Ãû£©:ÔÚðºÅºóÊäÈëÕË»§Ãû³Æ£¬È»ºóÊÇÓû§Ãû£¬ÀýÈçtest:tester¡£
- Password£¨ÃÜÂ룩:¸ù¾ÝÉÏÒ»²½Ê¹ÓõÄÕË»§Ãû³Æ¼°Óû§ÃûÊäÈë¶ÔÓ¦ÃÜÂë¡£
ͼÎåÏÔʾµÄÊÇÒ»¸öCyberduck SwiftÁ¬½ÓʵÀý¡£

ͼÎå
´ó¼ÒÔÚ×Ô¼ºµÄ¶ÔÏó´æ´¢ÏµÍ³ÖÐÍê³ÉÈÝÆ÷´´½¨Ö®ºó£¬¾Í¿ÉÒÔͨ¹ýÍÏ×§µÄ·½Ê½½«À´×Ô×ÀÃæµÄÎļþ¿½±´µ½Cyberduckµ±ÖУ¬ÈçͼÁùËùʾ¡£

ͼÁù
µ½ÕâÀÎÒÃÇÒѾ¿ÉÒÔ½«ËùÓеÄͼƬ¼°ÊÓÆµ×÷ΪÄÚÖÃÈßÓ౸·Ýµ½´ó¹æÄ£À©Õ¹´æ´¢ÏµÍ³µ±ÖС£
»ñÈ¡°ïÖú¼°ÆäËü½øÒ»²½²Ù×÷
Èç¹û´ó¼ÒÔÚ°²×°»ò²âÊÔ¹ý³ÌÖÐÓöµ½ÎÊÌ⣬»òÕßÊÇÎÞ·¨Ê¹Ä³Ð©¹¦ÄÜÕý³£¹¤×÷£¬OpenStackÉçÇøÄܹ»Ìṩ½â¾ö·½°¸¡£LaunchpadÖеġ°Answers¡±Ö÷ÌâÊÇѰÇó°ïÖúµÄÀíÏëËùÔÚ¡£
Launchpad½â´ðÖ÷ÌâÖеIJ¿·ÖÕ½ÚÂÞÁÐÈçÏ£º
- OpenStack Compute
- OpenStack ¶ÔÏó´æ´¢
- OpenStack ¾µÏñ·þÎñ
Èç¹û»¹ÓÐÆäËüÒÉÎÊ£¬¸÷λ²»·ÁÏò https://launchpad.net/~openstack ÖеÄOpenStackÓʼþÁÐ±í·¢ËÍÓʼþ£¬²¢ÔÚ Îĵµ ÖÐÁôÏÂÆÀÂÛ£¬»òÕßÔÚ #openstackµÄIRCƵµÀ ÖÐÓëÆäËû¹²Í¬ÌÖÂÛ¡£
ÔÎÄ£ºhttp://drdobbs.com/web-development/231902601?pgno=1