Linux Mint    Ubuntu    openSUSE    Asterisk    FreeBSD    Android    Nokia N900    Игры в Linux
 Linux Mint    Ubuntu     openSUSE     Asterisk     FreeBSD     Android     N900     Games

Установка и настройка OpenNebula. Создание и управление cloud-инфраструктурой

Добрового времени суток всем пользователям и гостям данного ресура! Сегодня я хочу начать совершенно новую тему, тему которая у нас пользуется довольно большим спросом и знать ее не просто "модно", а необходимо для успешного продвижения себя на рынке IT. Это "Облачные вычисления".

Итак, для понятия общих сведений о том, что же это такое, читаем материал: Облачные вычисления.

Сегодня я расскажу об одном opensource-решении, платформе для организации управления cloud-инфраструктурой и виртуальными окружениями - OpenNebula.

На официальном сайте проекта, бинарный сборки имеются для openSUSE, Ubuntu и Debian GNU/Linux. Я расмотрю пример на базе openSUSE 11.4.

Установка

Для добавления репозитория OpenNebula в openSUSE 11.4, вводим команду в терминле:

sudo zypper ar http://download.opensuse.org/repositories/Virtualization:/Cloud:/OpenNebula/openSUSE_11.4/Virtualization:Cloud:OpenNebula.repo

Далее устанавливаем сам пакет:

sudo zypper in opennebula

После чего будет скачен и установлен OpenNebula на ваш ПК.

Также, если вы хотите установить Web-UI для прсмотра и управления вашим OpenNebula-облаком через веб-браузер.

Для установки, вводим:

sudo zypper in opennebula-sunstone

Настройка

Вообще вся настройка OpenNebula проходит в командной строке. После установки данной платформы, в вашей системе создается пользователь "oneadmin" с домашней директорией:

  • /var/lib/one

Пароль для него - susenebula, был автоматом сгенирирован. Для установки своего пароля, делаем следующее:

sudo passwd oneadmin

Все действия, которые вы делаете с cloud-инфраструктурой, делается под этим пользователем. Соответственно вам надо будет под ним залогиниться.

Для того, чтобы больше не гинерировать пароль для пользователя oneadmin, сделайте следующее (под root):

sudo -u oneadmin mkdir /var/lib/one/.one

эта команда создаст директорию аутентификационного файла.

Далее создаем файл:

echo "oneadmin:<пишем свой пароль>" >& /var/lib/one/.one/one_auth

chown oneadmin:cloud /var/lib/one/.one/one_auth

Хранилище VM в OpenNebula по-умолчанию находится в директории: /var/lib/one/images. Обратите внимание на то, чтобы места было достаточно для хранения всех образов ваших VM.

Таже обращаю ваше внимание на следующее:

Как я уже говорил выше, пользователь oneadmin является администратором вашей cloud-инфраструктуры и соответственно он должен быть на всех узлах (нодах) вашей cloud-инфраструктуры с одинаковым UID (User ID). Как показала практика, есть решение, которое вы можете использовать:

Сделайте ваш головной узел cloud-инфраструктуры в NIS-сервер, и настройте остальные ноды как NIS-клиенты. Это все настраивается через YaST2.

Если вы уже имеете NIS-сервер в вашей сети, то можете просто добавить пользователя oneadmin в конфиг вашего NIS и дать доступ всем другим узлам (нодам) доступ к NIS.

Также директория вашего oneadmin может/содержит различные скрипты, которые востребованы, если запускается VM в вашем облаке. Чтобы не копировать каждый скрипт на каждую машину в вашем облаке, делаем следующее:

Расшариваем домашнию директорию (/var/lib/one/.one) пользователя oneadmin через NFS и монтируем ее на узлы в вашем облаке.

Делаем это следующим способом:

Открываем YaST2 и далее "NFS Server":

Далее стартуем NFS сервер и открываем порт в Firewall:

Также активируем NSFv4 и вписывем имя вашего доменена. Как все сделали, нажимаем "Далее". В следующем окне, нажимаем на "Add Directory" и добавляем домашнею директорию пользователя oneadmin - /var/lib/one/.one:

Также присвойте следующии параметры:

  • no_subtree_check,rw,root_squash,sync

В конце получите следующее окно:

Далее нажимаем "Finish" для сохраниения.

Теперь давайте рассмотрим сервис управления облаками.

Сервис "oned" - управления облаками

Данный сервис назывется "oned" и стартует он со специальным скриптом, который называется "one".

Во время первого запуска этого сервиса, создается специальная переменная "ONE_AUTH". Для запуска и создания ее, введите под root:

env ONE_AUTH=/var/lib/one/.one/one_auth /etc/init.d/one start

Вы увидите надпись "done". Сейчас сервис запущен и создана переменная "ONE_AUTH", для последующей работы. Стоит отметить, что она создается только раз и сохраняется у вас.

Далее вводим:

insserv one

Убедитесь, что сервис "network" в вашей системе, имеет доступ к уровню Runlevel 2, а "syslog" к 4 соответственно. По умолчанию в openSUSE 11.4 этого не стоит, поэтому меняем все в YaST2 в разделе "System Services (Runlevel)":

Команда выше (insserv one), добавляет скрипт one в init, для последующего автозапуска, если машина будет перезагружена.

Настрока Web-UI

Как я писал в начале статьи, Web-UI служит для упраления вашим OpenNebula-облаком. Пакет, который отвечает за это - opennebula-sunstone.

После того как opennebula-sunstone был установлен, активируем его двумя командами:

/etc/init.d/sunstone start

После чего вы в терминале увидите надпись "sunstone-server started".

Далее введите:

insserv sunstone

Теперь в браузере вводим адрес: localhost:4567 (по умолчанию стоит имено 4567, который вы можете поменять) и вы увидите следущею страницу:

Далее вводим:

  • Username: oneadmin
  • Password: тот, который вы ему присвоили в начале статьи

И там уже можете набоюдать все компьютеры, VM в вашей cloud-инфраструктуре.

Вот такую работу я проделал, изучая OpenNebule. Уверен, еще работы очень много, например нужно еще будет произвести установку монитора виртуальных машин (Hypervisor), платформу виртуализвации Xen или KVM и тд. Я обо всем буду делиться с вами :)

Скачать OpenNebula можете c официального сайта проекта. Также там найдете много полезной документации.

Linux_man аватар

начал изучать эту технологию, потому что она набирает обороты. Буду дальше документировать в этом направлении :)

jekson аватар

не пробовал на практике создавать машины и подключаться к ним?

Linux_man аватар

пока еще нет, в настоящий момент настраиваю hypervisor для дальнейшей работы... напишу потом, что да как :)

DIV аватар

я бы хотел узнать, про установку в ubuntu в 11.04. А то не охота переходить на opensuse из-за одной программы. (:

Linux_man аватар

на счет ubuntu не могу подсказать... не пробывал там. Но тут есть пользователи этого дистра, надеюсь они напишут такой материал или про openstack. Все таки ubuntu перешла именно на него :)

jekson аватар

сама установка sudo apt-get install opennebula а дальше уже что-то по статьей, что-то по мануалам )

DIV аватар

это то я знаю и apt-get install sunstone, чтобы поставить web-ui. Хотел бы инструкцию в ubuntu.

Что про OpenStock? Можете подсказать?

Linux_man аватар

я позже напишу про openstack в opensuse, по ubuntu не даю гарантии, что так же все делается :)

Гость аватар

А у меня что то не пускает в систему :( Ввожу логин и пароль -пофиг
просто вист, потом сообщение что мол opennebula is not running