±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚ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¹¦ÄÜ¡£
|