Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
OpenStack´ó¹æÄ£²¿ÊðÏê½â
 
  2966  次浏览      29
 2019-7-23 
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcsdn,Ö÷Òª½éÉÜÁËopenStack´ó¹æÄ£²¿ÊðÎÊÌ⣬¸÷¸ö·½°¸µÄÓÅȱµãÒÔ¼°·Ö±ðÊÊÓõij¡¾°¡£

0.ǰÑÔ

2018µÄ2ÔÂ22ÈÕ£¬OpenStack·¢²¼ÁË15¸ö°æ±¾Ocata¡£

×ß¹ýÁË7ÄêµÄ·¢Õ¹ËêÔµÄOpenStackÒѾ­³ÉΪÁËÔÆ¼ÆËãÁìÓòÖÐ×î»ðÈȵÄÏîĿ֮һ£¬²¢Öð½¥³ÉΪIaaSµÄÊÂʵ±ê×¼£¬Ë½ÓÐÔÆÏîÄ¿µÄ²¿ÊðÊ×Ñ¡¡£OpenStackÉçÇø¿ÉÄÜ×Ô¼º¶¼Ã»ÓÐÏëµ½Æä·¢Õ¹»áÈç´Ë֮ѸËÙ£¬²¿Êð¹æÄ£Èç´ËÖ®´ó£¬ÒÔÖÁÓÚ×ʼ¶Ô´ó¹æÄ£OpenStack¼¯ÈºµÄ²¿ÊðÖ§³ÖÒÔ¼°³ÖÐø¿ÉÀ©Õ¹ÐÔËÆºõ²¢Ã»Óп¼ÂÇÍ걸¡£

ÖÚËùÖÜÖª£¬OpenStackÿһ¸öÏîÄ¿¶¼»áÓÐÊý¾Ý¿âµÄ·ÃÎÊÒÔ¼°ÏûÏ¢¶ÓÁеÄʹÓ㬶øÊý¾Ý¿âºÍÏûÏ¢¶ÓÁÐÊÇÕû¸öOpenStackÀ©Õ¹µÄÆ¿¾±¡£ÓÈÆäÊÇÏûÏ¢¶ÓÁУ¬°éËæ×ż¯Èº¹æÄ£µÄÀ©Õ¹£¬ÆäÐÔÄÜϽµÊǷdz£Ã÷ÏԵġ£Í¨³£Çé¿öÏ£¬µ±¼¯Èº¹æÄ£À©Õ¹µ½200¸ö½Úµã£¬Ò»¸öÏûÏ¢¿ÉÄÜÒªÔÚÊ®¼¸Ãëºó²Å»áÏìÓ¦£¬¼¯ÈºµÄÕûÌåÐÔÄÜ´ó´óϽµ[1]£¬Ó¢¹úµçÐÅÖ÷¹ÜPeter WillisÉù³ÆÒ»¸ö¶ÀÁ¢OpenStack¼¯ÈºÖ»ÄÜ×î¶à¹ÜÀí500¸ö¼ÆËã½Úµã[2]¡£

µ±´¦Àí´ó¹æÄ£ÎÊÌâʱ£¬ÎÒÃÇ×ÔÈ»»áÏëµ½·Ö¶øÖÎÖ®²ßÂÔ£¬Æä˼ÏëÊǽ«Ò»¸ö¹æÄ£ÎªNµÄÎÊÌâ·Ö½âΪK¸ö¹æÄ£½ÏСµÄ×ÓÎÊÌ⣬ÕâЩ×ÓÎÊÌâÏ໥¶ÀÁ¢ÇÒÓëÔ­ÎÊÌâÐÔÖÊÏàͬ£¬½â¾öÁË×ÓÎÊÌâ¾ÍÄܽâ¾öÔ­ÎÊÌâ¡£ÉçÇøÌá³öµÄ¶àRegion¡¢¶àCellsÒÔ¼°CascadingµÈ·½°¸¶¼ÊÇ»ùÓÚ·Ö¶øÖÎÖ®²ßÂÔ£¬µ«ËüÃÇÓÖÓÐËùÇø±ð£¬Ö÷ÒªÌåÏÖÔÚ·ÖÖεIJã´Î²»Ò»Ñù£¬¶àRegionºÍCascading·½°¸Ë¼Ïë¶¼Êǽ«Ò»¸ö´óµÄ¼¯Èº»®·ÖΪһ¸ö¸öС¼¯Èº£¬Ã¿¸öС¼¯Èº¼¸ºõÊÇÒ»¸öÍêÕûµÄOpenStack»·¾³£¬È»ºóͨ¹ýÒ»¶¨µÄ²ßÂÔ°ÑС¼¯ÈºÍ³Ò»¹ÜÀíÆðÀ´£¬´Ó¶øÊµÏÖʹÓÃOpenStackÀ´¹ÜÀí´ó¹æÄ£µÄÊý¾ÝÖÐÐÄ¡£ÔÚGrizzly°æ±¾ÒýÈëµÄNova Cells¸ÅÄÆä˼ÏëÊǽ«²»Í¬µÄ¼ÆËã×ÊÔ´»®·ÖΪһ¸ö¸öµÄCell£¬Ã¿¸öCell¶¼Ê¹ÓöÀÁ¢µÄÏûÏ¢¶ÓÁкÍÊý¾Ý¿â·þÎñ£¬´Ó¶ø½â¾öÁËÊý¾Ý¿âºÍÏûÏ¢¶ÓÁÐµÄÆ¿¾±ÎÊÌ⣬ʵÏÖÁ˹æÄ£µÄ¿ÉÀ©Õ¹ÐÔ¡£Òź¶µÄÊÇ£¬Ä¿Ç°ÉçÇø»¹Ã»ÓÐÒ»¸ö·Ç³£ÍêÃÀµÄOpenStack´ó¹æÄ£²¿Êð·½°¸£¬ÒÔÉÏÌáµ½µÄ·½°¸¶¼´æÔÚ¸÷×ÔµÄÓŵãºÍȱµã£¬Êµ¼Ê²¿ÊðʱӦ¸ù¾ÝÎïÀí×ÊÔ´µÄ·Ö²¼Çé¿ö¡¢Óû§×ÊÔ´ÐèÇóµÈÒòËØ×ÛºÏÑ¡Ôñ¡£±¾ÎĽÓÏÂÀ´½«Ì¸Ì¸OpenStack´ó¹æÄ£²¿ÊðÎÊÌ⣬ÌÖÂÛÇ°ÃæÌáµ½µÄ¸÷¸ö·½°¸µÄÓÅȱµãÒÔ¼°·Ö±ðÊÊÓõij¡¾°¡£

1.µ¥¼¯ÈºÓÅ»¯²ßÂÔ

1.1 ʹÓöÀÁ¢µÄÊý¾Ý¿âºÍÏûÏ¢¶ÓÁÐ

Ç°ÃæÌáµ½ÏÞÖÆOpenStack¹æÄ£Ôö³¤µÄ×îÖ÷ÒªÒòËØÖ®Ò»¾ÍÊÇÓÉÓÚÊý¾Ý¿âºÍÏûÏ¢¶ÓÁеÄÐÔÄÜÆ¿¾±£¬Òò´ËÈç¹ûÄܹ»ÓÐЧ¼õÇáÊý¾Ý¿âÒÔ¼°ÏûÏ¢¶ÓÁеĸºÔØ£¬ÀíÂÛÉϾÍÄܼÌÐøÔö³¤½ÚµãÊýÁ¿¡£¸÷¸ö·þÎñʹÓöÀÁ¢µÄÊý¾Ý¿âÒÔ¼°ÏûÏ¢¶ÓÁÐÏÔÈ»Äܹ»ÓÐЧ¼õСÊý¾Ý¿âºÍÏûÏ¢¶ÓÁеĸºÔØ¡£ÔÚʵ¼ùÖз¢ÏÖ£¬ÒÔÏ·þÎñ½¨ÒéʹÓöÀÁ¢µÄÊý¾Ý¿âÒÔ¼°ÏûÏ¢¶ÓÁÐ:

Keystone: Óû§ÒÔ¼°ÆäËüAPI·þÎñµÄÈÏÖ¤¶¼±ØÐë¾­¹ýKeystone×é¼þ£¬Ã¿´ÎTokenÑéÖ¤¶¼ÐèÒª·ÃÎÊÊý¾Ý¿â£¬Ëæ×Å·þÎñµÄÔö¶àÒÔ¼°¹æÄ£µÄÔö´ó£¬Êý¾Ý¿âµÄѹÁ¦½«»áÔ½À´Ô½´ó£¬Ôì³ÉKeystoneµÄÐÔÄÜϽµ£¬ÍÏ¿åÆäËüËùÓзþÎñµÄAPIÏìÓ¦¡£Òò´ËΪKeystone×é¼þÅäÖÃרÃŵÄÊý¾Ý¿â·þÎñ£¬±£Ö¤·þÎñµÄ¸ßÐÔÄÜ¡£

Ceilometer£ºCeilometerÊÇÒ»¸ö×ÊÔ´¾ÞºÄÐÍ·þÎñ£¬ÔÚÊÕ¼¯ÏûÏ¢ºÍʼþʱ»á·¢ËÍ´óÁ¿µÄÏûÏ¢µ½¶ÓÁÐÖУ¬²¢Æµ·±Ð´ÈëÊý¾Ý¿â¡£ÎªÁ˲»Ó°ÏìÆäËü·þÎñµÄÐÔÄÜ£¬Ceilometerͨ³£¶¼´îÅäרÓеÄÊý¾Ý¿â·þÎñºÍÏûÏ¢¶ÓÁС£

Nova: OpenStack×î»îÔ¾µÄÖ÷Ìå¾ÍÊÇÐéÄâ»ú£¬¶øÐéÄâ»úµÄ¹ÜÀí¶¼ÊÇÓÉNova¸ºÔðµÄ¡£¼¸ºõËùÓжÔÐéÄâ»úµÄ²Ù×÷¶¼ÐèҪͨ¹ýÏûÏ¢¶ÓÁз¢ÆðRPCÇëÇó£¬Òò´ËNovaÊǶÓÁеĸßÉú²úÕߺ͸ßÏû·ÑÕߣ¬µ±¼¯Èº¹æÄ£´óʱ£¬ÐèҪʹÓöÀÁ¢µÄÏûÏ¢¶ÓÁÐÀ´Ö§³Åº£Á¿ÏûÏ¢µÄ¿ìËÙ´«µÝ¡£

Neutron£ºNeutron¹ÜÀíµÄ×ÊÔ´·Ç³£¶à£¬°üÀ¨ÍøÂç¡¢×ÓÍø¡¢Â·ÓÉ¡¢PortµÈ£¬Êý¾Ý¿âºÍÏûÏ¢¶ÓÁзÃÎʶ¼Ê®·ÖƵ·±£¬²¢ÇÒÊý¾ÝÁ¿»¹½Ï´ó£¬Ê¹ÓõĶÀÁ¢µÄÊý¾Ý¿â·þÎñºÍÏûÏ¢¶ÓÁмÈÄÜÌá¸ßNeutron±¾ÉíµÄ·þÎñÐÔÄÜ£¬ÓÖÄܱÜÃâÓ°ÏìÆäËü·þÎñµÄÐÔÄÜ¡£

1.2 ʹÓÃFernet Token

Ç°ÃæÌᵽÿµ±OpenStack APIÊÕµ½Óû§ÇëÇóʱ¶¼ÐèÒªÏòKeystoneÑéÖ¤¸ÃTokenÊÇ·ñÓÐЧ£¬TokenÊÇÖ±½Ó±£´æÔÚÊý¾Ý¿âÖеģ¬Ôö³¤ËÙÂʷdz£¿ì£¬Ã¿´ÎÑéÖ¤¶¼ÐèÒª²éѯÊý¾Ý¿â£¬²¢ÇÒToken²»»á×Ô¶¯ÇåÀí¶øÔ½»ýÔ½¶à£¬µ¼Ö²éѯµÄÐÔÄÜÔ½À´Ô½Âý£¬KeystoneÑéÖ¤TokenµÄÏìӦʱ¼ä»áÔ½À´Ô½³¤¡£ËùÓеÄOpenStack·þÎñ¶¼ÐèҪͨ¹ýKeystone·þÎñÍê³ÉÈÏÖ¤£¬KeystoneµÄÐÔÄÜϽµ£¬½«µ¼ÖÂÆäËüËùÓеķþÎñÐÔÄÜϽµ£¬Òò´Ë±£Ö¤Keystone·þÎñµÄ¿ìËÙÏìÓ¦ÖÁ¹ØÖØÒª¡£³ý´ËÖ®Í⣬Èç¹û²¿ÊðÁ˶àKeystone½Úµã£¬»¹ÐèÒªËùÓеĽڵãͬ²½Token£¬¿ÉÄܳöÏÖͬ²½ÑÓ³Ù¶øµ¼Ö·þÎñÒì³£¡£Îª´ËÉçÇøÔÚKilo°æ±¾ÒýÈëÁËFernet Token£¬ÓëUUID TokenÒÔ¼°PKI Token²»Í¬µÄÊÇËüÊÇ»ùÓڶԳƼÓÃܼ¼Êõ¶ÔToken¼ÓÃÜ£¬Ö»ÐèÒªÓµÓÐÏàͬ¼ÓÃܽâÃÜÎļþ£¬¾Í¿ÉÒÔ¶ÔToken½øÐÐÑéÖ¤£¬²»ÐèÒª³Ö¾Ã»¯Token£¬Ò²¾ÍÎÞÐè´æÔÚÊý¾Ý¿âÖУ¬±ÜÃâÁ˶ÔÊý¾Ý¿âµÄIO·ÃÎÊ£¬´´½¨TokenµÄËÙ¶ÈÏà¶ÔUUID TokenÒª¿ì£¬²»¹ýÑéÖ¤TokenÔòÏà¶ÔÒªÂýЩ[3]¡£Òò´ËÔÚ´ó¹æÄ£OpenStack¼¯ÈºÖн¨ÒéʹÓÃFernet Token´úÌæ´«Í³µÄToken·½°¸¡£

ÒÔÉÏÓÅ»¯²ßÂÔÄܹ»Ò»¶¨³Ì¶ÈÉϼõÉÙÏûÏ¢¶ÓÁкÍÊý¾Ý¿âµÄ·ÃÎÊ£¬´Ó¶øÔö´ó½Úµã²¿Êð¹æÄ££¬µ«Æäʵ²¢Ã»Óиù±¾½â¾öÀ©Õ¹ÎÊÌâ£¬Ëæ×Ų¿Êð¹æÄ£µÄÔö³¤£¬×Ü»á´ïµ½Æ¿¾±£¬ÀíÂÛÉϲ»¿ÉÄÜÖ§³ÖÎÞÏÞÀ©Õ¹¡£

2.¶àRegion·½°¸

OpenStackÖ§³Ö½«¼¯Èº»®·ÖΪ²»Í¬µÄRegion£¬ËùÓеÄRegino³ýÁ˹²ÏíKeystone¡¢Horizon¡¢Swift·þÎñ£¬Ã¿¸öRegion¶¼ÊÇÒ»¸öÍêÕûµÄOpenStack»·¾³£¬Æä¼Ü¹¹ÈçÏ£º

²¿ÊðʱֻÐèÒª²¿ÊðÒ»Ì×¹«¹²µÄKeystoneºÍHorizon·þÎñ£¬ÆäËü·þÎñ°´ÕÕµ¥Region·½Ê½²¿Êð¼´¿É£¬Í¨¹ýEndpointÖ¸¶¨Region¡£Óû§ÔÚÇëÇóÈκÎ×ÊԴʱ±ØÐëÖ¸¶¨¾ßÌåµÄÇøÓò¡£²ÉÓÃÕâÖÖ·½Ê½Äܹ»°Ñ·Ö²¼ÔÚ²»Í¬µÄÇøÓòµÄ×ÊԴͳһ¹ÜÀíÆðÀ´£¬¸÷¸öÇøÓòÖ®¼ä¿ÉÒÔ²ÉÈ¡²»Í¬µÄ²¿Êð¼Ü¹¹ÉõÖÁ²»Í¬µÄ°æ±¾¡£ÆäÓŵãÈçÏ£º

²¿Êð¼òµ¥£¬Ã¿¸öÇøÓò²¿Ê𼸺õ²»ÐèÒª¶îÍâµÄÅäÖ㬲¢ÇÒÇøÓòºÜÈÝÒ×ʵÏÖºáÏòÀ©Õ¹¡£

¹ÊÕÏÓò¸ôÀ룬¸÷¸öÇøÓòÖ®¼ä»¥²»Ó°Ïì¡£

Áé»î×ÔÓÉ£¬¸÷¸öÇøÓò¿ÉÒÔʹÓò»Í¬µÄ¼Ü¹¹¡¢´æ´¢¡¢ÍøÂç¡£

µ«¸Ã·½°¸Ò²´æÔÚÃ÷ÏԵIJ»×㣺

¸÷¸öÇøÓòÖ®¼äÍêÈ«¸ôÀ룬±Ë´ËÖ®¼ä²»Äܹ²Ïí×ÊÔ´¡£±ÈÈçÔÚRegion A´´½¨µÄVolume£¬²»ÄܹÒÔØµ½Region BµÄÐéÄâ»úÖС£ÔÚRegion AµÄ×ÊÔ´£¬Ò²²»ÄÜ·ÖÅäµ½Region BÖУ¬¿ÉÄܳöÏÖRegion¸ºÔز»¾ùºâÎÊÌâ¡£

¸÷¸öÇøÓòÖ®¼äÍêÈ«¶ÀÁ¢£¬²»Ö§³Ö¿çÇøÓòÇ¨ÒÆ£¬ÆäÖÐÒ»¸öÇøÓò¼¯Èº·¢Éú¹ÊÕÏ£¬ÐéÄâ»ú²»ÄÜÊèÉ¢µ½ÁíÒ»¸öÇøÓò¼¯ÈºÖС£

Keystone³ÉΪ×îÖ÷ÒªµÄÐÔÄÜÆ¿¾±£¬±ØÐë±£Ö¤KeystoneµÄ¿ÉÓÃÐÔ£¬·ñÔò½«Ó°ÏìËùÓÐÇøÓòµÄ·þÎñ¡£¸ÃÎÊÌâ¿ÉÒÔͨ¹ý²¿Êð¶àKeystone½Úµã½â¾ö¡£

OpenStack¶àRegion·½°¸Í¨¹ý°ÑÒ»¸ö´óµÄ¼¯Èº»®·ÖΪ¶à¸öС¼¯ÈºÍ³Ò»¹ÜÀíÆðÀ´£¬´Ó¶øÊµÏÖÁË´ó¹æÄ£ÎïÀí×ÊÔ´µÄͳһ¹ÜÀí£¬ËüÌØ±ðÊʺϿçÊý¾ÝÖÐÐIJ¢ÇÒ·Ö²¼ÔÚ²»Í¬ÇøÓòµÄ³¡¾°£¬´Ëʱ¸ù¾ÝÇøÓòλÖû®·ÖRegion£¬±ÈÈç±±¾©ºÍÉϺ£¡£¶ø¶ÔÓÚÓû§À´Ëµ£¬»¹ÓÐÒÔϺô¦:

Óû§Äܸù¾Ý×Ô¼ºµÄλÖÃÑ¡ÔñÀë×Ô¼º×î½üµÄÇøÓò£¬´Ó¶ø¼õÉÙÍøÂçÑÓ³Ù,¼Ó¿ì·ÃÎÊËÙ¶È¡£

Óû§¿ÉÒÔÑ¡ÔñÔÚ²»Í¬µÄRegion¼äʵÏÖÒìµØÈÝÔÖ¡£µ±ÆäÖÐÒ»¸öRegion·¢ÉúÖØ´ó¹ÊÕÏʱ£¬Äܹ»¿ìËÙ°ÑÒµÎñÇ¨ÒÆµ½ÁíÒ»¸öRegionÖС£

µ«ÊÇÐèҪעÒâµÄÊÇ£¬¶àRegion±¾ÖʾÍÊÇͬʱ²¿ÊðÁ˶àÌ×OpenStack»·¾³£¬È·ÇеØËµ²¢Ã»Óнâ¾öµ¥OpenStack¼¯ÈºµÄ´ó¹æÄ£²¿ÊðÎÊÌâ¡£

3.OpenStack Cascading·½°¸ÒÔ¼°Trio2oÏîÄ¿

OpenStack Cascading·½°¸[9]ÊÇÓɹúÄÚ»ªÎªÌá³öµÄÓÃÓÚÖ§³Ö³¡¾°°üÀ¨10ÍòÖ÷»ú¡¢°ÙÍòÐé»ú¡¢¿ç¶àDCµÄͳһ¹ÜÀíµÄ´ó¹æÄ£OpenStack¼¯Èº²¿Êð¡£Ëü²ÉÈ¡µÄ²ßÂÔͬÑùÊÇ·Ö¶øÖÎÖ®£¬¼´°ÑÔ­À´Ò»¸ö´óµÄOpenStack¼¯Èº²ð·Ö³É¶à¸öС¼¯Èº£¬²¢°Ñ²ð·ÖµÄС¼¯Èº¼¶ÁªÆðÀ´Í³Ò»¹ÜÀí£¬ÆäÔ­ÀíÈçͼ£º

Ö»ÓÐ×î¶¥²ãµÄOpenStack±©Â¶±ê×¼OpenStack API¸øÓû§£¬Æä°üº¬Èô¸É¸ö×ÓOpenStack¼¯Èº¡£

µ×²ãµÄOpenStack¸ºÔðʵ¼ÊµÄ×ÊÔ´·ÖÅ䣬µ«²»±©Â¶API¸øÓû§£¬¶ø±ØÐëͨ¹ýÆäÖ®ÉϵÄOpenStackµ÷¶È¡£

Óû§ÇëÇó×ÊԴʱ£¬Ê×ÏÈÏò¶¥²ãOpenStack API·¢ÆðÇëÇ󣬶¥²ãµÄOpenStack»á»ùÓÚÒ»¶¨µÄµ÷¶È²ßÂÔÑ¡Ôñµ×²ãµÄÆäÖÐÒ»¸öOpenStack£¬±»Ñ¡ÖеĵײãOpenStack¸ºÔðʵ¼ÊµÄ×ÊÔ´·ÖÅä¡£

¸Ã·½°¸ºÅ³ÆÖ§³Ö¿ç¶à´ï100¸öDC£¬Ö§³Ö10Íò¸ö¼ÆËã½Úµã²¿Êð¹æÄ££¬ÄÜͬʱÔËÐÐ100Íò¸öÐéÄâ»ú[10]¡£µ«¸Ã·½°¸Ä¿Ç°ÈÔ´¦ÓÚ¿ª·¢ºÍ²âÊԽ׶Σ¬ÉÐÎÞ¹«¿ªµÄʵ¼Ê²¿Êð°¸Àý¡£Ä¿Ç°¸Ã·½°¸ÒѾ­·ÖÀë³öÁ½¸ö¶ÀÁ¢µÄbig-tentÏîÄ¿£¬Ò»¸öÊÇTricircle£¬×¨ÃŸºÔðÍøÂçÏà¹ØÒÔ¼°¶Ô½ÓNeutron£¬ÁíÒ»¸öÏîÄ¿ÊÇTrio2o£¬Îª¶àRegion OpenStack¼¯ÈºÌṩͳһµÄAPIÍø¹Ø¡£

4.Nova Cells·½°¸

Ç°ÃæÌáµ½µÄOpenStack¶àRegion·½°¸ÊÇ»ùÓÚOpenStack»·¾³Çз֣¬Ëü¶ÔÓû§¿É¼û¶ø·Ç͸Ã÷µÄ£¬²¢ÇÒµ¥¼¯ÈºÒÀÈ»²»¾ß±¸Ö§³Å´ó¹æÄ£µÄÄÜÁ¦ºÍºáÏòÀ©Õ¹ÄÜÁ¦¡£¶øNova Cells·½°¸ÊÇÕë¶Ô·þÎñ¼¶±ð»®·ÖµÄ£¬Æä×îÖÕÄ¿±êÊÇʵÏÖµ¥¼¯ÈºÖ§³Å´ó¹æÄ£²¿ÊðÄÜÁ¦ºÍ¾ß±¸Áé»îµÄÀ©Õ¹ÄÜÁ¦¡£Nova Cells·½°¸ÊÇÉçÇøÖ§³ÖµÄ·½°¸£¬Òò´Ë±¾ÎĽ«Öصã½éÉÜ£¬²¢ÇÒ»á×ܽáÏÂÔÚʵ¼Ê²¿ÊðÖÐÓöµ½µÄÎÊÌâ¡£

4.1 Nova Cells¼Ü¹¹ºÍÔ­Àí½éÉÜ

Nova CellsÄ£¿éÊÇOpenStackÔÚG°æ±¾ÖÐÒýÈëµÄ£¬Æä²ßÂÔÊǽ«²»Í¬µÄ¼ÆËã×ÊÔ´»®·Ö³ÉÒ»¸ö¸öCell£¬²¢ÒÔÊ÷µÄÐÎʽ×éÖ¯£¬ÈçͼËùʾ£º

ͼ2 Nova Cell¼Ü¹¹

´ÓͼÖп´³ö£¬CellsµÄ½á¹¹ÊÇÊ÷Ðεģ¬Ò»¸öCell¿ÉÄܰüº¬Èô¸É×ÓCell£¬ÒÔ´ËÖð¼¶ÏòÏÂÀ©Õ¹¡£Ã¿¸öCell¶¼ÓÐ×Ô¼º¶ÀÁ¢µÄÏûÏ¢¶ÓÁкÍÊý¾Ý¿â£¬´Ó¶ø½â¾öÁËÏûÏ¢¶ÓÁкÍÊý¾Ý¿âµÄÐÔÄÜÆ¿¾±ÎÊÌ⣬CellÓëCellÖ®¼äÖ÷Ҫͨ¹ýNova-Cells¸ºÔðͨÐÅ£¬Ò»²ãÒ»²ãͨ¹ýÏûÏ¢¶ÓÁд«µÝÏûÏ¢£¬Ã¿¸öCell¶¼ÐèÒªÖªµÀÆäParent CellÒÔ¼°ËùÓк¢×ÓCellsµÄÏûÏ¢¶ÓÁеØÖ·£¬ÕâЩÐÅÏ¢¿ÉÒÔ±£´æµ½¸ÃCellµÄÊý¾Ý¿âÖУ¬Ò²¿ÉÒÔͨ¹ýjsonÎļþÖ¸¶¨:

{
"parent": {
"name": "parent",
"api_url": "http://api.example.com:8774",
"transport_url": "rabbit://rabbit.example.com",
"weight_offset": 0.0,
"weight_scale": 1.0,
"is_parent": true
},
"cell1": {
"name": "cell1",
"api_url": "http://api.example.com:8774",
"transport_url": "rabbit://rabbit1.example.com",
"weight_offset": 0.0,
"weight_scale": 1.0,
"is_parent": false
},
"cell2": {
"name": "cell2",
"api_url": "http://api.example.com:8774",
"transport_url": "rabbit://rabbit2.example.com",
"weight_offset": 0.0,
"weight_scale": 1.0,
"is_parent": false
}
}

 

¸ù¾Ý½ÚµãËùÔÚÊ÷ÖÐλÖÃÒÔ¼°¹¦ÄÜ£¬·ÖΪÁ½ÖÖCellÀàÐÍ:

api cell£¬·ÇÒ¶×ӽڵ㣬¸ÃÀàÐ͵ÄCell²»°üº¬¼ÆËã½Úµã£¬µ«°üÀ¨ÁËһϵÁÐ×ÓCells£¬×ÓCells»á¼ÌÐøµ÷¶ÈÖ±µ½µ½´ïÒ¶×ӽڵ㣬¼´Compute VellÖС£ÆäÖÐ×î¶¥²ãµÄ¸ù½Úµãͨ³£Ò²½Ð×÷Top Cell¡£

compute cell£¬Ò¶×ӽڵ㣬°üº¬Ò»ÏµÁмÆËã½Úµã¡£¸ºÔðת·¢ÇëÇ󵽯äËùÔÚµÄNova-Conductor·þÎñ¡£

×¢Òâ: ËùÓеÄNova·þÎñ¶¼Á¥ÊôÓÚij¸öCellÖУ¬ËùÓеÄCells¶¼±ØÐëÖ¸¶¨CellÀàÐÍ¡£

ÿ¸öCell½Úµã¶¼ÓдӸù½Úµãµ½¸Ã½ÚµãµÄΨһ·¾¶£¬Â·¾¶Ä¬ÈÏͨ¹ý!·Ö¸î£¬±ÈÈçroot!cell_1!cell_13£¬±íʾ´Órootµ½cell_1ÔÙµ½cell_13¡£¸ù½ÚµãµÄCellÀàÐÍÒ»¶¨ÊÇAPI¾ÍÊÇ˵Cell¶ÔÓû§ÊÇÍêȫ͸Ã÷µÄ£¬ºÍ²»Ê¹ÓÃCellʱÊÇÍêȫһÑùµÄ¡£ÆäÖÐNova-Cells·þÎñÊÇÐèÒª¶îÍⲿÊðµÄзþÎñ£¬¸Ã·þÎñÖ÷Òª¸ºÔð´´½¨ÐéÄâ»úʱ£¬´ÓËùÓеĺ¢×ÓCellÖÐÑ¡ÔñÆäÖÐÒ»¸ö×ÓCell×÷ΪÐéÄâ»úµÄCell£¬×ÓCell»á¼ÌÐøÖ´Ðе÷¶ÈÖ±µ½µ½´ïµ×²ãµÄCompute CellÖУ¬×îºóת·¢ÇëÇóµ½Ä¿±êCompute CellËùÔÚµÄNova-Conductor·þÎñÖС£Òò´Ë²ÉÓÃNova Cells·½°¸ºó£¬Novaʵ¼Ê²ÉÓõÄÊǶþ¼¶µ÷¶È²ßÂÔ£¬µÚÒ»¼¶ÓÉNova-Cells·þÎñ¸ºÔðµ÷¶ÈCell£¬µÚ¶þ¼¶ÓÉNova-Scheduler·þÎñ¸ºÔðµ÷¶È¼ÆËã½Úµã¡£

Compute Cell½Úµãµ£ÈεÄÖ°ÔðÀàËÆÓÚ·ÇCell¼Ü¹¹µÄ¿ØÖƽڵ㣬ÐèÒª²¿Êð³ýNova-API·þÎñÒÔÍâµÄËùÓÐÆäËüNova·þÎñ£¬Ã¿¸öCellÏ൱ÓÚÒ»¸öÍêÕûµÄNova»·¾³£¬ÓµÓÐ×Ô¼ºµÄNova-Conductor¡¢Nova-SchedulerµÈ·þÎñÒÔ¼°Êý¾Ý¿â·þÎñºÍÏûÏ¢¶ÓÁзþÎñ£¬²¢ÇÒ°üº¬Èô¸É¼ÆËã½Úµã£¬Ã¿¸öCellµÄ×é¼þÖ»·þÎñÓÚÆä×ÔÉíËùÔÚµÄCell£¬¶ø²»ÊÇÕû¸ö¼¯Èº£¬Òò´ËÌìÉú¾ß±¸Ö§³Åµ¥¼¯Èº´ó¹æÄ£²¿ÊðÄÜÁ¦¡£Ôö´ó¹æÄ£Ê±£¬Ö»ÐèÒªÏàÓ¦Ôö¼ÓCell¼´¿É£¬Òò´Ë¾ßÓзdz£Áé»îµÄ¿ÉÀ©Õ¹ÄÜÁ¦¡£

×ÓCellµÄÐéÄâ»úÐÅÏ¢»áÖð²ãÏòÉÏͬ²½¸´ÖƵ½Æä¸¸CellÖУ¬Top CellÖаüº¬ÁËËùÓÐCellsµÄÐéÄâ»úÐÅÏ¢£¬²é¿´ÐéÄâ»úÐÅϢʱ£¬Ö»ÐèÒª´ÓTop CellÊý¾Ý¿â²éѯ¼´¿É£¬²»ÐèÒª±éÀú×ÓCellÊý¾Ý¿â¡£¶ÔÐéÄâ»ú½øÐвÙ×÷ʱ£¬Èç¹û²»Ê¹ÓÃCell£¬ÔòÖ»ÐèÒª¸ù¾ÝÆäHost×ֶΣ¬ÏòËÞÖ÷»ú·¢ËÍRPCÇëÇó¼´¿É¡£Èç¹ûʹÓÃÁËCell£¬ÔòÐèÒªÊ×ÏÈ»ñÈ¡ÐéÄâ»úµÄCellÐÅÏ¢£¬Í¨¹ýCellÐÅÏ¢²éѯÏûÏ¢¶ÓÁеØÖ·£¬È»ºóÍùÄ¿±êÏûÏ¢¶ÓÁз¢ËÍRPCÇëÇó¡£

4.2 Nova CellÉú²ú°¸Àý

Nova Cells·½°¸ºÜÔç¾ÍÒѾ­´æÔÚһЩÉú²ú°¸ÀýÁË£¬ÆäÖÐCERN(Å·ÖÞÔ­×ÓÄÜÑо¿ÖÐÐÄ)OpenStack¼¯Èº¿ÉÄÜÊÇĿǰ¹«¿ªµÄ¹æÄ£×î´óµÄOpenStack²¿Êð¼¯Èº£¬½ØÖÁ2016Äê2Ô²¿Êð¹æÄ£ÈçÏÂ[7]£º

µ¥Region£¬33¸öCell¡£

2¸öCeph¼¯Èº¡£

~5500¸ö¼ÆËã½Úµã£¬5300KVMºÍ200Hyper-V£¬×ܰüº¬140k Cores¡£

³¬¹ý17000¸öÐéÄâ»ú¡£

~2800¸ö¾µÏñ£¬Õ¼44TB´æ´¢¿Õ¼ä¡£

~2000¸öVolumes£¬ÒÑ·ÖÅä800TB¡£

~2200¸ö×¢²áÓû§£¬³¬¹ý2500¸ö×â»§¡£

ÆäNova²¿Êð¼Ü¹¹ÈçÏÂͼ:

ͼ3 CERN OpenStack¼¯ÈºNova¼Ü¹¹

ÌìºÓ¶þºÅÊǹúÄÚǧ¼¶¹æÄ£µÄµäÐͰ¸ÀýÖ®Ò»£¬ÓÚ2014Äê³õ¾ÍÒѾ­ÔÚ¹ú¼Ò³¬Ëã¹ãÖÝÖÐÐIJ¢¶ÔÍâÌṩ·þÎñ,Æä²¿Êð¹æÄ£ÈçÏÂ[5]:

µ¥Region£¬8¸öCell¡£

ÿ¸öCell°üº¬2¸ö¿ØÖƽڵãºÍ126¸ö¼ÆËã½Úµã¡£

×ܹæÄ£1152¸öÎïÀí½Úµã¡£

Ò»´ÎÄÜ´´½¨´óÔ¼5000¸ö×óÓÒÐéÄâ»ú¡£

ÿÃë¿É²éѯԼ1000¸öÐéÄâ»úÐÅÏ¢¡£

³ýÁËÒÔÉÏÁ½¸ö¾­µä°¸ÀýÍ⣬Rackspace¡¢NeCTAR¡¢Godaddy[6]¡¢PaypalµÈÒ²ÊDzÉÓÃÁËNova Cells·½°¸Ö§³Öǧ¼¶¹æÄ£µÄOpenStack¼¯Èº²¿Êð¡£ÕâЩÉú²ú°¸Àýʵ¼ùÖ¤Ã÷ÁËʹÓÃNova CellsÖ§³Ö´ó¹æÄ£OpenStack¼¯ÈºµÄ¿ÉÄÜÐÔ¡£

4.3 Nova CellsÓöµ½µÄ¿Ó

¸Õ¸Õ½éÉÜÁ˲»ÉÙNova CellsµÄ³É¹¦Éú²ú°¸Àý£¬ÈÃÈ˲»½û¡°´À´ÀÓû¶¯¡±£¬ÏëҪСÊÔÅ£µ¶¡£Ð¡±àÒѾ­¼Ü²»×¡ÓÕ»ó£¬ÓÚÊÇרÃÅÉêÇëÁË23̨ÎïÀí·þÎñÆ÷×÷ΪNova Cells²âÊÔ»·¾³Ê¹Óã¬Êµ¼Ê²¿Êðʱ°üº¬3¸öCells£¬Ã¿¸öCell°üº¬7̨ÎïÀí·þÎñÆ÷£¬ÆäÖÐ1̨¿ØÖƽڵ㣬һ̨Ceph All-in-one½Úµã£¬Ê£ÓàΪ5¸ö¼ÆËã½Úµã¡£ÁíÍâ¶àÓàµÄÁ½Ì¨·Ö±ð×÷ΪTop CellµÄ¿ØÖƽڵãºÍÍøÂç½Úµã¡£²¿ÊðµÄOpenStack°æ±¾ÎªMitaka£¬Ê¹ÓÃÉçÇøÔ­Éú´úÂë¡£ÔÚ²¿Êð¹ý³ÌÖÐÓöµ½ÁË´ó´óСС²»ÉÙ¿Ó£¬ÓÐЩÊÇÅäÖÃÎÊÌ⣬ÓÐЩÊÇCells±¾ÉíµÄÎÊÌâ¡£

1. ÐéÄâ»úÓÀ¾Ã¶ÂÈûÔÚscheduling״̬

ÎÒÃÇÖªµÀ£¬Ã¿¸öCell¶¼Ê¹ÓÃ×Ô¼ºµÄ¶ÀÁ¢Êý¾Ý¿â£¬Òò´ËÅäÖÃNovaµÄÊý¾Ý¿âʱ£¬ÏÔÈ»ÐèÒªÅäÖÃÆäËùÔÚCellµÄÊý¾Ý¿âµØÖ·¡£¶ø´ÓMitaka°æ±¾¿ªÊ¼ÒѾ­°ÑһЩ¹«¹²µÄÊý¾Ý´ÓnovaÊý¾Ý¿âµ¥¶À·ÖÀë³öÀ´Ò»¸öÊý¾Ý¿ânova_api£¨Ô­ÒòºóÃæËµÃ÷£©¡£´´½¨ÐéÄâ»úʱNova-API²»»á°Ñ³õʼ»¯Êý¾ÝÖ±½Ó±£´æµ½novaÊý¾Ý¿âµÄinstances±íÖУ¬¶øÊDZ£´æµ½nova_apiÊý¾Ý¿âµÄbuild_requests±í£¬´ËʱÐéÄâ»ú״̬Ϊscheduling¡£Nova API»ñÈ¡ÐéÄâ»úÐÅϢʱ»áÊ×ÏȲéѯnova_apiµÄbuild_requests±í£¬Èç¹û´æÔڼǼ£¬ÔòÖ±½Ó·µ»ØÐéÄâ»úÐÅÏ¢¡£Õý³£Á÷³ÌÏ£¬µ±Ö´ÐÐÍêµ÷¶Èºó£¬Nova-Conductor»á×Ô¶¯É¾³ýbuild_requestsµÄÐéÄâ»úÐÅÏ¢¡£µ«ÊÇÔÚÅäÖöàCellÇé¿öÏ£¬Èç¹ûnova_apiÒ²ÊÇÅäÖÃÆäËùÔÚCellµÄÊý¾Ý¿âµØÖ·£¬µ±µ÷¶Èµ½Compute CellÖÐʱ£¬Compute CellÊý¾Ý¿âµÄbuild_requestsÏÔÈ»ÕÒ²»µ½¸ÃÐéÄâ»úµÄÐÅÏ¢£¬ÒòΪʵ¼ÊÉÏÐÅÏ¢¶¼±£´æÔÚTop CellÖУ¬Òò´ËTop CellµÄbuild_requestsÖеÄÐéÄâ»úÐÅÏ¢½«ÓÀÔ¶²»»á±»É¾³ý¡£´ËʱÎÒÃÇʹÓÃnova list²é¿´µÄÐéÄâ»úÐÅÏ¢ÊÇ´Óbuild_requestsÄõ½µÄ¹ýʱÊý¾Ý£¬Òò´ËÎÒÃDz鿴ÐéÄâ»ú״̬ÓÀ¾Ã¶ÂÈûÔÚscheduling״̬¡£½â¾ö°ì·¨ÊÇËùÓÐCellµÄnova_apiÊý¾Ý¿â¶¼ÅäÖÃʹÓÃͬһ¸öÊý¾Ý¿â£¬nova_apiÊý¾Ý¿â±¾À´¾ÍÊÇÉè¼ÆÎª±£´æ¹«¹²Êý¾ÝµÄ£¬ÎªËùÓеÄCellËù¹²Ïí¡£

2. ·ÖÅäÍøÂçʧ°Üµ¼Ö´´½¨ÐéÄâ»úʧ°Ü

½â¾öÁËÉÏÒ»¸öÎÊÌâºó£¬·¢ÏÖÈÔÈ»´´½¨ÐéÄâ»úʧ°Ü£¬ÐéÄâ»úÒ»Ö±¶ÂÈûÔÚspawning״ֱ̬µ½±ä³Éerror״̬£¬ÔÚ¼ÆËã½Úµãµ÷ÓÃvirsh listÃüÁî·¢ÏÖÆäʵÐéÄâ»úÒѾ­´´½¨³É¹¦£¬Ö»ÊÇ״̬Ϊpause¡£Nova-ComputeÏÖ³¡ÈÕÖ¾ÈçÏÂ:

2016-12-30 00:56:43.078 84245 ERROR nova.compute.manager [req-c2854f9b-9b00-45da-a2dd-561a3194c45d a8bfa47e180c41089e4232e76b16ac04 42e34b92273249ff9be85ef3d4fd38b8 - - -] [instance: 6a7377f5-86ac-4767-9110-29085de44e00] Failed to allocate network(s)
2016-12-30 00:56:43.078 84245 ERROR nova.compute.manager [instance: 6a7377f5-86ac-4767-9110-29085de44e00] Traceback (most recent call last):
2016-12-30 00:56:43.078 84245 ERROR nova.compute.manager [instance: 6a7377f5-86ac-4767-9110-29085de44e00] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1920, in _build_and_run_instance
2016-12-30 00:56:43.078 84245 ERROR nova.compute.manager [instance: 6a7377f5-86ac-4767-9110-29085de44e00] block_device_info=block_device_info)
2016-12-30 00:56:43.078 84245 ERROR nova.compute.manager [instance: 6a7377f5-86ac-4767-9110-29085de44e00] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 2596, in spawn
2016-12-30 00:56:43.078 84245 ERROR nova.compute.manager [instance: 6a7377f5-86ac-4767-9110-29085de44e00] post_xml_callback=gen_confdrive)
2016-12-30 00:56:43.078 84245 ERROR nova.compute.manager [instance: 6a7377f5-86ac-4767-9110-29085de44e00] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4858, in _create_domain_and_network
2016-12-30 00:56:43.078 84245 ERROR nova.compute.manager [instance: 6a7377f5-86ac-4767-9110-29085de44e00] raise exception.VirtualInterfaceCreateException()

 

ͨ¹ýÔ´Âë·¢ÏÖ£¬Õý³£Á÷³ÌÏ£¬´´½¨ÐéÄâ»úʱ£¬NeutronÍê³ÉÐéÄâÍø¿¨³õʼ»¯ºó»áͨ¹ýNotification»úÖÆ·¢ËÍ֪ͨµ½ÏûÏ¢¶ÓÁÐÖУ¬Libvirt»áĬÈÏÒ»Ö±µÈ´ýNeutronÐéÄâÍø¿¨³õʼ»¯³É¹¦µÄʼþ֪ͨ¡£ÔÚ¶àCell»·¾³Ï£¬ÒòΪCellÖ»ÊÇNovaµÄ¸ÅÄÆäËü·þÎñ²¢²»ÄܸÐÖªCellµÄ´æÔÚ£¬¶øNovaµÄCellʹÓÃÁË×Ô¼ºµÄÏûÏ¢¶ÓÁУ¬Neutron·þÎñ·¢ÍùµÄÊǹ«¹²ÏûÏ¢¶ÓÁУ¬Òò´ËNova-Compute½«ÓÀÔ¶ÊÕ²»µ½Í¨Öª£¬µ¼Öµȴýʼþ±ØÈ»³¬Ê±£¬NovaÎóÈÏΪ´´½¨ÐéÄâÍø¿¨Ê§°ÜÁË£¬Òò´Ë´´½¨ÐéÄâ»úʧ°Ü¡£GoddayºÍCERNͬÑùÓöµ½ÁËÏàͬµÄÎÊÌ⣬½â¾ö°ì·¨ÎªÉèÖÃvif_plugging_is_fatalΪfalse£¬±íʾºöÂÔNeutronÏûÏ¢µÈ´ý³¬Ê±ÎÊÌ⣬¼ÌÐøÖ´ÐкóÐø²½Öè¡£ÁíÍâÐèÒªÉèÖõȴýµÄ³¬Ê±Ê±¼ävif_plugging_timeout£¬ÒòΪÎÒÃÇÒѾ­È·¶¨¿Ï¶¨»á³¬Ê±£¬Òò´ËÉèÖÃÒ»¸ö½Ï¶ÌµÄʱ¼ä£¬±ÜÃâ´´½¨ÐéÄâ»úµÈ´ý¹ý³¤£¬GoddayÉèÖÃΪ5Ã룬¿ÉÒÔ×÷Ϊ²Î¿¼¡£

3. nova show²é¿´ÐéÄâ»úµÄinstance_nameÓë¼ÆËã½Úµãʵ¼ÊÃû³Æ²»Ò»Ö¡£

ÕâÊÇÒòΪinstance_nameĬÈÏÄ£°åΪinstance-x % id£¬ÆäÖÐidΪÐéÄâ»úÔÚÊý¾Ý¿âÖеÄÖ÷¼üid(×¢Òâ²»ÊÇUUID)£¬ËüÊÇ×ÔÔö³¤µÄ¡£±ÈÈçidΪ63£¬×ª»¯ÎªÊ®Áù½øÖÆÎª3f£¬Òò´Ëinstance_nameΪinstance-0000003f¡£ÔÚ¶àCellÇé¿öÏ£¬Top Cell±£´æÁËËùÓеÄÐéÄâ»úÐÅÏ¢£¬¶ø×ÓCellÖ»±£´æÁËÆä¹ÜÀíCellµÄÐéÄâ»úÐÅÏ¢£¬±£´æµÄÐéÄâ»úÊýÁ¿±ØÈ»²»ÏàµÈ£¬Òò´ËͬһÐéÄâ»ú±£´æÔÚTop CellºÍ×ÓCellµÄID±ØÈ»²»Ïàͬ¡£¶øÎÒÃÇʹÓÃNova API»ñÈ¡ÐéÄâ»úÐÅÏ¢ÊÇ´ÓTop CellÖлñÈ¡µÄ£¬Òò´ËºÍÐéÄâ»úËùÔÚµÄCompute CellÖеÄinstance_name²»Ò»Ö¡£½â¾ö°ì·¨ÎªÐÞ¸Äinstance_name_templateÖµ£¬Ê¹Æä²»ÒÀÀµÓÚidÖµ£¬ÎÒÃÇÉèÖÃΪÐéÄâ»úUUID¡£

4.ºó¶Ë´æ´¢ÎÊÌâ

µ±²¿ÊðС¹æÄ£OpenStack¼¯ÈºÊ±£¬ÎÒÃÇͨ³£¶¼»áʹÓÃCeph·Ö²¼Ê½¹²Ïí´æ´¢×÷ΪOpenstackµÄ´æ´¢ºó¶Ë£¬´ËʱGlance¡¢NovaºÍCinderÊǹ²Ïí´æ´¢ÏµÍ³µÄ£¬ÕâÄܳä·ÖÀûÓÃRBD imageµÄCOW(Copy On Write)ÌØÐÔ£¬±ÜÃâÁ˾µÏñÎļþµÄÔ¶³Ì¿½±´£¬¼Ó¿ìÁË´´½¨ÐéÄâ»úºÍÐéÄâ¿éÉ豸µÄËÙ¶È¡£µ«µ±¹æÄ£ºÜ´óʱ£¬ËùÓеĽڵ㹲ÏíÒ»¸öCeph¼¯Èº±ØÈ»µ¼ÖÂCeph¼¯Èº¸ºÔؾ޴ó£¬IOÐÔÄÜϽµ¡£Òò´Ë¿¼ÂÇÿ¸öCellʹÓöÀÁ¢µÄCeph¼¯Èº£¬NovaºÍCinder¹²ÏíCeph¼¯Èº£¬GlanceÊÇËùÓÐCellsµÄ¹«¹²·þÎñ£¬ÐèÒªµ¥¶À²¿Êð²¢¶Ô½ÓÆäËü´æ´¢É豸¡£ÓÉÓÚGlanceºÍNova²»Êǹ²Ïí´æ´¢ÁË£¬Òò´Ë´´½¨ÐéÄâ»úʱ¾Í²»ÄÜÖ±½ÓCloneÁË£¬¶ø±ØÐëÏÈ´ÓGlanceÏÂÔØBase¾µÏñµ¼Èëµ½Ceph¼¯ÈºÖС£´´½¨ÐéÄâ»úʱ£¬Ê×ÏÈ¿´±¾µØCeph¼¯ÈºÊÇ·ñ´æÔÚbase¾µÏñ£¬´æÔڵϰֱ½ÓClone¼´¿É£¬·ñÔò´ÓÔ¶¶ËGlanceÖÐÏÂÔØµ½±¾µØ²¢µ¼Èëµ½Ceph¼¯ÈºÖУ¬Ï´δ´½¨ÐéÄâ»úʱ¾ÍÄÜÖ±½ÓCloneÁË¡£´æÔÚµÄÎÊÌâ֮һʱ£¬Ä¿Ç°RBD Image Backend²¢Ã»ÓÐʵÏÖ»º´æ¹¦ÄÜ£¬Òò´ËÐèÒª×Ô¼º¿ª·¢´Ë¹¦ÄÜ¡£ÎÊÌâÖ®¶þ£¬ÈçºÎ¹ÜÀíCellÄÚ²¿µÄCeph¾µÏñ»º´æ£¬Glance¾µÏñÒѾ­É¾³ýºó£¬Èç¹û±¾µØÒ²Ã»ÓÐÐéÄâ»úÒÀÀµ£¬Ôò¿ÉÒÔ°ÑBase¾µÏñɾ³ýÁË£¬ÕâÐèÒª¶¨Ê±ÈÎÎñÀ´ÇåÀí¡£ÎÊÌâÖ®Èý£¬´´½¨VolumeʱÈçºÎ±£Ö¤ºÍÐéÄâ»úÔÚͬһ¸öCellÖУ¬ÒòΪ²»Í¬µÄCellÊDz»Í¬µÄCeph¼¯Èº£¬¹ÒÔØ¾Í»áÓÐÎÊÌ⣬ÆäÖÐÒ»¸ö¿ÉÑ¡·½°¸ÊÇͨ¹ýAvailable Zone(AZ)À´ÏÞÖÆ£¬´ËʱÓû§ÔÚ´´½¨ÐéÄâ»úºÍVolumeʱ¶¼±ØÐëÖ¸¶¨AZ£¬µ±Óû§ÐèÒª¹ÒÔØVolumeµ½ÆäËüCellµÄÐéÄâ»úʱ£¬±ØÐëÏÈÖ´ÐÐÇ¨ÒÆ²Ù×÷¡£

5.ºÜ¶à¹¦Äܲ»ÄÜÓÃ

ÓÉÓÚNova Cells²ÉÓöþ¼¶µ÷¶È²ßÂÔ£¬ÔÚµ÷¶ÈCellsʱ²¢²»ÄÜÄõ½ËùÓÐHypervisorµÄÐÅÏ¢£¬Òò´ËÓëÖ®Ïà¹ØµÄ¹¦Äܶ¼²»ÄÜÓûòÕß³ö´í£¬±ÈÈçÖ÷»ú¼¯ºÏ¡¢Server GroupµÈ£¬µ÷¶È¹¦ÄÜÒ²´ó´óÊÜÏÞ£¬±ÈÈçCompute Capabilities Filter¡¢Numa Topology Filter¡¢Trusted FilterµÈ£¬ÕâЩFiltersΪʲô²»ÄÜÓÃÁË£¿¼ÙÈçÖ»ÓÐCell1µÄÖ÷»úÂú×ãCompute Capabilities£¬µ«ÊÇÔÚµ÷¶ÈCellʱµ÷¶Èµ½ÁËCell2£¬ÓÉÓÚCell2ûÓзûºÏÌõ¼þµÄÖ÷»ú£¬Òò´Ë±ØÈ»»áµ÷¶Èʧ°Ü£¬µ«ÏÔÈ»ÎÒÃÇÓкϷ¨µÄËÞÖ÷»ú¡£ÁíÍ⣬Nova CellsËäÈ»¶ÔÓû§ÊÇ͸Ã÷µÄ£¬µ«Æä±¾Éí»¹ÊÇ´æÔÚ¸ôÀëµÄ£¬Ä¿Ç°²»Í¬CellsÖ®¼ä²»Ö§³ÖÐéÄâ»úÇ¨ÒÆ²Ù×÷£¬µ±Ò»¸öCell³öÏÖ¹ÊÕÏʱ£¬Ò²²»ÄÜÊèÉ¢µ½ÆäËüCellÖС£

6.ÐéÄâ»úÐÅÏ¢²»Ò»ÖÂ

ÐéÄâ»úÐÅÏ¢±»±£´æÔÚ¶à´¦£¬ËùÓеÄ×ÓCell¶¼±ØÐëͬ²½¸´ÖƵ½Top CellÖУ¬Ò»µ©Í¬²½³öÏÖÎÊÌâµ¼ÖÂÊý¾Ý²»Ò»ÖÂÐÔ£¬¾Í¿ÉÄܳöÏַdz£¼¬ÊÖµÄÎÊÌâ¡£±ÈÈçÔÚCompute CellÖеÄijһ¸öÐéÄâ»úÓÉÓÚijЩԭÒò״̬±ä³ÉERRORÁË£¬µ«Ã»ÓÐͬ²½µ½Top CellÖУ¬Óû§¿´µ½µÄ»¹ÊÇActive״̬£¬µ«ºóÐøµÄËùÓвÙ×÷¶¼»áʧ°Ü£¬ÔËάÈËÔ±±ØÐëÖðÒ»¼ì²é¸ÃÐéÄâ»ú¾­¹ýµÄËùÓÐCellµÄÊý¾Ý¿âÊý¾Ý£¬Ö±µ½Compute Cell£¬·¢ÏÖ״̬²»Ò»Ö£¬±ØÐëÊÖ¶¯ÐÞ¸ÄÊý¾Ý¿â£¬ÕâЩ²Ù×÷¶¼ÊÇÊ®·ÖΣÏյ쬱ØÐë¾ßÓзdz£ÊìÁ·µÄÊý¾Ý¿âÔËάÄÜÁ¦¡£

4.4 Nova Cells¡±ÄùÅÍÖØÉú¡±

Ç°Ãæ²Èµ½µÄ¿Ó£¬ÉçÇøÒ²·¢ÏÖÁËÕâЩÎÊÌ⣬µ«ÓÉÓÚÕâÊÇÓÉÓÚNova CellsµÄÉè¼ÆÈ±ÏÝËùµ¼Öµģ¬ÒªÐÞ¸´ÕâЩÎÊÌ⣬ֻͨ¹ýÌîÌî²¹²¹ÊDz»¿ÉÄܽâ¾öµÄ£¬ÉçÇø¶ÔÕâЩÎÊÌâµÄΨһ·´À¡¾ÍÊDz»½¨ÒéÔÚÐµĻ·¾³Éϲ¿ÊðCells·þÎñ£¬ºóÐøCellsÏà¹ØÎĵµÒ²²»»áÔÙ¸üС£Ä¿Ç°ÉçÇøÒѾ­³¹µ×·ÅÆúÁ˸÷½°¸£¬Èç½ñNova Cells¿ª·¢ÒѾ­¶³½áÁË£¬Òâζ×Ų»»áÔÙ¿ª·¢ÈκÎÐÂÌØÐÔ£¬Ò²²»»áÐÞ¸´ÓëÖ®Ïà¹ØµÄBug£¬ºóÐøµÄ¿ª·¢Ò²²»»á±£Ö¤CellsµÄ¼æÈÝÐÔ¡£

So£¬Nova CellsÒÑËÀ£¿ÖµµÃÇìÐÒµÄÊÇ£¬Nova CellsÆäʵ²¢Ã»Óг¹µ×ËÀÈ¥£¬¶øÊÇÄù˜„ÖØÉúÁË¡£´ÓL°æ¿ªÊ¼£¬ÉçÇøÈÓµôÔ­Éè¼ÆµÄͬʱ£¬Îüȡ֮ǰµÄ½Ìѵ£¬¿ªÊ¼×ÅÊÖÖØÐÂÉè¼ÆNova Cells²¢³¹µ×ÖØ¹¹´úÂ롣ΪÁËÇø·Ö£¬Ö®Ç°µÄNova CellsÃüÃûΪNova Cells v1£¬¶øÐ·½°¸ÃüÃûΪNova Cell v2¡£Nova Cells v2ΪÁ˱ÜÃâNova Cells v1µÄÎÊÌ⣬һ¿ªÊ¼¾ÍÌá³öÁ˼¸¸öÃ÷È·µÄÉè¼ÆÔ­ÔòºÍÄ¿±ê:

1.NovaÈ«ÃæÖ§³ÖNova-Cells

֮ǰNova CellsÊÇ¿ÉÑ¡°²×°µÄ£¬¿ªÆôNova Cells¹¦ÄÜ£¬±ØÐë¶îÍâ°²×°Nova-Cells·þÎñÒÔ¼°¶îÍâÅäÖã¬Óû§¶ÔÕâ¸ö¹¦ÄܵÄÁ˽âºÍ¹Ø×¢³Ì¶È¶¼ÊDZȽϵ͵쬶ø²ÎÓ뿪·¢ÕâÒ»¹¦ÄܵĿª·¢ÕßÒ²ºÜÉÙ[1]£¬µ¼ÖÂCellsµÄ¿ª·¢Á¦¶È²»¹»£¬²¿ÊðÂʵͣ¬³ÉÊì¶ÈµÍ¡£¶ø¶ÔÓÚv2°æ±¾£¬Nova¿ªÊ¼È«ÃæÖ§³Ö£¬·ÏÆúÔ­À´µÄNova-Cells·þÎñ£¬²»ÐèÒª¶îÍⲿÊðÆäËüÈκηþÎñ£¬¼õÉÙÁ˲¿ÊðµÄ¸´ÔÓ¶È£¬Ò²ÈÝÒ×´ÓÔ­À´µÄ·ÇCells¼Ü¹¹ÖÐÉý¼¶ÎªCells¼Ü¹¹¡£ÔÚN°æÖ®ºó£¬Nova Cells½«³ÉΪ±ØÐ벿Êð·½Ê½£¬Ï൱ÓÚNovaµÄÄÚÖù¦ÄÜ£¬¶ø²»ÔÙÊÇ¿ÉÑ¡¹¦ÄÜ£¬Õâ´ó´óÔö¼ÓÁËÓû§ºÍ¿ª·¢ÕߵĹØ×¢¶È¡£

2.·ÖÀ빫¹²Êý¾Ý£¬Ö»´æ·ÅÒ»´¦

ΪÁ˽â¾ö֮ǰµÄÊý¾ÝÒ»ÖÂÐÔÎÊÌ⣬ÔÚv2°æ±¾ÖУ¬´ÓM°æ¿ªÊ¼°Ñ¹«¹²Êý¾Ý´ÓÔ­À´µÄnovaÊý¾Ý¿âÖзÖÀë³öÀ´£¬·ÅÔÚµ¥¶ÀµÄnova_apiÊý¾Ý¿âÖУ¬ÕâЩ¹«¹²Êý¾Ý°üÀ¨:

flavors£»

quotas£»

security group¡¢rules£»

key pairs£»

tags£»

migrations£»

networks¡£

´Ë·½°¸½â¾öÁ˹«¹²Êý¾ÝµÄ²»Ò»ÖÂÐÔÎÊÌâ¡£ÁíÍ⣬Top CellÒ²²»ÔÙ±£´æÐéÄâ»úÐÅÏ¢ÁË£¬¶ø½ö½ö±£´æÆäUUIDÓëCellÖ®¼äÓ³Éä±í£¬ÐéÄâ»úÐÅÏ¢Ö»±£´æÔÚÆäËùÔÚµÄCellÖУ¬Top CellÓëCompute CellÖ®¼ä²»ÔÙÐèÒª¸´ÖÆÍ¬²½¡£ÓÉÓÚÍêÕûÊý¾ÝÖ»´æ·ÅÒ»´¦£¬²»´æÔÚÊý¾Ý²»Ò»ÖÂÎÊÌ⣬Äõ½µÄÊý¾Ý±£Ö¤ÊÇÕýÈ·µÄ¡£

3.Ö§³ÖNovaµÄËùÓй¦ÄÜ

Ç°ÃæÌáµ½v1°æ±¾´æÔÚ¹¦ÄÜÏÞÖÆ£¬³ý´ËÖ®Í⣬¶ÔNeutronµÄÖ§³ÖҲȱ·¦²âÊÔºÍÑéÖ¤¡£¶øÔÚv2Éè¼ÆÄ¿±êÖÐÇ¿µ÷½«Ö§³ÖËùÓй¦ÄÜ£¬ÎÞÈκι¦ÄÜÏÞÖÆ£¬²¢ÇÒÈ«ÃæÖ§³ÖNeutron¼¯³É£¬²»ÔÙ¿¼ÂÇNova-Network¡£

×îеÄv2½á¹¹ÒѾ­²»ÊÇÊ÷×´µÄÁË£¬¶øÇÒûÓÐÁËNova-CellsÕâ¸ö×é¼þ£¬Æä¼Ü¹¹Èçͼ£º

´Ó¼Ü¹¹Í¼ÖпÉÒÔ¿´³ö£¬Ð°汾µÄNova Cells v2²ÉÓõ¥¼¶µ÷¶È»úÖÆÌæ´úÁËÔ­À´µÄ¶þ¼¶µ÷¶È£¬ÓÉNova-Scheudler·þÎñ¸ºÔðµ÷¶ÈCell£¬Í¬Ê±¸ºÔðÑ¡ÔñCellÖеÄÖ÷»ú¡£ÁíÍ⻹Éè¼ÆÁ˸ö¶îÍâµÄCell0Ä£¿é£¬Èç¹ûÄãÔÚ½øÐÐÐéÄâ»úµ÷¶È²Ù×÷ʱ£¬µ÷¶Èµ½ÈκÎÒ»¸öCell¶¼³ö´í£¬»òÕßûÓпÉÓÃCellµÄ»°£¬ÕâÊÇϵͳ»áÏȽ«ÇëÇó·ÅÖÃÔÚCell0ÖУ¬Cell0ÖÐÖ»ÓÐÒ»¸öNova DB£¬Ã»ÓÐÏûÏ¢¶ÓÁкÍNova·þÎñ¡£

Nova Cell v2ÊÇÒ»¸ö¸ïÃüÐԵı仯£¬ÆäÉè¼ÆÄ¿±êÒѾ­·Ç³£Ã÷È·£¬Ò²ÊÇ×îÆÚ´ýµÄ·½°¸£¬µ«ÀëÍêȫʵÏÖ»¹ÓÐÒ»¶¨µÄ¾àÀ룬Ŀǰ»¹²»Ö§³Ö¶àCellsµ÷¶È£¬ºÜ¶à¹¦ÄÜÕýÔÚ½ô¼±¿ª·¢ÖУ¬Ä¿Ç°»¹²»ÄÜͶÈëÉú²úʹÓ㬲»¹ýÉçÇøºóÐø»áÍÆ³öv1Éý¼¶v2»òÕß·ÇCellת»¯ÎªCell¼Ü¹¹µÄ¹¤¾ß¡£

²»¹ýNova Cells v2Ò²´æÔÚÎÊÌ⣬ÎÒÈÏΪ£º

²éѯÐéÄâ»úÐÅϢʱ£¬ÐèÒªÊ×ÏÈÔÚTop CellÖÐÄõ½ËùÓÐÐéÄâ»úµÄË÷ÒýºÍCellÓ³É䣬ȻºóÐèÒªÍùËùÓеÄCellsÇëÇóÊý¾Ý£¬Õâ¿ÉÄܵ¼Ö²éѯÐÔÄܵÍÏ¡£

µ±Ä³¸öCell³öÏÖ¹ÊÕÏʱ£¬¾ÍÄò»µ½Õⲿ·ÖÐéÄâ»úÐÅÏ¢ÁË£¬Õâ¸öÎÊÌâ¸ÃÈçºÎ´¦Àí£¿

CellsÖ®¼äͨ¹ýÏûÏ¢¶ÓÁÐͨÐÅ£¬Èç¹û¿çDC²¿Êð£¬ÐÔÄܾͻá·Ç³£µÍÏ¡£

Èκη½°¸¶¼²»ÄÜÊÇʮȫʮÃÀµÄ£¬ËäÈ»Nova Cell v2Ò²´æÔÚÎÊÌ⣬µ«ÈÔÖµµÃÆÚ´ý²¢¸øÓèºñÍû£¬Ï£ÍûNova Cells v2²»»áÈÃÎÒÃÇʧÍû£¬³¹µ×½â¾öOpenStack´ó¹æÄ£²¿ÊðÎÊÌâ¡£

×ܽáÓëÕ¹Íû

±¾ÎÄÊ×ÏȽéÉÜÁË´ó¹æÄ£²¿ÊðOpenStack´æÔÚµÄÖ÷ÒªÎÊÌ⣬Òý³öÊý¾Ý¿âºÍÏûÏ¢¶ÓÁÐÊÇÏÞÖÆ´ó¹æÄ£²¿ÊðµÄÖ÷Ҫƿ¾±£¬È»ºóÕë¶ÔÕâ¸öÆ¿¾±ÎÊÌâ½éÉÜÁËһЩ×é¼þÓÅ»¯²ßÂÔ£¬×îºóÏêϸ½éÉÜÁ˼¸ÖÖOpenStack´ó¹æÄ£²¿ÊðµÄ·½°¸£¬·ÖÎöÁËÆäÌØµãºÍ²»×ã¡£Õë¶Ô´ó¹æÄ£²¿ÊðÎÊÌ⣬Nova Cell v2ºÍTrio2o¶¼ÊDZȽÏÖµµÃÆÚ´ýµÄ£¬ÆäÉè¼ÆÀíÄîºÍÄ¿±êÒ²±È½ÏÃ÷È·£¬µ«ÊÇÀëʵÏֺͷ¢Õ¹³ÉÊ컹ÓÐÒ»¶¨µÄ¾àÀë¡£Region·½°¸Ö»Êǹ²ÏíÈÏÖ¤ºÍDashboard£¬ÊµÏÖͳһ¹ÜÀí¶àOpenStack»·¾³£¬Ô­ÔòÉϲ»ËãÊǵ¥OpenStackµÄ´ó¹æÄ£²¿Êð¡£Nova Cell v1ÒѾ­Óв»ÉÙ´ó¹æÄ£²¿ÊðµÄ°¸Àý£¬µ«ÉçÇøÒѾ­²»ÔÙÖ§³Ö£¬²¢ÇÒ²»¹ÄÀøÔÚÐµĻ·¾³Öв¿Êð¡£Èç¹ûĿǰÐèÒªÉÏÏß´ó¹æÄ£OpenStackÉú²ú»·¾³£¬ÓÐÒÔÏÂÁ½ÖÖ·½°¸£º

ʹÓÃNova Cell v2£¬Í¬Ê±¼ÓÈëv2¿ª·¢£¬È±µãÊÇ¿ª·¢ËùÓй¦ÄܵÄÖÜÆÚ²»È·¶¨£¬Ò²ÃæÁٺܶà±äÊý¡£

ʹÓÃNova Cell v1£¬²¿Êð¼Ü¹¹Óпɹ©²Î¿¼µÄ°¸Àý£¬È±µãÊǺóÐøµÄËùÓÐÎÊÌâ¶¼ÐèÒª×Ô¼º½â¾ö£¬µÃ²»µ½ÉÏÓεÄÖ§³Ö¡£

µ±È»Ò²¿ÉÒÔÏȲ¿ÊðÒ»Ì×С¹æÄ£µÄ»·¾³£¬µÈCell v2¿ª·¢Íê³Éºó£¬Ê¹ÓÃÉý¼¶¹¤¾ßµ÷Õû¼Ü¹¹£¬Ôö¼ÓCells¹¦ÄÜ¡£

 

   
2966 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤