OpenNebula - OpenSource решение за организиране на IaaS

отворен код завинаги

В момента моделът IaaS става все по-популярен за организиране на частен облак, помислете за възможностите, предоставени от OpenSource проекта OpenNebula

В "предоблачните" времена системният администратор, когато имаше няколко физически сървъра под негово управление, трябваше да се справя с не особено гъвкава инфраструктура. В крайна сметка, ако нямаше достатъчно ресурси, беше закупен нов, по-мощен сървър, който се използва вместо или като допълнение към стария под формата на клъстер или балансиране на натоварването. Ако нямаше много компютри, тогава такава схема не създаваше много проблеми с работата. Но тъй като системите станаха по-големи, стана много неудобно да се управлява всичко. Проблемът беше решен чрез виртуализация, която позволява изграждането на няколко виртуални сървъра на един мощен физически сървър, като гъвкаво разпределя необходимите ресурси за всеки. Появата на IaaS е следващият логичен етап в развитието на ИТ, тъй като цялата инфраструктура се управлява от един център, администраторът може да създава нови системи с необходимите характеристики в движение и да променя настройките на текущите, да прехвърля сървъри и много други, за които преди само е мечтал. За да повишите своя IaaS подобно на Amazon EC2, няма нужда да купувате скъпи лицензи или да се свързвате с доставчик на услуги, тук е напълно възможно да решите всичко, като се свържете с един от проектите на OpenSource. Освен това има какво да избирате - OpenNebula, Eucalyptus, OpenStack, CloudStack, openQRM, Nimbus и някои други. Всеки от тях заслужава специално внимание, но в статията ще се спрем по-подробно на OpenNebula.

Включва OpenNebula

  • Front-end - услуга OpenNebula (изисква Ruby);
  • Хостове - възли, съдържащи хипервайзори (изисква ssh и конфигуриран хипервайзор);
  • База данни -използвани за съхраняване на опции на OpenNebula (поддържани от MySQL или SQLite).

Всеки компонент на OpenNebula съдържа определени изисквания, всички от които са описани доста добре в документацията, която също трябва да бъде специално отбелязана. Остава да добавим, че ядрото е написано на C++, помощните програми за управление са написани на Ruby и Shell.

Инсталиране на OpenNebula на Ubuntu 12.04

Актуалната версия към момента на писане на тези редове е 4.0.1. Версията има редица подобрения и е фокусирана върху производствените среди, така че разработчиците препоръчват надграждане въпреки това. Между другото, всички издания са кръстени на звездна мъглявина. Проектът предлага готови пакети за инсталиране на 64-битови версии на Ubuntu, Debian, openSUSE и RHEL / CentOS (има хранилище за openSUSE и CentOS), както и изходни кодове, с които можете да инсталирате OpenNebula в други дистрибуции. Самият процес на инсталиране не е сложен по никакъв начин, въпреки че в документацията и Wiki ми се струва, че не е много подробен и може би дори малко объркващ, и следователно изисква известно внимание. Например, нека анализираме инсталацията и конфигурацията на OpenNebula на една машина, достатъчно, за да разберем принципите и да научим как да работим. Създаването на виртуална среда е добре описано в много ресурси в Интернет, така че ще пропусна този момент. Пакетите могат да бъдат намерени в официалните хранилища на дистрибуции, но не винаги са най-актуалните.

Налични са и изображения за VMware и KVM, както и достъп до демо облака, където можете да се запознаете с OpenNebula без инсталация. Забележително е, че размерът на инсталационните файлове е малък, например пакетът deb за Ubuntu отнема само 2,5 MB. За управление на мрежата създайте мост на всеки хост. Инсталирайте пакета bridge-utils:

Ако има няколко мрежови карти, тогава действията за всяка карта са подобни. Обърнете внимание също, че хранилището на изображения се намира в/var/lib/one/images, трябва да се внимава да има достатъчно място.

Ние инсталираме пакети, за да задоволим зависимостите (различно е за всяка версия на OpenNebula, така че може да има разяснения тук):

Един компонент ще бъде инсталиран чрез gem.

На възлите е необходим SSH сървър за достъп.

NFS се използва за експортиране на изображения и настройки.

И рестартираме сървъра.

Всичко е готово за инсталиране на OpenNebula. Изтеглете deb пакета и го инсталирайте.

Разработчиците предлагат скрипт, който помага за допълнително инсталиране на някои модули за определени роли, също така е по-добре да го стартирате от съображения за безопасност (може би нещо се е променило).

След това ще трябва да изберете разпределение и роля. Но очевидно install_gems е предназначен за тези, които инсталират от източника. В крайна сметка, ако не инсталирате пакета OpenNebula deb - няма да получим скрипта, няма да инсталираме зависимостите, споменати по-горе - самият пакет няма да стане. Освен това се нуждаем от MySQL база данни, командите тук са стандартни:

Настройка на потребителската среда

В случай на инсталиране на сървърната част с изходни кодове и на управлявани хостове, всички тези операции ще трябва да се извършват ръчно. Важно: във всички възли потребителят и групата трябва да имат еднакъв идентификатор.

Сега влизаме като oneadmin и въвеждаме ssh-keygen, оставяйки всички параметри по подразбиране. В документацията също така се предлага да се задават променливи

/.bash_profile. Във версия 3.6 при инсталиране с помощта на пакета deb нямаше нужда от това, променливите бяха зададени автоматично, така че ще дам пример. Спецификата на OpenNebula еТъй като много команди трябва да се издават като потребител oneadmin, може да има проблеми при използването на sudo. За да избегнете объркване в бъдеще, всички команди, дадени от името на oneadmin, ще бъдат маркирани с подкана „oneadmin$“. Регистрирайте се като oneadmin.

След това трябва да предоставите възможност за удостоверяване чрез SSH без парола, за това ние копираме ключовете и създаваме

Копирайте директорията/var/lib/one/.ssh към всеки възел, след което трябва да се свържем с възела, за да проверим дали връзката се осъществява без искане на парола и възелът е добавен къмизвестен хост

Всички имена на хостове трябва да бъдат разрешени чрез DNS, за предпочитане в/etc/hosts. След инсталирането се създава и поддиректория

Важен момент, който не е описан в документацията, но с който се сблъсква всеки, който инсталира OpenNebula с помощта на пакети - трябва да нулирате потребителската парола, генерирана по време на инсталацията в базата данни. Ако това не бъде направено, тогава в бъдеще ще получим съобщение за невъзможността за удостоверяване на потребителя „Потребителят не може да бъде удостоверен, прекъсване на повикването“. За тази цел използваме помощната програма oneuser с параметъра passwd; трябва да предадем потребителското име и новата парола като стойности. Oneadmin ID винаги е 0.

Сега записваме паролата в чист текст във файла

/.one/one_auth в противен случай отново "Потребителят не може да бъде удостоверен, прекратява повикването".

Редактиране на конфигурационни файлове

Отваряме конфигурационния файл на единствения демон, в него има много настройки (мрежа, съхранение на изображения, мониторинг, регистриране, конфигурация на драйвери и т.н.), но повечето от тях засега могат да бъдат оставени недокоснати. Ние се интересуваме само от свързване с базата данни. Редактиране с помощта на готов шаблон.

За да стартирате OpenNebula, регистрирайте се катоoneadmin.

Изпълняваме всяка команда, изходът не трябва да съдържа грешки. Например.

В случай на проблеми трябва да се обърнете към дневника, който се намира в/var/log/one, в oned.log и sched.log. По-специално, въвеждането на “cat /var/log/one/oned.log ” ще получи списък с конфигурационния файл и съобщения за стартирането на определени параметри. Можете да добавите нов възел с помощта на командата:

където im_mad е драйверът за информация, използван за наблюдение на хоста, vmm_mad е драйверът за виртуализация за управление на хоста. Всички възможни настройки са изброени в oned.conf. Добавяне.

След получаване на списък с параметри, състоянието на възела се маркира като ВКЛ. По-подробна информация за конкретен хост ще бъде показана чрез командата "onehost show "

Получаваме потребителски акаунти с тази команда.

Но е по-вероятно всички тези операции при използване на уеб интерфейса да изглеждат по-лесни и по-ясни за някого.

Настройка на интерфейса

Настройките на OpenNebula Sunstone са посочени в/etc/one/sunstone-server.conf, което като цяло е ясно и добре документирано. Не можете да докосвате нищо, просто стартирайте услугата.

Останалото може да остане недокоснато. Ние стартираме.

За управление се предлага набор от помощни програми “occi-* ”, например списък с устройства за съхранение може да бъде получен по този начин.

Като отворим браузъра на страницатаhttp://example.org:4567/ui ще получим достъп до уеб интерфейса за самообслужване на OpenNebula, неговите възможности са до голяма степен същите като на Sunstone.

OpenNebula
По същия начин се активира услугата OpenNebula Zones, чиито параметри са посочени в /etc/one/ozones-server.conf.
iaas
решение
решение

Разбира се, в рамките на статията е просто невъзможно да се покажат всички аспекти на такъв мощен и гъвкав инструмент като OpenNebula, но тукОтново изпращам документацията на проекта, което помага много.