Flexiant Cloud Orchestrator: с Ρ‡Π΅ΠΌ Π΅Π³ΠΎ Сдят

Flexiant Cloud Orchestrator: с Ρ‡Π΅ΠΌ Π΅Π³ΠΎ Сдят

Для прСдоставлСния услуги IaaS (Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€) ΠΌΡ‹ Π² Rusonyx ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ коммСрчСский оркСстратор Flexiant Cloud Orchestrator (FCO). Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ достаточно ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‚ извСстных ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ΅ Openstack ΠΈ CloudStack.

Π’ качСствС Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠ² compute Π½ΠΎΠ΄ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ KVM, VmWare, Xen, Virtuozzo6/7, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Virtuozzo. Из ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ – локальноС, NFS, Ceph ΠΈ Virtuozzo Storage.

FCO ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ созданиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… кластСров ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ интСрфСйса. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ кластСром Virtuozzo ΠΈ кластСром KVM + Ceph ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡΡΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡƒ ΠΌΡ‹ΡˆΠΈ.

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

ΠžΡ‡Π΅Π½ΡŒ Ρ€Π°Π΄ΡƒΠ΅Ρ‚ гибкая систСма распрСдСлСния ΠΏΡ€Π°Π² Π½Π° всС рСсурсы ΠΎΠ±Π»Π°ΠΊΠ°: ΠΎΠ±Ρ€Π°Π·Ρ‹, диски, ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, сСрвСра, Ρ„Π°ΠΉΡ€Π²ΠΎΠ»Ρ‹ – всС это ΠΌΠΎΠΆΠ½ΠΎ Β«ΡˆΠ°Ρ€ΠΈΡ‚ΡŒΒ» ΠΈ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π² своСм ΠΎΠ±Π»Π°ΠΊΠ΅ нСсколько нСзависимых Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈ ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния.

Flexiant Cloud Orchestrator: с Ρ‡Π΅ΠΌ Π΅Π³ΠΎ Сдят

АрхитСктурно, FCO состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… частСй, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свой нСзависимый ΠΊΠΎΠ΄, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π‘Π”.

Skyline – админский ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс
Jade – бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°, Π±ΠΈΠ»ΠΈΠ½Π³, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ
Tigerlily – ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ сСрвиса, управляСт ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΠΌΠ΅Π½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ бизнСс Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΈ кластСрами.
XVPManager – ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтами кластСра: Π½ΠΎΠ΄Π°ΠΌΠΈ, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ, ΡΠ΅Ρ‚ΡŒΡŽ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ машинами.
XVPAgent – Π°Π³Π΅Π½Ρ‚, устанавливаСмый Π½Π° Π½ΠΎΠ΄Ρ‹ для взаимодСйствия с XVPManager

Flexiant Cloud Orchestrator: с Ρ‡Π΅ΠΌ Π΅Π³ΠΎ Сдят

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ рассказ ΠΎΠ± Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΡƒΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Ρ†ΠΈΠΊΠ» статСй, Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‚Π΅ΠΌΠ° Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ интСрСс.

Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство FCO Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· Π΅Π³ΠΎ «коробочности». К вашим услугам простота ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ. Для ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π½ΠΎΠ΄Ρ‹ выдСляСтся ΠΎΠ΄Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Π½Π° Ubuntu, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. ВсС настройки выносятся Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² Π²ΠΈΠ΄Π΅ пСрСмСнная-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

# cat /etc/extility/config/vars
…
export LIMIT_MAX_LIST_ADMIN_DEFAULT="30000"
export LIMIT_MAX_LIST_USER_DEFAULT="200"
export LOGDIR="/var/log/extility"
export LOG_FILE="misc.log"
export LOG_FILE_LOG4JHOSTBILLMODULE="hostbillmodule.log"
export LOG_FILE_LOG4JJADE="jade.log"
export LOG_FILE_LOG4JTL="tigerlily.log"
export LOG_FILE_LOG4JXVP="xvpmanager.log"
export LOG_FILE_VARS="misc.log"
…

Вся конфигурация правится ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…, ΠΏΠΎΡ‚ΠΎΠΌ запускаСтся Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€
#build-config ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сформируСт Ρ„Π°ΠΉΠ» vars ΠΈ даст ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ сСрвисам ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс приятный ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ Π·Π°Π±Ρ€Π΅Π½Π΄ΠΈΡ€ΠΎΠ²Π°Π½.

Flexiant Cloud Orchestrator: с Ρ‡Π΅ΠΌ Π΅Π³ΠΎ Сдят

Как Π²ΠΈΠ΄Π½ΠΎ, интСрфСйс состоит ΠΈΠ· Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ доступно ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ/ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ со страницы, Ρ‚Π΅ΠΌ самым формируя Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π΅ΠΌΡƒ dashboard.

НСсмотря Π½Π° свою Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΡΡ‚ΡŒ, FCO – ΠΎΡ‡Π΅Π½ΡŒ кастомизируСмая систСма. Она ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство настроСк ΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ для измСнСния workflow:

  1. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ кастомныС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой Π±ΠΈΠ»ΠΈΠ½Π³-ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ»ΠΈ собствСнный внСшний рСсурс для прСдоставлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ
  2. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ кастомныС Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ события, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΏΡ€ΠΈ Π΅Π³ΠΎ создании
  3. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ кастомныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π² интСрфСйсС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ с youtube прямо Π² интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Вся кастомизация ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π½Π° языкС FDL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ основан Lua. Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Lua, с FDL Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

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

function register()
    return {"pre_user_api_publish"}
end
   
function pre_user_api_publish(p)  
    if(p==nil) then
        return{
            ref = "cancelPublishImage",
            name = "Cancel publishing",
            description = "Cancel all user’s images publishing",
            triggerType = "PRE_USER_API_CALL",
            triggerOptions = {"publishResource", "publishImage"},
            api = "TRIGGER",
            version = 1,
        }
    end

    -- Turn publishing off
    return {exitState = "CANCEL"}
   
end

Ѐункция register Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° ядром FCO. Она Π²Π΅Ρ€Π½Π΅Ρ‚ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€œp” Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ контСст Π²Ρ‹Π·ΠΎΠ²Π°, ΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ пустым (nil). Π§Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наш Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€. Π’ triggerType ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ вызываСтся Π”Πž ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ опубликования, ΠΈ распространяСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Администраторам систСмы, само собой, ΠΌΡ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ всС. Π’ triggerOptions ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ.

И Π³Π»Π°Π²Π½ΠΎΠ΅ – return {exitState = β€œCANCEL”}, Ρ‚ΠΎ для Ρ‡Π΅Π³ΠΎ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ ΠΈ разрабатывался. Он Π²Π΅Ρ€Π½Π΅Ρ‚ нСуспСх, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ попытаСтся ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния.

Π’ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ FCO – любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (диск, сСрвСр, ΠΎΠ±Ρ€Π°Π·, ΡΠ΅Ρ‚ΡŒ, сСтСвой Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ ΠΈ Π΄Ρ€.) прСдставлСны Π² Π²ΠΈΠ΄Π΅ сущности Resource, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

  • UUID рСсурса
  • имя рСсурса
  • Ρ‚ΠΈΠΏ рСсурса
  • UUID Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° рСсурса
  • статус рСсурса (Π°ΠΊΡ‚ΠΈΠ²Π΅Π½, Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½)
  • ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ рСсурса
  • ΠΊΠ»ΡŽΡ‡ΠΈ рСсурса
  • UUID ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ рСсурс
  • VDC рСсурса

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠΎ API, ΠΊΠΎΠ³Π΄Π° со всСми рСсурсами Ρ€Π°Π±ΠΎΡ‚Π° вСдСтся ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠΌ, Π° Π·Π°ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ нас Π±ΠΈΠ»ΠΈΠ½Π³ находится Π² сторонС, Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ свободно-бСсплатно Π·Π°ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ любой ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ. ΠŸΠΎΡΡ‡ΠΈΡ‚Π°Π΅Ρ‚ΡΡ ΠΎΠ½ ΠΏΠΎΠ·ΠΆΠ΅ Π² Π±ΠΈΠ»ΠΈΠ½Π³Π΅. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ – ip адрСс Π² час, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π“Π± диска Π² час ΠΈΠ»ΠΈ просто сСрвСр.

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

МодСль лицСнзирования ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΎΠΏΠ»Π°Ρ‚Ρƒ Π·Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ядро процСссора физичСской Π½ΠΎΠ΄Ρ‹. Π’Π°ΠΊΠΆΠ΅ Π½Π° ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ влияСт количСство Ρ‚ΠΈΠΏΠΎΠ² кластСров. Если планируСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСстС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, KVM ΠΈ VMware, Ρ‚ΠΎ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ возрастСт.

FCO являСтся ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π΅Π³ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ³Π°Ρ‚, поэтому ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ сразу нСсколько статСй с Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ описаниСм функционирования сСтСвой части.

ΠŸΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π² с Π΄Π°Π½Π½Ρ‹ΠΌ оркСстратором нСсколько Π»Π΅Ρ‚ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Π½ΡŒ Π³ΠΎΠ΄Π½Ρ‹ΠΉ. Π£Π²Ρ‹, ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π½Π΅ лишСн изъянов:

  • Π½Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘Π”, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ запросы Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ нарастании количСства Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½ΠΈΡ…;
  • послС ΠΎΠ΄Π½ΠΎΠΉ Π°Π²Π°Ρ€ΠΈΠΈ ΠΈΠ·-Π·Π° Π±Π°Π³Π° Π½Π΅ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π» recovery ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ нСсчастных ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² собствСнным Π½Π°Π±ΠΎΡ€ΠΎΠΌ скриптов;
  • ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π΄Π΅Ρ‚Π΅ΠΊΡ‚Π° нСдоступности Π½ΠΎΠ΄Ρ‹ Π·Π°ΡˆΠΈΡ‚ Π² ΠΊΠΎΠ΄ ΠΈ Π½Π΅ поддаСтся кастомизации. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ опрСдСлСния нСдоступности Π½ΠΎΠ΄Ρ‹.
  • Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ всСгда ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅. Иногда, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ для Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ исходного ΠΊΠΎΠ΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для понимания ΠΏΡ€ΠΈΡ‡ΠΈΠ½;

Π˜Π’ΠžΠ“Πž: Π² Ρ†Π΅Π»ΠΎΠΌ, впСчатлСния ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅. ΠœΡ‹ находимся Π² постоянном ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ оркСстратора. ΠŸΠ°Ρ€Π½ΠΈ располоТСны ΠΊ конструктивному сотрудничСству.

НСсмотря Π½Π° свою простоту FCO,Β ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π’ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹:

  • ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ сСти Π² FCO
  • обСспСчСниС live-recovery ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° FQP
  • написаниС собствСнных ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ²
  • ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСрвисов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Load Balancer ΠΈ Acronis
  • Π±Π΅ΠΊΠ°ΠΏ
  • ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ конфигурирования ΠΈ настройки Π½ΠΎΠ΄
  • ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин

P.S. ΠŸΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях, Ссли интСрСсны ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ аспСкты. Stay tuned!

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