倧èŠæš¡ãªã¯ã©ãŠã ã·ã¹ãã ã§ã¯ãã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã®è² è·ãèªåçã«ãã©ã³ã¹ãŸãã¯å¹³æºåããåé¡ãç¹ã«æ·±å»ã§ãã Tionix (Rostelecom ã°ã«ãŒãäŒæ¥ã®äžéšã§ã¯ã©ãŠã ãµãŒãã¹ã®éçºããã³éçšäŒç€Ÿ) ããã®åé¡ã«åãçµãã§ããŸãã
ãããŠãç§ãã¡ã®äž»ãªéçºãã©ãããã©ãŒã 㯠Openstack ã§ãããç§ãã¡ãä»ã®äººã
ãšåãããã«æ ãè
ã§ããããããã©ãããã©ãŒã ã«ãã§ã«å«ãŸããŠããæ¢è£œã®ã¢ãžã¥ãŒã«ãéžæããããšã«ããŸããã ç§ãã¡ã®éžæ㯠Watcher ã«æ±ºãŸããããŒãºã«åãããŠäœ¿çšââããããšã«ããŸããã
ãŸããçšèªãšå®çŸ©ãèŠãŠã¿ãŸãããã
çšèªãšå®çŸ©
ç®æš 人éãèªã¿åãå¯èœã芳å¯å¯èœã枬å®å¯èœãªæçµçµæã§ãããéæããå¿ èŠããããŸãã åç®æšãéæããã«ã¯ XNUMX ã€ä»¥äžã®æŠç¥ããããŸãã æŠç¥ãšã¯ãç¹å®ã®ç®æšã«å¯Ÿãã解決çãèŠã€ããããšãã§ããã¢ã«ãŽãªãºã ã®å®è£ ã§ãã
ã¢ã¯ã·ã§ã³ OpenStack ã¯ã©ã¹ã¿ãŒã®ã¿ãŒã²ãã管ç察象ãªãœãŒã¹ã®çŸåšã®ç¶æ ãå€æŽããåºæ¬ã¿ã¹ã¯ã§ããããšãã°ãä»®æ³ãã·ã³ã®ç§»è¡ (移è¡)ãããŒãã®é»æºç¶æ ã®å€æŽ (change_node_power_state)ãnova ãµãŒãã¹ã®ç¶æ ã®å€æŽ (change_nova_service_state) ã§ãã )ããã¬ãŒããŒã®å€æŽ (ãµã€ãºå€æŽ)ãNOP ã¡ãã»ãŒãžã®ç»é² (nop)ãäžå®æéã®ã¢ã¯ã·ã§ã³ã®æ¬ åŠ - äžæåæ¢ (ã¹ãªãŒã)ããã£ã¹ã¯è»¢é (volume_移è¡)ã
è¡åèšç» - ç¹å®ã®ç®æšãéæããããã«ãç¹å®ã®é åºã§å®è¡ãããç¹å®ã®ã¢ã¯ã·ã§ã³ã®æµãã ã¢ã¯ã·ã§ã³ ãã©ã³ã«ã¯ãäžé£ã®ããã©ãŒãã³ã¹ææšãšãšãã«æž¬å®ãããã°ããŒãã« ããã©ãŒãã³ã¹ãå«ãŸããŠããŸãã ç£æ»ãæåãããšãWatcher ã«ãã£ãŠã¢ã¯ã·ã§ã³ ãã©ã³ãçæããããã®çµæã䜿çšãããæŠç¥ã«ãã£ãŠç®æšãéæããããã®è§£æ±ºçãèŠã€ãããŸãã ã¢ã¯ã·ã§ã³ ãã©ã³ã¯ãäžé£ã®ã¢ã¯ã·ã§ã³ã®ãªã¹ãã§æ§æãããŸãã
ç£æ» ã¯ã©ã¹ã¿ãŒãæé©åãããªã¯ãšã¹ãã§ãã æé©åã¯ãç¹å®ã®ã¯ã©ã¹ã¿ãŒå 㧠XNUMX ã€ã®ç®æšãéæããããã«å®è¡ãããŸãã ç£æ»ãæåãããã³ã«ãWatcher ã¯ã¢ã¯ã·ã§ã³ ãã©ã³ãçæããŸãã
ç£æ»ç¯å² ç£æ»ãå®è¡ããããªãœãŒã¹ã®ã»ããã§ã (ã¢ãã€ã©ããªãã£ãŒãŸãŒã³ãããŒãã¢ã°ãªã²ãŒã¿ãŒãåã ã®èšç®ããŒããŸãã¯ã¹ãã¬ãŒãžããŒããªã©)ã ç£æ»ç¯å²ã¯åãã³ãã¬ãŒãã§å®çŸ©ãããŸãã ç£æ»ã¹ã³ãŒããæå®ãããŠããªãå Žåã¯ãã¯ã©ã¹ã¿ãŒå šäœãç£æ»ãããŸãã
ç£æ»ãã³ãã¬ãŒã â ç£æ»ãéå§ããããã®ä¿åãããèšå®ã»ããã ãã³ãã¬ãŒãã¯ãåãèšå®ã§ç£æ»ãè€æ°åå®è¡ããããã«å¿ èŠã§ãã ãã³ãã¬ãŒãã«ã¯å¿ ãç£æ»ã®ç®çãå«ãŸããŠããå¿ èŠããããŸããæŠç¥ãæå®ãããŠããªãå Žåã¯ãæãé©åãªæ¢åã®æŠç¥ãéžæãããŸãã
éãŸã ã¯ãã³ã³ãã¥ãŒãã£ã³ã°ãã¹ãã¬ãŒãžãããã³ãããã¯ãŒãã³ã° ãªãœãŒã¹ãæäŸããç©çãã·ã³ã®éåã§ãããåã OpenStack 管çããŒãã«ãã£ãŠç®¡çãããŸãã
ã¯ã©ã¹ã¿ãŒ ããŒã¿ ã¢ãã« (CDM) ã¯ã©ã¹ã¿ãŒã«ãã£ãŠç®¡çããããªãœãŒã¹ã®çŸåšã®ç¶æ ãšããããžãŒãè«ççã«è¡šçŸãããã®ã§ãã
å¹çææš - ãã®æŠç¥ã䜿çšããŠäœæããããœãªã¥ãŒã·ã§ã³ãã©ã®ããã«å®è¡ããããã瀺ãææšã ããã©ãŒãã³ã¹ææšã¯ç¹å®ã®ç®æšã«åºæã§ãããéåžžã¯ãçµæãšããŠåŸãããã¢ã¯ã·ã§ã³ ãã©ã³ã®å šäœçãªæå¹æ§ãèšç®ããããã«äœ¿çšãããŸãã
å¹èœã®ä»æ§ ã¯ãåç®æšã«é¢é£ä»ããããäžé£ã®ç¹å®ã®æ©èœã§ããã察å¿ããç®æšãéæããããã®æŠç¥ããœãªã¥ãŒã·ã§ã³ã§éæããå¿ èŠãããããŸããŸãªããã©ãŒãã³ã¹ææšãå®çŸ©ããŸãã å®éãæŠç¥ã«ãã£ãŠææ¡ãããåãœãªã¥ãŒã·ã§ã³ã¯ãå šäœçãªæå¹æ§ãèšç®ããåã«ãä»æ§ãšç §åããŠãã§ãã¯ãããŸãã
ã¹ã³ã¢ãªã³ã°ãšã³ãžã³ ã¯ãæ確ã«å®çŸ©ãããå ¥åãšæ確ã«å®çŸ©ãããåºåãåããçŽç²ã«æ°åŠçãªã¿ã¹ã¯ãå®è¡ããå®è¡å¯èœãã¡ã€ã«ã§ãã ãã®ããã«ãèšç®ã¯å®è¡ãããç°å¢ã«äŸåãããã©ãã§ãåãçµæãåŸãããŸãã
ãŠã©ããã£ãŒãã©ã³ã㌠- Watcher ã®ææ決å®ãšã³ãžã³ã®äžéšã ãã®ã¢ãžã¥ãŒã«ã¯ãæŠç¥ã«ãã£ãŠçæãããäžé£ã®ã¢ã¯ã·ã§ã³ãååŸãããããã®ããŸããŸãªã¢ã¯ã·ã§ã³ãæéå ã«ã¹ã±ãžã¥ãŒã«ããæ¹æ³ãšåã¢ã¯ã·ã§ã³ã®åææ¡ä»¶ãæå®ããã¯ãŒã¯ãã㌠ãã©ã³ãäœæããŸãã
ãŠã©ããã£ãŒã®ç®æšãšæŠç¥
ç®æš
æŠç¥
ãããŒãŽãŒã«
ãããŒæŠç¥
ãµã³ãã«ã¹ã³ã¢ãªã³ã°ãšã³ãžã³ã䜿çšãããããŒæŠç¥
ãµã€ãºå€æŽã䌎ããããŒæŠç¥
çãšãã«ã®ãŒ
çãšãæŠç¥
ãµãŒããŒã®çµ±å
åºæ¬çãªãªãã©ã€ã³ãµãŒããŒçµ±å
VM ã¯ãŒã¯ããŒãçµ±åæŠç¥
ã¯ãŒã¯ããŒããã©ã³ã·ã³ã°
ã¯ãŒã¯ããŒã ãã©ã³ã¹ã®ç§»è¡æŠç¥
ã¹ãã¬ãŒãžå®¹éãã©ã³ã¹æŠç¥
ã¯ãŒã¯ããŒãã®å®å®å
ããããé£äºº
ããããé£äºº
ç±ã®æé©å
åºå£æž©åºŠã«åºã¥ãæŠç¥
ãšã¢ãããŒã®æé©å
åäžãªæ°æµç§»è¡æŠç¥
ããŒããŠã§ã¢ã®ã¡ã³ããã³ã¹
ãŸãŒã³ã®ç§»è¡
åé¡ãããŠããŸãã
äœåè£
眮
ãããŒãŽãŒã« â ãã¹ãç®çã§äœ¿çšãããäºçŽæžã¿ã®ç®æšã
é¢é£æŠç¥: ãããŒæŠç¥ããµã³ãã« ã¹ã³ã¢ãªã³ã° ãšã³ãžã³ã䜿çšãããããŒæŠç¥ãããã³ãµã€ãºå€æŽã䌎ããããŒæŠç¥ã ãããŒæŠç¥ã¯ãTempest ã«ããçµ±åãã¹ãã«äœ¿çšããããããŒæŠç¥ã§ãã ãã®æŠç¥ã¯æçšãªæé©åãæäŸããŸããããã®å¯äžã®ç®çã¯ãTempest ãã¹ãã䜿çšããããšã§ãã
ãµã³ãã«ã®ã¹ã³ã¢ãªã³ã° ãšã³ãžã³ã䜿çšãããããŒæŠç¥ - ãã®æŠç¥ã¯åã®æŠç¥ãšäŒŒãŠããŸãããå¯äžã®éãã¯ãæ©æ¢°åŠç¿ææ³ã䜿çšããŠèšç®ãå®è¡ãããµã³ãã«ã®ãã¹ã³ã¢ãªã³ã° ãšã³ãžã³ãã䜿çšããããšã§ãã
ãµã€ãºå€æŽã䌎ããããŒæŠç¥ - ãã®æŠç¥ã¯åã®æŠç¥ãšäŒŒãŠããŸãããå¯äžã®éãã¯ãã¬ãŒããŒã®å€æŽ (移è¡ãšãµã€ãºå€æŽ) ã䜿çšããããšã§ãã
å®çšŒåç°å¢ã§ã¯äœ¿çšãããŸããã
çãšãã«ã®ãŒ â ãšãã«ã®ãŒæ¶è²»ãæå°éã«æããŸãã ãã®ç®æšã®çãšãã«ã®ãŒæŠç¥ã¯ãVM ã¯ãŒã¯ããŒãçµ±åæŠç¥ (ãµãŒããŒçµ±å) ãšçµã¿åãããããšã§ããªãœãŒã¹äœ¿çšçãäœãæéã§ãã¯ãŒã¯ããŒããåçã«çµ±åããããšã§ãšãã«ã®ãŒãç¯çŽããåçé»æºç®¡ç (DPM) æ©èœãå©çšã§ããŸããä»®æ³ãã·ã³ã¯ããå°ãªãããŒãã«ç§»åãããŸãã ãäžèŠãªããŒãã¯ç¡å¹ã«ãªããŸãã çµ±ååŸããã®æŠç¥ã¯ãæå®ããããã©ã¡ãŒã¿ã«åŸã£ãŠããŒãã®ãªã³/ãªãã決å®ããŸãããmin_free_hosts_numã - ããŒããåŸ æ©ããŠãã空ãæå¹ãªããŒãã®æ°ãããã³ãfree_used_percentã - ããŒããåŸ æ©ããŠãã空ãæå¹ãªããŒãã®å²åãã·ã³ãå æããŠããããŒãã®æ°ã æŠç¥ãæ©èœããã«ã¯ã次ã®ããšãå¿ èŠã§ã ããŒãã®é»æºã®å ¥ãçŽããåŠçããããã« Ironic ãæå¹ã«ããŠæ§æããŸããã
æŠç¥ãã©ã¡ãŒã¿
ãã©ã¡ãŒã¿ãŒ
ÑОп
ããã©ã«ãã§
説æ
free_used_percent
æ°
10.0
ä»®æ³ãã·ã³ãåããã³ã³ãã¥ãŒãã£ã³ã° ããŒãã®æ°ã«å¯Ÿãã空ãã³ã³ãã¥ãŒãã£ã³ã° ããŒãã®æ°ã®æ¯ç
min_free_hosts_num
intå
1
空ãã³ã³ãã¥ãŒãã£ã³ã° ããŒãã®æå°æ°
ã¯ã©ãŠãã«ã¯å°ãªããšã XNUMX ã€ã®ããŒããå¿ èŠã§ãã 䜿çšãããæ¹æ³ã¯ãããŒãã®é»åç¶æ ãå€æŽããããšã§ã (change_node_power_state)ã ãã®æŠç¥ã§ã¯ã¡ããªã¯ã¹ãåéããå¿ èŠã¯ãããŸããã
ãµãŒããŒã®çµ±å - ã³ã³ãã¥ãŒãã£ã³ã° ããŒãã®æ°ãæå°éã«æããŸã (çµ±å)ã ããã«ã¯ãåºæ¬çãªãªãã©ã€ã³ ãµãŒããŒçµ±åãš VM ã¯ãŒã¯ããŒãçµ±åæŠç¥ã® XNUMX ã€ã®æŠç¥ããããŸãã
åºæ¬çãªãªãã©ã€ã³ ãµãŒããŒçµ±åæŠç¥ã«ããã䜿çšããããµãŒããŒã®ç·æ°ãæå°éã«æãããã移è¡ã®æ°ãæå°éã«æããããŸãã
åºæ¬æŠç¥ã«ã¯æ¬¡ã®ææšãå¿
èŠã§ãã
ã¡ããªã¯ã¹
å¥ä»
ãã©ã°ã€ã³
ã³ã¡ã³ã
compute.node.cpu.percent
ãªã
cpu_util
ãªã
æŠç¥ãã©ã¡ãŒã¿ãŒ: migration_attempts - ã·ã£ããããŠã³ã®æœåšçãªåè£ãæ€çŽ¢ããçµã¿åããã®æ° (ããã©ã«ãã0ãå¶éãªã)ãperiod - ã¡ããªã㯠ããŒã¿ ãœãŒã¹ããéçéèšãååŸããããã®ç§åäœã®æééé (ããã©ã«ãã700)ã
䜿çšãããæ¹æ³: 移è¡ãnova ãµãŒãã¹ç¶æ ã®å€æŽ (change_nova_service_state)ã
VM ã¯ãŒã¯ããŒãçµ±åæŠç¥ã¯ã枬å®ããã CPU è² è·ã«çŠç¹ãåœãŠãååé©åãã¥ãŒãªã¹ãã£ãã¯ã«åºã¥ããŠããããªãœãŒã¹å®¹éã®å¶çŽãèæ ®ããŠè² è·ãå€ãããããŸãã¯å°ãªãããããŒããæå°éã«æããããšããŸãã ãã®æŠç¥ã¯ã次㮠XNUMX ã€ã®æé ã䜿çšããŠãã¯ã©ã¹ã¿ãŒ ãªãœãŒã¹ãããå¹ççã«äœ¿çšãããœãªã¥ãŒã·ã§ã³ãæäŸããŸãã
- ã¢ã³ããŒããã§ãŒãº - éå°ã«äœ¿çšããããªãœãŒã¹ã®åŠçã
- çµ±åãã§ãŒãº - ååã«æŽ»çšãããŠããªããªãœãŒã¹ã®åŠçã
- ãœãªã¥ãŒã·ã§ã³ã®æé©å - 移è¡ã®æ°ãåæžããŸãã
- æªäœ¿çšã®èšç®ããŒããç¡å¹ã«ããŸãã
ãã®æŠç¥ã«ã¯æ¬¡ã®ææšãå¿ èŠã§ãã
ã¡ããªã¯ã¹
å¥ä»
ãã©ã°ã€ã³
ã³ã¡ã³ã
ã¡ã¢ãª
ãªã
ãã£ã¹ã¯ã«ãŒããµã€ãº
ãªã
次ã®ææšã¯ãªãã·ã§ã³ã§ãããå©çšå¯èœãªå Žåã¯æŠç¥ã®ç²ŸåºŠãåäžããŸãã
ã¡ããªã¯ã¹
å¥ä»
ãã©ã°ã€ã³
ã³ã¡ã³ã
èšæ¶ã®äœäºº
ãªã
cpu_util
ãªã
æŠç¥ãã©ã¡ãŒã¿ãŒ: period â ã¡ããªã㯠ããŒã¿ ãœãŒã¹ããéçéèšãååŸããæééé (ç§åäœ) (ããã©ã«ã㯠3600)ã
åã®æŠç¥ãšåãæ¹æ³ã䜿çšããŸãã ããã«è©³ãã
ã¯ãŒã¯ããŒããã©ã³ã·ã³ã° â ã³ã³ãã¥ãŒãã£ã³ã° ããŒãéã®ã¯ãŒã¯ããŒãã®ãã©ã³ã¹ããšããŸãã ãã®ç®æšã«ã¯ãã¯ãŒã¯ããŒã ãã©ã³ã¹ç§»è¡æŠç¥ãã¯ãŒã¯ããŒãã®å®å®åãã¹ãã¬ãŒãžå®¹éãã©ã³ã¹æŠç¥ã® XNUMX ã€ã®æŠç¥ããããŸãã
ã¯ãŒã¯ããŒã ãã©ã³ã¹ç§»è¡æŠç¥ã¯ããã¹ãä»®æ³ãã·ã³ã®ã¯ãŒã¯ããŒãã«åºã¥ããŠä»®æ³ãã·ã³ã®ç§»è¡ãå®è¡ããŸãã ããŒãã® CPU ãŸã㯠RAM 䜿çšç (%) ãæå®ããããããå€ãè¶ ãããã³ã«ã移è¡ã®æ±ºå®ãè¡ãããŸãã ãã®å Žåãä»®æ³ãã·ã³ã移åãããšãããŒãããã¹ãŠã®ããŒãã®å¹³åã¯ãŒã¯ããŒãã«è¿ã¥ãã¯ãã§ãã
å¿ èŠæ¡ä»¶
- ç©çããã»ããµã®äœ¿çšã
- å°ãªããšã XNUMX ã€ã®ç©çã³ã³ãã¥ãŒãã£ã³ã° ããŒãã
- åèšç®ããŒãäžã§å®è¡ããã Ceilometer ã³ã³ããŒãã³ã (ceilometer-agent-compute) ãš Ceilometer API ãã€ã³ã¹ããŒã«ããŠæ§æãã次ã®ã¡ããªã¯ã¹ãåéããŸãã
ã¡ããªã¯ã¹
å¥ä»
ãã©ã°ã€ã³
ã³ã¡ã³ã
cpu_util
ãªã
èšæ¶ã®äœäºº
ãªã
æŠç¥ãã©ã¡ãŒã¿:
ãã©ã¡ãŒã¿ãŒ
ÑОп
ããã©ã«ãã§
説æ
ã¡ããªã¯ã¹
æåå
ãcpu_utilã
åºç€ãšãªãã¡ããªã¯ã¹ã¯ãcpu_utilãããmemory.residentãã§ãã
ãããå€
æ°
25.0
移è¡ã®ã¯ãŒã¯ããŒããããå€ã
æé
æ°
300
环ç©æé Ceilometerã
䜿çšãããæ¹æ³ã¯ç§»è¡ã§ãã
ã¯ãŒã¯ããŒãã®å®å®åã¯ãã©ã€ã ãã€ã°ã¬ãŒã·ã§ã³ã䜿çšããŠã¯ãŒã¯ããŒããå®å®åããããšãç®çãšããæŠç¥ã§ãã ãã®æŠç¥ã¯æšæºåå·®ã¢ã«ãŽãªãºã ã«åºã¥ããŠãããã¯ã©ã¹ã¿ãŒå ã«èŒ»èŒ³ããããã©ãããå€æããã¯ã©ã¹ã¿ãŒãå®å®ãããããã«ãã·ã³ã®ç§»è¡ãããªã¬ãŒããããšã§ããã«å¿çããŸãã
å¿ èŠæ¡ä»¶
- ç©çããã»ããµã®äœ¿çšã
- å°ãªããšã XNUMX ã€ã®ç©çã³ã³ãã¥ãŒãã£ã³ã° ããŒãã
- åèšç®ããŒãäžã§å®è¡ããã Ceilometer ã³ã³ããŒãã³ã (ceilometer-agent-compute) ãš Ceilometer API ãã€ã³ã¹ããŒã«ããŠæ§æãã次ã®ã¡ããªã¯ã¹ãåéããŸãã
ã¡ããªã¯ã¹
å¥ä»
ãã©ã°ã€ã³
ã³ã¡ã³ã
cpu_util
ãªã
èšæ¶ã®äœäºº
ãªã
ã¹ãã¬ãŒãžå®¹éãã©ã³ã¹æŠç¥ (Queens ããå®è£ ãããæŠç¥) - ãã®æŠç¥ã¯ãCinder ããŒã«ã®è² è·ã«å¿ããŠãã£ã¹ã¯ã転éããŸãã ããŒã«äœ¿çšçãæå®ããããããå€ãè¶ ãããã³ã«ã転éã®æ±ºå®ãè¡ãããŸãã ãã£ã¹ã¯ã移åãããšãããŒã«ããã¹ãŠã® Cinder ããŒã«ã®å¹³åè² è·ã«è¿ã¥ãã¯ãã§ãã
èŠä»¶ãšå¶éäºé
- å°ãªããšã XNUMX ã€ã® Cinder ããŒã«ã
- ãã£ã¹ã¯ç§»è¡ã®å¯èœæ§ã
- ã¯ã©ã¹ã¿ãŒ ããŒã¿ ã¢ãã« - Cinder ã¯ã©ã¹ã¿ãŒ ããŒã¿ ã¢ãã« ã³ã¬ã¯ã¿ãŒã
æŠç¥ãã©ã¡ãŒã¿:
ãã©ã¡ãŒã¿ãŒ
ÑОп
ããã©ã«ãã§
説æ
volume_threshold
æ°
80.0
ããªã¥ãŒã ã®ãã©ã³ã¹ããšãããã®ãã£ã¹ã¯ã®ãããå€ã
䜿çšãããæ¹æ³ã¯ãã£ã¹ã¯ç§»è¡ (volume_merge) ã§ãã
ãã€ãžãŒ ãã€ã㌠- ããã€ãžãŒ ãã€ããŒããã€ãŸãã©ã¹ã ã¬ãã« ãã£ãã·ã¥ãéå°ã«äœ¿çšããããšã«ãããIPC ã®èŠ³ç¹ããåªå 床ã®é«ãä»®æ³ãã·ã³ã®ããã©ãŒãã³ã¹ã«æªåœ±é¿ãäžããåªå 床ã®äœãä»®æ³ãã·ã³ãç¹å®ããŠç§»è¡ããŸãã ç¬èªã®æŠç¥: Noisy Neighbor (䜿çšãããæŠç¥ãã©ã¡ãŒã¿ãŒã¯ãcache_threshold (ããã©ã«ãå€ã¯ 35) ã§ããããã©ãŒãã³ã¹ãæå®ãããå€ãŸã§äœäžãããšã移è¡ãéå§ãããŸããæŠç¥ãæ©èœããã«ã¯ãæå¹ã«ããŸãã LLC (æçµã¬ãã«ãã£ãã·ã¥) ã¡ããªã¯ã¹ã CMT ããµããŒãããææ°ã® Intel ãµãŒããŒã ãã§ãªãã次ã®ã¡ããªã¯ã¹ãåéããŸãã
ã¡ããªã¯ã¹
å¥ä»
ãã©ã°ã€ã³
ã³ã¡ã³ã
cpu_l3_cache
ãªã
ã€ã³ãã«ãå¿
èŠ
ã¯ã©ã¹ã¿ãŒ ããŒã¿ ã¢ãã« (ããã©ã«ã): Nova ã¯ã©ã¹ã¿ãŒ ããŒã¿ ã¢ãã« ã³ã¬ã¯ã¿ãŒã 䜿çšãããæ¹æ³ã¯ç§»è¡ã§ãã
ããã·ã¥ããŒãã䜿çšããŠãã®ç®æšã«åãçµãããšã¯ãQueens ã§ã¯å®å šã«ã¯å®è£ ãããŠããŸããã
ç±ã®æé©å â 枩床ã¬ãžãŒã ãæé©åããŸãã åºå£ (ææ°) 枩床ã¯ããµãŒããŒã®ç±/ã¯ãŒã¯ããŒãã®ã¹ããŒã¿ã¹ã枬å®ããããã®éèŠãªç±ãã¬ã¡ã㪠ã·ã¹ãã ã® XNUMX ã€ã§ãã ã¿ãŒã²ããã«ã¯ãåºå£æž©åºŠããŒã¹ã®æŠç¥ãšãã XNUMX ã€ã®æŠç¥ãããããœãŒã¹ ãã¹ãã®åºå£æž©åºŠãæ§æå¯èœãªãããå€ã«éãããšãã«ãç±çã«æå©ãªãã¹ã (åºå£æž©åºŠãæãäœã) ã«ã¯ãŒã¯ããŒãã移è¡ããããšã決å®ããŸãã
ãã®æŠç¥ãæ©èœããã«ã¯ãIntel Power Node Manager ãã€ã³ã¹ããŒã«ããæ§æããããµãŒããŒãå¿
èŠã§ãã
ã¡ããªã¯ã¹
å¥ä»
ãã©ã°ã€ã³
ã³ã¡ã³ã
hardware.ipmi.node.outlet_temporal
IPMI
æŠç¥ãã©ã¡ãŒã¿:
ãã©ã¡ãŒã¿ãŒ
ÑОп
ããã©ã«ãã§
説æ
ãããå€
æ°
35.0
移è¡ã®æž©åºŠãããå€ã
æé
æ°
30
ã¡ããªã㯠ããŒã¿ ãœãŒã¹ããçµ±èšéèšãååŸããæééé (ç§åäœ)ã
䜿çšãããæ¹æ³ã¯ç§»è¡ã§ãã
ãšã¢ãããŒã®æé©å â ææ°ã¢ãŒããæé©åããŸãã ç¬èªã®æŠç¥ - ã©ã€ã ãã€ã°ã¬ãŒã·ã§ã³ã䜿çšããåäžãªãšã¢ãããŒã ãã®æŠç¥ã§ã¯ããµãŒã㌠ãã¡ã³ããã®ãšã¢ãããŒãæå®ããããããå€ãè¶ ãããã³ã«ãä»®æ³ãã·ã³ã®ç§»è¡ãããªã¬ãŒãããŸãã
æŠç¥ãæ©èœããã«ã¯ã次ã®ãã®ãå¿ èŠã§ãã
- ããŒããŠã§ã¢: èšç®ããŒã < NodeManager 3.0 ããµããŒãã
- å°ãªããšã XNUMX ã€ã®ã³ã³ãã¥ãŒãã£ã³ã° ããŒãã
- ceilometer-agent-compute ããã³ Ceilometer API ã³ã³ããŒãã³ãã¯åã³ã³ãã¥ãŒãã£ã³ã° ããŒãã«ã€ã³ã¹ããŒã«ããã³æ§æãããŠããããšã¢ãããŒãã·ã¹ãã é»åãåžæ°æž©åºŠãªã©ã®ã¡ããªã¯ã¹ãæ£åžžã«ã¬ããŒãã§ããŸãã
ã¡ããªã¯ã¹
å¥ä»
ãã©ã°ã€ã³
ã³ã¡ã³ã
ããŒããŠã§ã¢.ipmi.node.airflow
IPMI
ããŒããŠã§ã¢.ipmi.ããŒã.枩床
IPMI
ããŒããŠã§ã¢.ipmi.node.power
IPMI
ãã®æŠç¥ãæ©èœããã«ã¯ãIntel Power Node Manager 3.0 以éãã€ã³ã¹ããŒã«ãããæ§æãããŠãããµãŒããŒãå¿ èŠã§ãã
å¶éäºé : ãã®æŠå¿µã¯éçšãç®çãšãããã®ã§ã¯ãããŸããã
å埩ããšã« XNUMX å°ã®ä»®æ³ãã·ã³ã®ã¿ã移è¡ããäºå®ã§ãããããç¶ç¶çãªç£æ»ã§ãã®ã¢ã«ãŽãªãºã ã䜿çšããããšããå§ãããŸãã
ã©ã€ããã€ã°ã¬ãŒã·ã§ã³ãå¯èœã§ãã
æŠç¥ãã©ã¡ãŒã¿:
ãã©ã¡ãŒã¿ãŒ
ÑОп
ããã©ã«ãã§
説æ
ãããå€_æ°æµ
æ°
400.0
移è¡ã®ãšã¢ãããŒãããå€ åäœã¯ 0.1CFM
ãããå€_ã€ã³ã¬ãã_t
æ°
28.0
移è¡å€å®ã®ããã®å
¥å£æž©åºŠéŸå€
ãããå€_é»å
æ°
350.0
移è¡æ±ºå®ã®ããã®ã·ã¹ãã é»åãããå€
æé
æ°
30
ã¡ããªã㯠ããŒã¿ ãœãŒã¹ããçµ±èšéèšãååŸããæééé (ç§åäœ)ã
䜿çšãããæ¹æ³ã¯ç§»è¡ã§ãã
ããŒããŠã§ã¢ä¿å® â ããŒããŠã§ã¢ã®ã¡ã³ããã³ã¹ã ãã®ç®æšã«é¢é£ããæŠç¥ã¯ãŸãŒã³ç§»è¡ã§ãã ãã®æŠç¥ã¯ãããŒããŠã§ã¢ã®ã¡ã³ããã³ã¹ãå¿ èŠãªå Žåã«ãä»®æ³ãã·ã³ãšãã£ã¹ã¯ãå¹æçã«èªåãã€æå°éã«ç§»è¡ããããã®ããŒã«ã§ãã æŠç¥ã¯ãéã¿ä»ãã«åŸã£ãŠè¡åèšç»ãæ§ç¯ããŸããããéã¿ä»ããããäžé£ã®ã¢ã¯ã·ã§ã³ããä»ã®ã¢ã¯ã·ã§ã³ãããå ã«èšç»ãããŸãã action_weights ãšäžŠååãšãã XNUMX ã€ã®æ§æãªãã·ã§ã³ããããŸãã
å¶éäºé : ã¢ã¯ã·ã§ã³ã®éã¿ãšäžŠååãæ§æããå¿ èŠããããŸãã
æŠç¥ãã©ã¡ãŒã¿:
ãã©ã¡ãŒã¿ãŒ
ÑОп
ããã©ã«ãã§
説æ
èšç®ããŒã
é
å
ãªã
移è¡çšã®ã³ã³ãã¥ãŒãã£ã³ã° ããŒãã
ã¹ãã¬ãŒãžããŒã«
é
å
ãªã
移è¡çšã®ã¹ãã¬ãŒãž ããŒãã
䞊ååèš
æŽæ°
6
䞊è¡ããŠå®è¡ããå¿
èŠãããã¢ã¯ãã£ããã£ã®ç·æ°ã
ããŒãããšã®äžŠå
æŽæ°
2
åèšç®ããŒãã§äžŠè¡ããŠå®è¡ãããã¢ã¯ã·ã§ã³ã®æ°ã
ããŒã«ããšã®äžŠå
æŽæ°
2
åã¹ãã¬ãŒãž ããŒã«ã«å¯ŸããŠäžŠè¡ããŠå®è¡ãããã¢ã¯ã·ã§ã³ã®æ°ã
åªå
é äœ
ãªããžã§ã¯ã
ãªã
ä»®æ³ãã·ã³ãšãã£ã¹ã¯ã®åªå
é äœãªã¹ãã
æ·»ä»ããªã¥ãŒã ä»ã
ããŒã«å€
Ã
False - ãã¹ãŠã®ãã£ã¹ã¯ã移è¡ãããåŸã«ä»®æ³ãã·ã³ã移è¡ãããŸãã True - æ¥ç¶ãããŠãããã¹ãŠã®ãã£ã¹ã¯ã移è¡ãããåŸã«ä»®æ³ãã·ã³ã移è¡ãããŸãã
ã³ã³ãã¥ãŒãã£ã³ã° ããŒãã®é åã®èŠçŽ :
ãã©ã¡ãŒã¿ãŒ
ÑОп
ããã©ã«ãã§
説æ
src_node
æåå
ãªã
ä»®æ³ãã·ã³ã®ç§»è¡å
ã®ã³ã³ãã¥ãŒãã£ã³ã° ããŒã (å¿
é )ã
dst_node
æåå
ãªã
ä»®æ³ãã·ã³ã®ç§»è¡å
ã®ããŒããèšç®ããŸãã
ã¹ãã¬ãŒãž ããŒãã®é åèŠçŽ :
ãã©ã¡ãŒã¿ãŒ
ÑОп
ããã©ã«ãã§
説æ
src_pool
æåå
ãªã
ãã£ã¹ã¯ã®ç§»è¡å
ã®ã¹ãã¬ãŒãž ããŒã« (å¿
é )ã
dst_pool
æåå
ãªã
ãã£ã¹ã¯ã®ç§»è¡å
ã®ã¹ãã¬ãŒãž ããŒã«ã
src_type
æåå
ãªã
å
ã®ãã£ã¹ã¯ã®ã¿ã€ã (å¿
é )ã
dst_type
æåå
ãªã
çµæã®ãã£ã¹ã¯ã®çš®é¡ (å¿
é )ã
ãªããžã§ã¯ãã®åªå é äœèŠçŽ :
ãã©ã¡ãŒã¿ãŒ
ÑОп
ããã©ã«ãã§
説æ
ãããžã§ã¯ã
é
å
ãªã
ãããžã§ã¯ãåã
èšç®ããŒã
é
å
ãªã
ããŒãåãèšç®ããŸãã
ã¹ãã¬ãŒãžããŒã«
é
å
ãªã
ã¹ãã¬ãŒãžããŒã«åã
èšç®
åæå
ãªã
ä»®æ³ãã·ã³ã®ãã©ã¡ãŒã¿ [âvcpu_numâãâmem_sizeâãâdisk_sizeâãâcreated_atâ]ã
ã¹ãã¬ãŒãžå©çšæ
åæå
ãªã
ãã£ã¹ã¯ãã©ã¡ãŒã¿ [âsizeâãâcreated_atâ]ã
䜿çšãããæ¹æ³ã¯ãä»®æ³ãã·ã³ã®ç§»è¡ããã£ã¹ã¯ã®ç§»è¡ã§ãã
åé¡ãããŠããŸãã - æŠç¥éçºããã»ã¹ãä¿é²ããããã«äœ¿çšãããè£å©çãªç®æšã ä»æ§ã¯å«ãŸããŠããªããããæŠç¥ãæ¢åã®ç®æšã«ãŸã é¢é£ä»ããããŠããªãå Žåã¯ãã€ã§ã䜿çšã§ããŸãã ãã®ç®æšã¯ç§»è¡ç¹ãšããŠã䜿çšã§ããŸãã ãã®ç®æšã«é¢é£ããæŠç¥ãã¢ã¯ãã¥ãšãŒã¿ãŒã§ãã
æ°ããç®æšã®äœæ
ãŠã©ããã£ãŒææ決å®ãšã³ãžã³ ã«ã¯ãæŠç¥ã䜿çšããŠéæã§ããå€éšç®æšãçµ±åã§ãããå€éšç®æšããã©ã°ã€ã³ ã€ã³ã¿ãŒãã§ã€ã¹ããããŸãã
æ°ããç®æšãäœæããåã«ãããŒãºãæºããæ¢åã®ç®æšããªãããšã確èªããå¿ èŠããããŸãã
æ°ãããã©ã°ã€ã³ã®äœæ
æ°ããã¿ãŒã²ãããäœæããã«ã¯ãã¿ãŒã²ãã ã¯ã©ã¹ãæ¡åŒµããã¯ã©ã¹ ã¡ãœãããå®è£ ããå¿ èŠããããŸãã get_name() äœæããæ°ããã¿ãŒã²ããã®äžæã® ID ãè¿ããŸãã ãã®äžæã®èå¥åã¯ãåŸã§å®£èšãããšã³ã㪠ãã€ã³ãåãšäžèŽããå¿ èŠããããŸãã
次ã«ã¯ã©ã¹ã¡ãœãããå®è£ ããå¿ èŠããããŸã get_display_name() äœæããã¿ãŒã²ããã®ç¿»èš³ããã衚瀺åãè¿ããŸã (翻蚳ããŒã«ã«ãã£ãŠèªåçã«åéãããããã«ã翻蚳ãããæååãè¿ãã®ã«å€æ°ã䜿çšããªãã§ãã ãã)ã
ã¯ã©ã¹ã¡ãœãããå®è£ ãã get_translatable_display_name()æ°ããã¿ãŒã²ããã®ç¿»èš³ã㌠(å®éã«ã¯è±èªã®è¡šç€ºå) ãè¿ããŸãã æ»ãå€ã¯ãget_display_name() ã«å€æãããæååãšäžèŽããå¿ èŠããããŸãã
圌ã®ã¡ãœãããå®è£ ãã get_effficacy_specation()ã¿ãŒã²ããã®å¹çä»æ§ãè¿ããŸãã get_effficacy_specation() ã¡ãœããã¯ãWatcher ã«ãã£ãŠæäŸããã Unclassified() ã€ã³ã¹ã¿ã³ã¹ãè¿ããŸãã ãã®ããã©ãŒãã³ã¹ä»æ§ã¯ç©ºã®ä»æ§ã«å¯Ÿå¿ãããããç®æšãäœæããããã»ã¹ã«åœ¹ç«ã¡ãŸãã
â
ãŠã©ããã£ãŒã®ã¢ãŒããã¯ã㣠(詳现)
ã³ã³ããŒãã³ã
ãŠã©ããã£ãŒAPI - Watcher ãæäŸãã REST API ãå®è£
ããã³ã³ããŒãã³ãã 察話ã¡ã«ããºã : CLIãHorizoâân ãã©ã°ã€ã³ãPython SDKã
ãŠã©ããã£ãŒ DB â ãŠã©ããã£ãŒ ããŒã¿ããŒã¹ã
ãŠã©ããã£ãŒ ã¢ãã©ã€ã¢ â Watcher Decision Engine ã³ã³ããŒãã³ãã«ãã£ãŠäœæãããã¢ã¯ã·ã§ã³ ãã©ã³ã®å®è¡ãå®è£ ããã³ã³ããŒãã³ãã
ãŠã©ããã£ãŒææ決å®ãšã³ãžã³ - ç£æ»ç®æšãéæããããã®äžé£ã®æœåšçãªæé©åã¢ã¯ã·ã§ã³ãèšç®ããã³ã³ããŒãã³ãã æŠç¥ãæå®ãããŠããªãå Žåãã³ã³ããŒãã³ãã¯æé©ãªæŠç¥ãç¬ç«ããŠéžæããŸãã
ãŠã©ããã£ãŒ ã¡ããªã¯ã¹ ãããªãã·ã£ãŒ - ããã€ãã®ã¡ããªã¯ã¹ãŸãã¯ã€ãã³ããåéããã³èšç®ããCEP ãšã³ããã€ã³ãã«å ¬éããã³ã³ããŒãã³ãã ã³ã³ããŒãã³ãã®æ©èœã¯ãCeilometer çºè¡è ã«ãã£ãŠæäŸãããããšããããŸãã
è€åã€ãã³ãåŠç (CEP) ãšã³ãžã³ â è€éãªã€ãã³ãåŠççšã®ãšã³ãžã³ã ããã©ãŒãã³ã¹äžã®çç±ãããè€æ°ã® CEP ãšã³ãžã³ ã€ã³ã¹ã¿ã³ã¹ãåæã«å®è¡ããããããããç¹å®ã®çš®é¡ã®ã¡ããªãã¯/ã€ãã³ããåŠçããå ŽåããããŸãã Watcher ã·ã¹ãã ã§ã¯ãCEP ã¯æ¬¡ã® XNUMX çš®é¡ã®ã¢ã¯ã·ã§ã³ãããªã¬ãŒããŸãã - 察å¿ããã€ãã³ã/ã¡ããªã¯ã¹ãæç³»åããŒã¿ããŒã¹ã«èšé²ããŸãã - Openstack ã¯ã©ã¹ã¿ãŒã¯éçã·ã¹ãã ã§ã¯ãªãããããã®ã€ãã³ããçŸåšã®æé©åæŠç¥ã®çµæã«åœ±é¿ãäžããå¯èœæ§ãããå Žåãé©åãªã€ãã³ãã Watcher Decision Engine ã«éä¿¡ããŸãã
ã³ã³ããŒãã³ã㯠AMQP ãããã³ã«ã䜿çšããŠå¯Ÿè©±ããŸãã
â
Watcherãšã®å¯Ÿè©±ã¹ããŒã
ãŠã©ããã£ãŒãã¹ãã®çµæ
- [æé©å - ã¢ã¯ã·ã§ã³ ãã©ã³ 500] ããŒãž (çŽç²ãª Queens ãš Tionix ã¢ãžã¥ãŒã«ãåããã¹ã¿ã³ãã®äž¡æ¹) ã§ã¯ãç£æ»ãéå§ãããŠã¢ã¯ã·ã§ã³ ãã©ã³ãçæãããåŸã«ã®ã¿è¡šç€ºããã空ã®ããŒãžã¯éåžžã©ããéããŸãã
- [ã¢ã¯ã·ã§ã³ã®è©³çŽ°] ã¿ãã«ãšã©ãŒããããç£æ»ç®æšãšæŠç¥ãååŸã§ããŸãã (çŽç²ãª Queen ãš Tionix ã¢ãžã¥ãŒã«ãåããã¹ã¿ã³ãã®äž¡æ¹)ã
- ãã㌠(ãã¹ã) ãç®çãšããç£æ»ãéåžžã©ããäœæããã³éå§ãããã¢ã¯ã·ã§ã³ ãã©ã³ãçæãããŸãã
- æªåé¡ã®ç®æšã¯æ©èœãããæ°ããæŠç¥ãäœæãããšãã®äžéæ§æãç®çãšããŠãããããç£æ»ã¯äœæãããŸããã
- ã¯ãŒã¯ããŒã ãã©ã³ã·ã³ã° (ã¹ãã¬ãŒãžå®¹éãã©ã³ã¹æŠç¥) ãç®çãšããç£æ»ã¯æ£åžžã«äœæãããŸãããã¢ã¯ã·ã§ã³ ãã©ã³ã¯çæãããŸããã ã¹ãã¬ãŒãžããŒã«ã®æé©åã¯å¿ èŠãããŸããã
- ã¯ãŒã¯ããŒã ãã©ã³ã·ã³ã°ã®ç®æš (ã¯ãŒã¯ããŒã ãã©ã³ã¹ç§»è¡æŠç¥) ã®ç£æ»ã¯æ£åžžã«äœæãããŸãããã¢ã¯ã·ã§ã³ ãã©ã³ã¯çæãããŸããã
- ã¯ãŒã¯ããŒã ãã©ã³ã·ã³ã° (ã¯ãŒã¯ããŒãå®å®åæŠç¥) ã®ç£æ»ã倱æããŸãã
- Noisy Neighbor ã¿ãŒã²ããã®ç£æ»ã¯æ£åžžã«äœæãããŸãããã¢ã¯ã·ã§ã³ ãã©ã³ã¯çæãããŸããã
- ããŒããŠã§ã¢ ã¡ã³ããã³ã¹ãç®çãšããç£æ»ã¯æ£åžžã«äœæãããŸãããã¢ã¯ã·ã§ã³ ãã©ã³ã¯å®å šã«ã¯çæãããŸãã (ããã©ãŒãã³ã¹ ã€ã³ãžã±ãŒã¿ãŒã¯çæãããŸãããã¢ã¯ã·ã§ã³ã®ãªã¹ãèªäœã¯çæãããŸãã)ã
- ã³ã³ãã¥ãŒãã£ã³ã° ããŒãããã³å¶åŸ¡ããŒãäžã® nova.conf æ§æ (ããã©ã«ã ã»ã¯ã·ã§ã³ compute_monitors = cpu.virt_driver) ãç·šéããŠãããšã©ãŒã¯ä¿®æ£ãããŸããã
- ãµãŒããŒçµ±å (åºæ¬æŠç¥) ã察象ãšããç£æ»ã倱æããŸãã
- ãµãŒããŒçµ±å (VM ã¯ãŒã¯ããŒãçµ±åæŠç¥) ãç®çãšããç£æ»ããšã©ãŒã§å€±æããŸãã ãã°ã«ã¯ããœãŒã¹ ããŒã¿ã®ååŸäžã«ãšã©ãŒãèšé²ãããŠããŸãã ç¹ã«ãšã©ãŒã«é¢ããè°è«
ãã㧠.
æ§æãã¡ã€ã«ã§ Watcher ãæå®ããããšããŸãã (圹ã«ç«ã¡ãŸããã§ããããã¹ãŠã®æé©åããŒãžã§ãšã©ãŒãçºçãããããæ§æãã¡ã€ã«ã®å ã®å 容ã«æ»ã£ãŠãç¶æ³ã¯ä¿®æ£ãããŸãã)ã [watcher_strategies.basic] ããŒã¿ãœãŒã¹ = ceilometerããã§ãã - çãšãã®ç£æ»ã倱æããŸãã ãã°ããå€æãããšãåé¡ã¯äŸç¶ãšã㊠Ironic ãååšããªãããšã§ããããã¢ã¡ã¿ã« ãµãŒãã¹ããªããã°æ©èœããŸããã
- ç±æé©åã®ç£æ»ã倱æããŸãã ãã¬ãŒã¹ããã¯ã¯ãµãŒããŒçµ±å (VM ã¯ãŒã¯ããŒãçµ±åæŠç¥) ãšåãã§ã (ãœãŒã¹ ããŒã¿ ãšã©ãŒ)
- ãšã¢ãããŒã®æé©åãç®çãšããç£æ»ã¯ãšã©ãŒã§å€±æããŸãã
次ã®ç£æ»å®äºãšã©ãŒãçºçããŸãã Decision-engine.log ãã°ã®ãã¬ãŒã¹ãã㯠(ã¯ã©ã¹ã¿ãŒç¶æ ã¯å®çŸ©ãããŠããŸãã)ã
â ãšã©ãŒã«ã€ããŠã®è°è«
ãŸãšã
ç§ãã¡ã® XNUMX ãæã«ããã調æ»ã®çµæã¯ãæ¬æ Œçã«æ©èœããè² è·åæ£ã·ã¹ãã ãååŸããã«ã¯ããã®éšå㧠Openstack ãã©ãããã©ãŒã çšã®ããŒã«ãæ¹è¯ããããšã«ç·å¯ã«åãçµãå¿ èŠããããšããæçœãªçµè«ã§ããã
Watcher ã¯ãéåžžã«å€§ããªå¯èœæ§ãç§ãããæ¥éã«çºå±ããŠããæ¬æ Œçãªè£œåã§ããããšã蚌æãããŠããããããå®å šã«äœ¿çšããã«ã¯ãå€ãã®çå£ãªäœæ¥ãå¿ èŠã§ãã
ãã ããããã«ã€ããŠã¯ããã®ã·ãªãŒãºã®æ¬¡ã®èšäºã§è©³ãã説æããŸãã
åºæïŒ habr.com