Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Openstack

Π’ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… систСмах особСнно остро стоит вопрос автоматичСской балансировки ΠΈΠ»ΠΈ выравнивания Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы. ΠžΠ·Π°Π±ΠΎΡ‚ΠΈΠ»ΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹ΠΌ вопросом ΠΈ Π² ВиониксС (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… услуг, Π²Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ РостСлСкома).

И, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ нашСй основной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ являСтся Openstack, Π° ΠΌΡ‹, ΠΊΠ°ΠΊ ΠΈ всС люди, Π»Π΅Π½ΠΈΠ²Ρ‹, Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² составС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Наш Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Π» Π½Π° Watcher, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для своих Π½ΡƒΠΆΠ΄.
Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Openstack
Для Π½Π°Ρ‡Π°Π»Π° разбСрСмся с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ ΠΈ опрСдСлСниями.

Π’Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΈ опрСдСлСния

ЦСль β€” это Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ, Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ достигнут. Для достиТСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ†Π΅Π»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΎΠ΄Π½Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ стратСгии. БтратСгия β€” это рСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ способСн Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ.

ДСйствиС (Action) β€” это элСмСнтарная Π·Π°Π΄Π°Ρ‡Π°, которая измСняСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ управляСмого рСсурса кластСра OpenStack, такая ΠΊΠ°ΠΊ: миграция Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ (migration), ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояния питания ΡƒΠ·Π»Π° (change_node_power_state), ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояния слуТбы nova (change_nova_service_state), ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ флэвора (resize), рСгистрация NOP сообщСния (nop), отсутствиС дСйствий Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” ΠΏΠ°ΡƒΠ·Π° (sleep), пСрСнос диска (volume_migrate).

План дСйствий (Action Plan) β€” спСцифичСский ΠΏΠΎΡ‚ΠΎΠΊ дСйствий, осущСствлСнных Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС для достиТСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π¦Π΅Π»ΠΈ. План дСйствий Ρ‚Π°ΠΊΠΆΠ΅ содСрТит ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ эффСктивности. План дСйствий гСнСрируСтся Watcher ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π°ΡƒΠ΄ΠΈΡ‚Π΅, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ использованная стратСгия Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для достиТСния Ρ†Π΅Π»ΠΈ. План дСйствий состоит ΠΈΠ· списка ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… дСйствий.

Аудит (Audit) β€” это запрос Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ кластСра. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ выполняСтся для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΎΠ΄Π½Ρƒ ЦСль Π² Π΄Π°Π½Π½ΠΎΠΌ кластСрС. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π°ΡƒΠ΄ΠΈΡ‚Π° Watcher Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ План дСйствий.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π°ΡƒΠ΄ΠΈΡ‚Π° (Audit Scope) β€” это Π½Π°Π±ΠΎΡ€ рСсурсов, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… производится Π°ΡƒΠ΄ΠΈΡ‚ (Π·ΠΎΠ½Π°(Ρ‹) доступности, Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€Ρ‹ ΡƒΠ·Π»ΠΎΠ², ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ·Π»Ρ‹ ΠΈΠ»ΠΈ ΡƒΠ·Π»Ρ‹ хранСния ΠΈ Ρ‚.Π΄.). ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π°ΡƒΠ΄ΠΈΡ‚Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шаблонС. Если ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π°ΡƒΠ΄ΠΈΡ‚Π° Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, производится Π°ΡƒΠ΄ΠΈΡ‚ всСго кластСра.

Π¨Π°Π±Π»ΠΎΠ½ Π°ΡƒΠ΄ΠΈΡ‚Π° (Audit Template) β€” сохранСнный Π½Π°Π±ΠΎΡ€ настроСк для запуска Π°ΡƒΠ΄ΠΈΡ‚Π°. Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π°ΡƒΠ΄ΠΈΡ‚Ρ‹ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ настройками. Π¨Π°Π±Π»ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ†Π΅Π»ΡŒ Π°ΡƒΠ΄ΠΈΡ‚Π°, Ссли стратСгии Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ, Ρ‚ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящиС ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… стратСгий.

ΠšΠ»Π°ΡΡ‚Π΅Ρ€ (Cluster) β€” это Π½Π°Π±ΠΎΡ€ физичСских машин, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы, рСсурсы хранСния ΠΈ сСтСвыС рСсурсы ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ ΡƒΠ·Π»ΠΎΠΌ OpenStack.

МодСль Π΄Π°Π½Π½Ρ‹Ρ… кластСра (Cluster Data Model, CDM) β€” это логичСскоС прСдставлСниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния ΠΈ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ управляСмых кластСром рСсурсов.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ эффСктивности (Efficacy Indicator) β€” ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ выполняСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, созданноС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠΉ стратСгии. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ эффСктивности спСцифичны для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для расчСта глобальной эффСктивности ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° дСйствий.

БпСцификация эффСктивности (Efficacy Specification) β€” это Π½Π°Π±ΠΎΡ€ спСцифичСских особСнностСй, связанный с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ЦСлью, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ эффСктивности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стратСгия, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ достиТСниС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ†Π΅Π»ΠΈ, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π² своСм Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ стратСгиСй, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ Π½Π° соотвСтствиС спСцификации, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

β€œΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉβ€ Π΄Π²ΠΈΠΆΠΎΠΊ (Scoring Engine) β€” это исполняСмый Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ выполняСт чисто ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, расчСт Π½Π΅ зависит ΠΎΡ‚ срСды, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ выполняСтся, β€” ΠΎΠ½ даст ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² любом мСстС.

Watcher ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ (Watcher Planner) β€” Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Watcher. Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ дСйствий, сгСнСрированных стратСгиСй, ΠΈ создаСт ΠΏΠ»Π°Π½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт, ΠΊΠ°ΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ эти Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ дСйствия ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дСйствия, ΠΊΠ°ΠΊΠΎΠ²Ρ‹ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ условия.

Π¦Π΅Π»ΠΈ ΠΈ стратСгии Watcher

ЦСль
Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ

Dummy goal
Dummy StrategyΒ 

Dummy Strategy using sample Scoring Engines

Dummy strategy with resize

Saving Energy
Saving Energy Strategy

Server Consolidation
Basic Offline Server Consolidation

VM Workload Consolidation Strategy

Workload Balancing
Workload Balance Migration Strategy

Storage Capacity Balance Strategy

Workload stabilization

Noisy Neighbor
Noisy Neighbor

Thermal Optimization
Outlet temperature based strategy

Airflow Optimization
Uniform airflow migration strategy

Hardware maintenance
Zone migration

Unclassified
Actuator

Dummy goal β€” рСзСрвная Ρ†Π΅Π»ΡŒ, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для тСстирования (reserved goal that is used for testing purposes).

БвязанныС стратСгии: Dummy Strategy, Dummy Strategy using sample Scoring Engines ΠΈ Dummy strategy with resize. Dummy strategy β€” фиктивная стратСгия, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ тСстирования Ρ‡Π΅Ρ€Π΅Π· Tempest. Π­Ρ‚Π° стратСгия Π½Π΅ обСспСчиваСт Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Π΅Π³ΠΎ СдинствСнная Ρ†Π΅Π»ΡŒ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ тСсты Tempest.

Dummy strategy using sample Scoring Engines β€” стратСгия Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ, отличаСтся лишь использованиСм ΠΎΠ±Ρ€Π°Π·Ρ†Π° β€œΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ двиТка”, Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ подсчСт с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² машинного обучСния.

Dummy strategy with resize β€” стратСгия Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ, отличаСтся лишь использованиСм измСнСния флэвора (миграция ΠΈ рСсайз).

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½.

Saving Energy β€” ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ энСргии. БтратСгия Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ Saving Energy Strategy совмСстно со стратСгиСй VM Workload Consolidation Strategy (Server Consolidation) способна Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ динамичСского управлСния ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ (DPM), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΡΠ½Π΅Ρ€Π³ΠΈΡŽ Π·Π° счСт динамичСской консолидации Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π΄Π°ΠΆΠ΅ Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ Π½ΠΈΠ·ΠΊΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ рСсурсов: Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ пСрСносятся Π½Π° мСньшСС количСство ΡƒΠ·Π»ΠΎΠ², Π° Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ ΡƒΠ·Π»Ρ‹ β€” ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ. ПослС консолидации стратСгия ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΡƒΠ·Π»ΠΎΠ² Π² соотвСтствии с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ: β€œmin_free_hosts_num” β€” количСство свободных Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΈ β€œfree_used_percent” β€” ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½ΠΎΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ свободных Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² ΠΊ количСству ΡƒΠ·Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ занято машинами. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ стратСгии Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈ настроСн Ironic для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ/ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ питания Π½Π° ΡƒΠ·Π»Π°Ρ….

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ стратСгии

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Ρ‚ΠΈΠΏ
ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
описаниС

free_used_percent
Number
10.0
ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ количСства свободных Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² ΠΊ количСству Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ машинами

min_free_hosts_num
Int
1
минимальноС количСство свободных Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ²

Π’ ΠΎΠ±Π»Π°ΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π° ΡƒΠ·Π»Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояния питания ΡƒΠ·Π»Π° (change_node_power_state). Π‘Π±ΠΎΡ€Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ стратСгия Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚.

Server Consolidation β€” ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² (консолидация). Π˜ΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ стратСгии: Basic Offline Server Consolidation ΠΈ VM Workload Consolidation Strategy.

БтратСгия Basic Offline Server Consolidation ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… сСрвСров, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ количСство ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ.

Базовая стратСгия Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ:

ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°
слуТба
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

compute.node.cpu.percent
ceilometer
none
Β 

cpu_util
ceilometer
none
Β 

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ стратСгии: migration_attempts β€” количСство ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ для поиска ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ² Π½Π° Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, 0, Π½Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ), period β€” ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² сСкундах для получСния статичСской Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ ΠΈΠ· источника Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, 700).

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹: миграция, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояния слуТбы nova (change_nova_service_state).

БтратСгия VM Workload Consolidation Strategy основана Π½Π° эвристичСской Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ подходящСго (first-fit), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ фокусируСтся Π½Π° ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ CPU ΠΈ пытаСтся ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ·Π»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ слишком Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΈΠ»ΠΈ слишком Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Смкости рСсурсов. Π­Ρ‚Π° стратСгия прСдоставляСт Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π±ΠΎΠ»Π΅Π΅ эффСктивному использованию рСсурсов кластСра, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ этапа:

  1. Π€Π°Π·Π° Ρ€Π°Π·Π³Ρ€ΡƒΠ·ΠΊΠΈ β€” ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° пСрСрасходованных рСсурсов;
  2. Π€Π°Π·Π° консолидации β€” ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° нСдостаточно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… рСсурсов;
  3. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ β€” сокращСниС количСства ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ;
  4. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ².

БтратСгия Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ:

ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°
слуТба
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

memory
ceilometer
none
Β 

disk.root.size
ceilometer
none
Β 

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Π½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ точности стратСгии, Ссли доступны:

ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°
слуТба
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

memory.resident
ceilometer
none
Β 

cpu_util
ceilometer
none
Β 

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ стратСгии: period β€” ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² сСкундах для получСния статичСской Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ ΠΈΠ· источника Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, 3600).

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‡Ρ‚ΠΎ ΠΈ прСдыдущая стратСгия. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ здСсь.

Workload Balancing β€” ΡΠ±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΡƒΠ·Π»Π°ΠΌΠΈ. ЦСль ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ трСмя стратСгиями: Workload Balance Migration Strategy, Workload stabilization, Storage Capacity Balance Strategy.

Workload Balance Migration Strategy запускаСт ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин Π½Π° основС Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΡƒΠ·Π»ΠΎΠ². РСшСниС ΠΎ пСрСносС принимаСтся всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° % использования CPU ΠΈΠ»ΠΈ ΠžΠ—Π£ ΡƒΠ·Π»Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ€ΠΎΠ³. ΠŸΡ€ΠΈ этом пСрСмСщаСмая Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ ΡƒΠ·Π΅Π» ΠΊ срСднСй Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ всСх ΡƒΠ·Π»ΠΎΠ².

ВрСбования

  • ИспользованиС физичСских процСссоров;
  • ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π° физичСских Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»Π°;
  • УстановлСнный ΠΈ настроСнный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ceilometer β€” ceilometer-agent-compute, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΡƒΠ·Π»Π΅, ΠΈ Ceilometer API, Π° Ρ‚Π°ΠΊΠΆΠ΅ сбор ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ:

ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°
слуТба
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

cpu_util
ceilometer
none
Β 

memory.resident
ceilometer
none
Β 

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ стратСгии:

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Ρ‚ΠΈΠΏ
ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
описаниС

metrics
String
β€˜cpu_util’
ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅ΠΆΠ°Ρ‚ Π² основС: β€˜cpu_util’, β€˜memory.resident’.

threshold
Number
25.0
ΠŸΠΎΡ€ΠΎΠ³ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ.

period
Number
300
Π‘ΠΎΠ²ΠΎΠΊΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ceilometer.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” миграция.

Workload stabilization β€” стратСгия, направлСнная Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с использованиСм ΠΆΠΈΠ²ΠΎΠΉ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ. БтратСгия основана Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ стандартного отклонСния ΠΈ опрСдСляСт, сущСствуСт Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° Π² кластСрС, ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° Π½Π΅Π΅ ΠΏΡƒΡ‚Π΅ΠΌ запуска ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ машин для стабилизации кластСра.

ВрСбования

  • ИспользованиС физичСских процСссоров;
  • ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π° физичСских Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»Π°;
  • УстановлСнный ΠΈ настроСнный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ceilometer β€” ceilometer-agent-compute, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΡƒΠ·Π»Π΅, ΠΈ Ceilometer API, Π° Ρ‚Π°ΠΊΠΆΠ΅ сбор ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ:

ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°
слуТба
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

cpu_util
ceilometer
none
Β 

memory.resident
ceilometer
none
Β 

Storage Capacity Balance Strategy (стратСгия Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° начиная с Queens) β€” стратСгия пСрСносит диски Π² зависимости ΠΎΡ‚ загруТСнности ΠΏΡƒΠ»ΠΎΠ² Cinder. РСшСниС ΠΎ пСрСносС принимаСтся всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° коэффициСнт использования ΠΏΡƒΠ»Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ€ΠΎΠ³. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹ΠΉ диск Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΡƒΠ» ΠΊ срСднСй Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ всСх ΠΏΡƒΠ»ΠΎΠ² Cinder.

ВрСбования ΠΈ ограничСния

  • ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π° ΠΏΡƒΠ»Π° Cinder;
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ дисков.
  • МодСль Π΄Π°Π½Π½Ρ‹Ρ… кластСра β€” Cinder cluster data model collector.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ стратСгии:

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Ρ‚ΠΈΠΏ
ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
описаниС

volume_threshold
Number
80.0
ΠŸΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ дисков для балансировки объСмов.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” миграция диска (volume_migrate).

Noisy Neighbor β€” ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ пСрСнСсти β€œΡˆΡƒΠΌΠ½ΠΎΠ³ΠΎ сосСда” β€” Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с Π½ΠΈΠ·ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ, которая Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с высоким ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния IPC, Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Last Level Cache. БобствСнная стратСгия: Noisy Neighbor (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ стратСгии β€” cache_threshold (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” 35), ΠΏΡ€ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ значСния запускаСтся миграция. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ стратСгии Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ LLC (Last Level Cache) ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, послСдний Intel сСрвСр с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ CMT, Π° Ρ‚Π°ΠΊΠΆΠ΅ сбор ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ:

ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°
слуТба
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

cpu_l3_cache
ceilometer
none
НСобходим Intel CMT.

МодСль Π΄Π°Π½Π½Ρ‹Ρ… кластСра (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ): Nova cluster data model collector. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” миграция.

Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ Ρ‡Π΅Ρ€Π΅Π· Dashboard Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΏΠΎΠ»Π½ΠΎΠΌ объСмС Π² Queens.

Thermal Optimization β€” ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ. Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ (вытяТной Π²ΠΎΠ·Π΄ΡƒΡ…) являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ‚Π΅ΠΏΠ»ΠΎΠ²Ρ‹Ρ… тСлСмСтричСских систСм для измСрСния состояния Ρ‚Π΅ΠΏΠ»ΠΎΠ²ΠΎΠΉ / Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сСрвСра. Для Ρ†Π΅Π»ΠΈ имССтся ΠΎΠ΄Π½Π° стратСгия β€” Outlet temperature based strategy, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ пСрСносС Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π½Π° ΡƒΠ·Π»Ρ‹ с благоприятным Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ (самая низкая Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅), ΠΊΠΎΠ³Π΄Π° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ исходных хостов достигаСт настраиваСмого ΠΏΠΎΡ€ΠΎΠ³Π°.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ стратСгии Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ сСрвСр с установлСнным ΠΈ настроСнным Intel Power Node Manager 3.0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ вСрсии, Π° Ρ‚Π°ΠΊΠΆΠ΅ сбор ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ:

ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°
слуТба
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

hardware.ipmi.node.outlet_temperature
ceilometer
IPMI
Β 

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ стратСгии:

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Ρ‚ΠΈΠΏ
ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
описаниС

threshold
Number
35.0
Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹ΠΉ ΠΏΠΎΡ€ΠΎΠ³ для ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ.

period
Number
30
Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² сСкундах для получСния статистичСской Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ ΠΈΠ· источника Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” миграция.

Airflow Optimization β€” ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ вСнтилирования. БобствСнная стратСгия β€” Uniform Airflow using live migration. БтратСгия  запускаСт ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π΄ΡƒΡˆΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΡ‚ вСнтилятора сСрвСра ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ€ΠΎΠ³.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ стратСгии Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹:

  • АппаратноС обСспСчСниС: Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ·Π»Ρ‹ <с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ NodeManager 3.0;
  • ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»Π°;
  • УстановлСнный ΠΈ настроСнный Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΡƒΠ·Π»Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Β  ceilometer-agent-compute ΠΈ Ceilometer API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ ΠΎ Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ… ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊ Π²ΠΎΠ·Π΄ΡƒΡ…Π°, ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ систСмы, Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Π½Π° Π²Ρ…ΠΎΠ΄Π΅:

ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°
слуТба
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

hardware.ipmi.node.airflow
ceilometer
IPMI
Β 

hardware.ipmi.node.temperature
ceilometer
IPMI
Β 

hardware.ipmi.node.power
ceilometer
IPMI
Β 

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ стратСгии Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ сСрвСр с установлСнным ΠΈ настроСнным Intel Power Node Manager 3.0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ вСрсии.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ: ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π°.

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ с Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΌΠΈ Π°ΡƒΠ΄ΠΈΡ‚Π°ΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π° ΠΎΠ΄Π½Ρƒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ планируСтся миграция Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΆΠΈΠ²Ρ‹Π΅ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ стратСгии:

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Ρ‚ΠΈΠΏ
ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
описаниС

threshold_airflow
Number
400.0
Airflow threshold for migration Unit is 0.1CFM

threshold_inlet_t
Number
28.0
Inlet temperature threshold for migration decision

threshold_power
Number
350.0
System power threshold for migration decision

period
Number
30
Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² сСкундах для получСния статистичСской Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ ΠΈΠ· источника Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” миграция.

Hardware Maintenance β€” обслуТиваниС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств. БтратСгия, относящаяся ΠΊ Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»Π΅, β€” Zone migration.Β  БтратСгия являСтся инструмСнтом для эффСктивной автоматичСской ΠΈ минимальной ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈ дисков Π² случаС нСобходимости провСдСния тСхничСского обслуТивания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств. БтратСгия выстраиваСт ΠΏΠ»Π°Π½ дСйствий Π² соотвСтствии с вСсами: Π½Π°Π±ΠΎΡ€ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ больший вСс, Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Ρ€Π°Π½ΡŒΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ…. БущСствуСт Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ: вСса дСйствий (action_weights) ΠΈ распараллСливаниС (parallelization).

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° настройка вСсов дСйствий ΠΈ распараллСливания.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ стратСгии:

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Ρ‚ΠΈΠΏ
ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
описаниС

compute_nodes
array
None
Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ·Π»Ρ‹ для ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ.

storage_pools
array
None
Π£Π·Π»Ρ‹ хранСния для ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ.

parallel_total
integer
6
ΠžΠ±Ρ‰Π΅Π΅ количСство дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ.

parallel_per_node
integer
2
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ дСйствий, выполняСмых ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π°.

parallel_per_pool
integer
2
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ дСйствий, выполняСмых ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡƒΠ»Π° хранСния.

priority
object
None
Бписок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈ дисков.

with_attached_volume
boolean
False
False β€” Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ пСрСнСсСны послС пСрСноса всСх дисков. True β€” Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ пСрСнСсСны послС ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ всСх ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… дисков.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ²:

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Ρ‚ΠΈΠΏ
ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
описаниС

src_node
string
None
Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠ·Π΅Π», с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ пСрСносятся Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ).

dst_node
string
None
Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΡƒΠ·Π΅Π», Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΈΠ³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива ΡƒΠ·Π»ΠΎΠ² хранСния:

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Ρ‚ΠΈΠΏ
ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
описаниС

src_pool
string
None
ΠŸΡƒΠ» хранСния, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ пСрСносятся диски (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ).

dst_pool
string
None
ΠŸΡƒΠ» хранСния, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСносятся диски.

src_type
string
None
Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ диска (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ).

dst_type
string
None
Π˜Ρ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ диска (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ).

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ приоритСтности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Ρ‚ΠΈΠΏ
ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
описаниС

project
array
None
ИмСна ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

compute_node
array
None
ИмСна Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ².

storage_pool
array
None
ИмСна ΠΏΡƒΠ»ΠΎΠ² хранСния.

compute
enum
None
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ [β€œvcpu_num”, β€œmem_size”, β€œdisk_size”, β€œcreated_at”].

storage
enum
None
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ дисков [β€œsize”, β€œcreated_at”].

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ β€” миграция Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин, миграция дисков.

Unclassified β€” Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ†Π΅Π»ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для облСгчСния процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ стратСгии. НС содСрТит спСцификаций ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° стратСгия Π΅Ρ‰Π΅ Π½Π΅ связана с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ†Π΅Π»ΡŒΡŽ. Π­Ρ‚Π° Ρ†Π΅Π»ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π² качСствС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ этапа. Бвязанная с Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ стратСгия β€” Actuator.Β Β Β 

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Ρ†Π΅Π»ΠΈ

Watcher Decision Engine ΠΈΠΌΠ΅Π΅Ρ‚ интСрфСйс ΠΏΠ»Π°Π³ΠΈΠ½Π° β€œΠ²Π½Π΅ΡˆΠ½Π΅ΠΉ цСли”, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ внСшнюю Ρ†Π΅Π»ΡŒ, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ достигнута с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стратСгии.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ†Π΅Π»ΡŒ, слСдуСт ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ Π½Π΅ соотвСтствуСт вашим потрСбностям.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ†Π΅Π»ΡŒ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹: Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ класс Ρ†Π΅Π»ΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса get_name () для возвращСния ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½ΠΎΠ²ΠΎΠΉ Ρ†Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΠΎΠ·ΠΆΠ΅.

Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса get_display_name () для возвращСния ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ†Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ (Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ строки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° ΠΌΠΎΠ³Π»Π° автоматичСски ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒΡΡ инструмСнтом ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°.).

Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса get_translatable_display_name (), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° (фактичСски английскоС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ имя) вашСй Π½ΠΎΠ²ΠΎΠΉ Ρ†Π΅Π»ΠΈ. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ со строкой, ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π² get_display_name ().

Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ get_efficacy_specification (), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ эффСктивности для вашСй Ρ†Π΅Π»ΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ get_efficacy_specification () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ экзСмпляр Unclassified (), прСдоставлСнный Watcher. Π­Ρ‚Π° спСцификация эффСктивности ΠΏΠΎΠ»Π΅Π·Π½Π° Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ вашСй Ρ†Π΅Π»ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° соотвСтствуСт пустой спСцификации.

β†’ ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ здСсь

АрхитСктура Watcher (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ здСсь).

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Openstack

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Openstack

Watcher API β€” ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ REST API, прСдоставляСмый Watcher. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ взаимодСйствия: CLI, ΠΏΠ»Π°Π³ΠΈΠ½ Horizon, Python SDK.

Watcher DB β€” Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Watcher.

Watcher Applier β€” ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π° дСйствий, созданного ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ Watcher Decision Engine.

Watcher Decision Engine β€” ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° вычислСниС Π½Π°Π±ΠΎΡ€Π° ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… дСйствий ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для выполнСния Ρ†Π΅Π»ΠΈ Π°ΡƒΠ΄ΠΈΡ‚Π°. Если стратСгия Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ.

Watcher Metrics Publisher β€” ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ собираСт ΠΈ вычисляСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈΠ»ΠΈ события ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ ΠΈΡ… Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ CEP. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Ceilometer publisher.

Complex Event Processing (CEP) Engine β€” Π΄Π²ΠΈΠΆΠΎΠΊ комплСксной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий. По сообраТСниям ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько экзСмпляров CEP Engine, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ / событий. Π’ систСмС Watcher CEP запускаСт Π΄Π²Π° Ρ‚ΠΈΠΏΠ° дСйствий: β€” Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ события / ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов; β€” ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ события Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Watcher Decision Engine, ΠΊΠΎΠ³Π΄Π° это событиС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ стратСгии ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ кластСр Openstack Π½Π΅ являСтся статичСской систСмой.

ВзаимодСйствиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² осущСствляСтся ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ AMQP.

β†’ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Watcher

Π‘Ρ…Π΅ΠΌΠ° взаимодСйствия с Watcher

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Openstack

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования Watcher

  1. На страницС Optimization β€” Action plans 500 ошибка (ΠΊΠ°ΠΊ Π½Π° чистом Queens, Ρ‚Π°ΠΊ ΠΈ Π½Π° стСндС с модулями Вионикс), появляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ запускаСтся Π°ΡƒΠ΄ΠΈΡ‚ ΠΈ гСнСрируСтся ΠΏΠ»Π°Π½ дСйствий, пустая открываСтся Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.
  2. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Action details ошибки, Π½Π΅ удаСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΡŒ ΠΈ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ Π°ΡƒΠ΄ΠΈΡ‚Π° (ΠΊΠ°ΠΊ Π½Π° чистом Queens, Ρ‚Π°ΠΊ ΠΈ Π½Π° стСндС с модулями Вионикс).
  3. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Dummy (тСстовыС) ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠ»Π°Π½Ρ‹ дСйствий.
  4. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Unclassified Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ†Π΅Π»ΡŒ Π½Π΅ являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ настройки ΠΏΡ€ΠΈ создании Π½ΠΎΠ²Ρ‹Ρ… стратСгий.
  5. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Workload Balancing (стратСгия Storage Capacity balance) ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠ»Π°Π½ дСйствий Π½Π΅ гСнСрируСтся. НС трСбуСтся оптимизация ΠΏΡƒΠ»ΠΎΠ² хранСния.
  6. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Workload Balancing (стратСгия Workload Balance Migration Strategy) ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠ»Π°Π½ дСйствий Π½Π΅ гСнСрируСтся.
  7. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Workload Balancing (стратСгия Workload Stabilization Strategy) Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ ошибкой.
  8. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Noisy Neighbor ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠ»Π°Π½ дСйствий Π½Π΅ гСнСрируСтся.
  9. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Hardware maintenance ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΏΠ»Π°Π½ дСйствий гСнСрируСтся Π½Π΅ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ объСмС (Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ эффСктивности, Π½ΠΎ Π½Π΅ гСнСрируСтся сам список дСйствий).
  10. ΠŸΡ€Π°Π²ΠΊΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°Ρ… nova.conf (Π² default сСкции compute_monitors = cpu.virt_driver) Π½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ ΡƒΠ·Π»Π΅ Π½Π΅ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ошибки.
  11. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Server Consolidation (стратСгия Basic) Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ с ошибкой.
  12. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Server Consolidation (стратСгия VM workload consolidation) Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ с ошибкой. Π’ Π»ΠΎΠ³Π°Ρ… ошибка получСния исходных Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ ошибки, Π² частности, здСсь.
    ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³-Ρ„Π°ΠΉΠ»Π΅ Watcher (Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ β€” Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ошибки Π½Π° всСх страницах Optimization, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ исходному содСрТимому ΠΊΠΎΠ½Ρ„ΠΈΠ³-Ρ„Π°ΠΉΠ»Π° Π½Π΅ исправляСт ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ):

    [watcher_strategies.basic] datasource = ceilometer, gnocchi
  13. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Saving Energy Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ с ошибкой. Будя ΠΏΠΎ Π»ΠΎΠ³Π°ΠΌ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° всС-Ρ‚Π°ΠΊΠΈ Π² отсутствии Ironic, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· baremetal service.
  14. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Thermal Optimization Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ с ошибкой. ВрСйсбСк Ρ‚ΠΎΡ‚ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ для Server Consolidation (стратСгия VM workload consolidation) (ошибка исходных Π΄Π°Π½Π½Ρ‹Ρ…)
  15. Аудиты с Ρ†Π΅Π»ΡŒΡŽ Airflow Optimization Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ с ошибкой.

Π’ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ошибки Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°ΡƒΠ΄ΠΈΡ‚Π°. ВрСйсбэк Π² Π»ΠΎΠ³Π°Ρ… decision-engine.log (Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ состояниС кластСра).

β†’ ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ ошибки здСсь

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π½Π°ΡˆΠΈΡ… двухмСсячных изысканий стал ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для получСния ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ систСмы балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π°ΠΌ придСтся, Π² этой части, Π²ΠΏΠ»ΠΎΡ‚Π½ΡƒΡŽ Π·Π°Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ инструмСнтария для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Openstack.

Watcher ΠΏΠΎΠΊΠ°Π·Π°Π» сСбя ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ ΠΈ быстро Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΡΡ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΠΎΠΌ, для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ потрСбуСтся большая ΠΈ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°.

Но ΠΎΠ± этом – Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… Ρ†ΠΈΠΊΠ»Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com