Migrate ²Ù×÷µÄ×÷ÓÃÊǽ« instance ´Óµ±Ç°µÄ¼ÆËã½ÚµãÇ¨ÒÆµ½ÆäËû½ÚµãÉÏ¡£
Migrate ²»ÒªÇóÔ´ºÍÄ¿±ê½Úµã±ØÐë¹²Ïí´æ´¢£¬µ±È»¹²Ïí´æ´¢Ò²ÊÇ¿ÉÒԵġ£
Migrate ǰ±ØÐëÂú×ãÒ»¸öÌõ¼þ£º¼ÆËã½Úµã¼äÐèÒªÅäÖà nova Óû§ÎÞÃÜÂë·ÃÎÊ¡£
ÏÂÃæÊÇ Migrate instance µÄÁ÷³Ìͼ

1¡¢Ïò nova-api ·¢ËÍÇëÇó
2¡¢nova-api ·¢ËÍÏûÏ¢
3¡¢nova-scheduler Ö´Ðе÷¶È
4¡¢nova-scheduler ·¢ËÍÏûÏ¢
5¡¢nova-compute Ö´ÐвÙ×÷
ÏÂÃæÎÒÃÇÏêϸÌÖÂÛÿһ¸ö²½Öè¡£
Ïò nova-api ·¢ËÍÇëÇó
¿Í»§£¨¿ÉÒÔÊÇ OpenStack ×îÖÕÓû§£¬Ò²¿ÉÒÔÊÇÆäËû³ÌÐò£©Ïò API£¨nova-api£©·¢ËÍÇëÇ󣺡°°ïÎÒÇ¨ÒÆÕâ¸ö
Instance¡±
Migrate ²Ù×÷ÊÇÌØÈ¨²Ù×÷£¬Ö»ÄÜÔÚ Admin µÄ instance
²Ëµ¥ÖÐÖ´ÐÐ


²é¿´ÈÕÖ¾ /opt/stack/logs/n-api.log

nova-api ·¢ËÍÏûÏ¢
nova-api Ïò Messaging£¨RabbitMQ£©·¢ËÍÁËÒ»ÌõÏûÏ¢£º¡°Ç¨ÒÆÕâ¸ö Instance¡±
²é¿´Ô´´úÂë /opt/stack/nova/nova/compute/api.py£¬·½·¨ÊÇ resize¡£
û´í£¬ÊÇ resize ¶ø·Ç migrate¡£
ÕâÊÇÓÉÓÚ migrate ʵ¼ÊÉÏÊÇͨ¹ý resize ²Ù×÷ʵÏֵģ¬ÖÁÓÚΪʲôҪÕâÑùÉè¼Æ£¬ÎÒÃÇ»áÔÚÏÂÒ»½Ú
resize ÖÐÏêϸ·ÖÎö¡£

nova-scheduler Ö´Ðе÷¶È
nova-scheduler ÊÕµ½ÏûÏ¢ºó£¬»áΪ instance Ñ¡ÔñºÏÊʵÄÄ¿±ê¼ÆËã½Úµã¡£
²é¿´ÈÕÖ¾ /opt/stack/logs/n-sch.log

¿ÉÒÔ¿´µ½£¬ÒòΪ devstack-compute1 µÄȨֵ±È devstack-controller
´ó£¬×îÖÕÑ¡Ôñ devstack-compute1 ×÷ΪĿ±ê½Úµã¡£
¿´µ½ÉÏÃæµÄÈÕÖ¾£¬´ó¼Ò·¢ÏÖʲôÎÊÌâûÓУ¿
ÔÚ·ÖÎöÕâ¶ÎÈÕÖ¾µÄʱºò£¬ÎÒ·¢ÏÖ scheduler Ñ¡³öÀ´µÄ¼ÆËã½ÚµãÓпÉÄÜÊǵ±Ç°½ÚµãÔ´½Úµã£¡
ÒòΪ scheduler ²¢Ã»ÔÚ³õʼµÄʱºò½«Ô´½ÚµãÌÞ³ýµô£¬¶øÊÇÓëÆäËû½Úµã·ÅÔÚÒ»Æð×ö filter£¬°´ÕÕÕâ¸öÂß¼£¬Ö»ÒªÔ´½ÚµãµÄȨֵ×ã¹»´ó£¬ÊÇÓпÉÄܳÉΪĿ±ê½ÚµãµÄ¡£
Äǽô½Ó×ŵÄÎÊÌâÊÇ£ºÈç¹ûÔ´½ÚµãºÍÄ¿±ê½ÚµãÊÇͬһ¸ö£¬migrate ²Ù×÷»áÔõÑù½øÐÐÄØ£¿
ʵÑéµÃÖª£¬nova-compute ÔÚ×ö migrate µÄʱºò»á¼ì²éÄ¿±ê½Úµã£¬Èç¹û·¢ÏÖÄ¿±ê½ÚµãÓëÔ´½ÚµãÏàͬ£¬»áÅ׳ö
UnableToMigrateToSelf Òì³£¡£Nova-compute ʧ°ÜÖ®ºó£¬scheduler
»áÖØÐµ÷¶È£¬ÓÉÓÚÓÐ RetryFilter£¬»á½«Ö®Ç°Ñ¡ÔñµÄÔ´½Úµã¹ýÂ˵ô£¬ÕâÑù¾ÍÄÜÑ¡µ½²»Í¬µÄ¼ÆËã½ÚµãÁË¡£
¹ØÓÚ RetryFilter£¬´ó¼Ò»¹ÓÐÓ¡ÏóÂð£¿Èç¹ûÉúÊèÁË¿ÉÒÔ¿´Ç°ÃæÕ½ڡ£
ºÃ£¬ÑÔ¹éÕý´«¡£ÔÚÉÏÃæµÄ²Ù×÷ÖÐ sheduler Ñ¡ÔñµÄÄ¿±ê½ÚµãÊÇ devstack-compute1£¬Òâζ×Å
instance ½«´Ó devstack-controller Ç¨ÒÆµ½ devstack-compute1¡£
nova-scheduler ·¢ËÍÏûÏ¢
nova-scheduler ·¢ËÍÏûÏ¢£¬Í¨Öª¼ÆËã½Úµã¿ÉÒÔÇ¨ÒÆ instance ÁË¡£
Ô´´úÂëÔÚ /opt/stack/nova/nova/scheduler/filter_scheduler.py
µÚ 95 ÐУ¬·½·¨Îª select_destinations

nova-compute Ö´ÐвÙ×÷
nova-compute »áÔÚÔ´¼ÆËã½ÚµãºÍÄ¿±ê¼ÆËã½ÚµãÉÏ·Ö±ðÖ´ÐвÙ×÷¡£
Ô´¼ÆËã½Úµã devstack-controller
Ç¨ÒÆ²Ù×÷ÔÚÔ´½ÚµãÉÏÊ×ÏÈ»á¹Ø±Õ instance£¬È»ºó½« instance µÄ¾µÏñÎļþ´«µ½Ä¿±ê½ÚµãÉÏ¡£
ÈÕÖ¾ÔÚ /opt/stack/logs/n-cpu.log£¬¾ßÌå²½ÖèÈçÏ£º
¿ªÊ¼ migrate

ÔÚÄ¿±ê½ÚµãÉÏ´´½¨ instance µÄĿ¼
nova-compute Ê×ÏȻ᳢ÊÔͨ¹ý ssh ÔÚÄ¿±ê½ÚµãÉ쵀 instance
Ŀ¼Àï touch Ò»¸öÁÙʱÎļþ
Èç¹û touch ʧ°Ü£¬ËµÃ÷Ä¿±ê½ÚµãÉÏ»¹Ã»Óиà instance µÄĿ¼£¬Ò²¾ÍÊÇ˵£¬Ô´½ÚµãºÍÄ¿±ê½ÚµãûÓй²Ïí´æ´¢¡£ÄÇô½ÓÏÂÀ´¾ÍÒªÔÚÄ¿±ê½ÚµãÉÏ´´½¨
instance µÄĿ¼£¬ÈÕÖ¾ÈçÏÂ

¹Ø±Õ instance

½« instance µÄ¾µÏñÎļþͨ¹ý scp ´«µ½Ä¿±ê½ÚµãÉÏ

Ä¿±ê¼ÆËã½Úµã devstack-compute1
ÔÚÄ¿±ê½ÚµãÉÏÆô¶¯ instance£¬¹ý³ÌÓë launch instance ·Ç³£ÀàËÆ¡£
»á¾¹ýÈçϼ¸¸ö²½Ö裺
1. Ϊ instance ×¼±¸ CPU¡¢ÄÚ´æºÍ´ÅÅÌ×ÊÔ´
2. ´´½¨ instance ¾µÏñÎļþ
3. ´´½¨ instance µÄ XML ¶¨ÒåÎļþ
4. ´´½¨ÐéÄâÍøÂç²¢Æô¶¯ instance
ÈÕÖ¾¼Ç¼ÔÚ /opt/stack/logs/n-cpu.log£¬·ÖÎöÁô¸ø´ó¼ÒÁ·Ï°¡£
Confirm
Õâʱ£¬instance »á´¦ÓÚ ¡°Confirm or Revert Resize/Migrate¡±×´Ì¬£¬ÐèÒªÓû§È·ÈÏ»òÕß»ØÍ˵±Ç°µÄÇ¨ÒÆ²Ù×÷£¬Êµ¼ÊÉϸøÁËÓû§Ò»¸ö·´»ÚµÄ»ú»á¡£

µ±ÎÒÃǰ´Ï Confirm °´Å¥ºó£¬»á·¢ÉúÈçÏÂÊÂÇ飺
1¡¢nova-api ½ÓÊÕµ½ confirm µÄÏûÏ¢

2¡¢Ô´¼ÆËã½Úµãɾ³ý instance µÄĿ¼£¬²¢ÔÚ Hypervisor
ÉÏɾ³ý instance¡£

3¡¢Ä¿±ê¼ÆËã½Úµã²»ÐèÒª×öÈκÎÊÂÇé

Revert
Èç¹ûÖ´ÐеÄÊÇ Revert ²Ù×÷»á·¢ÉúʲôÊÂÇéÄØ£¿

1¡¢nova-api ½ÓÊÕµ½ revert µÄÏûÏ¢

2¡¢ÔÚÄ¿±ê¼ÆËã½ÚµãÉÏ¹Ø±Õ instance£¬É¾³ý instance µÄĿ¼£¬²¢ÔÚ
Hypervisor ÉÏɾ³ý instance¡£

3¡¢Ô´¼ÆËã½ÚµãÉÏÆô¶¯ instance
ÒòÎªÖ®Ç°Ç¨ÒÆµÄʱºòÖ»ÊÇÔÚÔ´½ÚµãÉϹرÕÁ˸à instance£¬revert
²Ù×÷Ö»ÐèÖØÐÂÆô¶¯ instance¡£


ÒÔÉÏÊÇ Migrate ²Ù×÷µÄÍêÕûÁ÷³Ì£¬ÕâÀïÓÐÒ»µãÐèÒªÌØ±ð×¢Ò⣺
Ç¨ÒÆ¹ý³ÌÖÐÔ´ºÍÄ¿±ê½Úµã֮ǰÐèҪʹÓà ssh ºÍ scp£¬ÎªÁËʹ²Ù×÷˳Àû½øÐУ¬±ØÐëÒª±£Ö¤ nova-compute
½ø³ÌµÄÆô¶¯Óû§£¨Í¨³£ÊÇ nova£¬Ò²¿ÉÄÜÊÇ root£¬¿ÉÒÔͨ¹ý ps ÃüÁîÈ·ÈÏ£©Äܹ»ÔÚ¼ÆËã½ÚµãÖ®¼äÎÞÃÜÂë·ÃÎÊ¡£·ñÔò
nova-compute »áµÈ´ýÃÜÂëÊäÈ룬µ«ºǫ́·þÎñÊÇÎÞ·¨ÊäÈëÃÜÂëµÄ£¬Ç¨ÒƲÙ×÷»áÒ»Ö±¿¨ÔÚÄÇÀï¡£
|