Как создать облачный сервер с помощью Ubuntu Enterprise Cloud

Статья для тех, кто хочет создать собственную “облачную” систему с использованием специального продукта для запуска частных Amazon-EC2-подобных облаков Ubuntu Enterprise Cloud (UEC).

Для того чтобы развернуть облако, необходимо иметь хотя бы два компьютера: один будет использоваться в качестве front-end сервера, облачного контроллера (cloud controller – clc) или контроллера кластеров (cluster controller – cc), который управляет средой облака, другой для контроллеров узлов (node controllers – nc) с процессором, поддерживающим технологию виртуализации Virtualization Technology (VT). Чтобы проверить поддерживает ваш процессор VT или нет в Windows запустите утилиту SecurAble, а в Linux: если в файле /proc/cpuinfo параметры “vmx” или “svm”. Запустите команду egrep ‘(vmx|svm)’ /proc/cpuinfo. Но имейте в виду, что вы получите результат только в том случаи, если эта возможность включена. Она может быть отключена в BIOS-е.

Или посмотрите список процессоров Intel, которые поддерживают технологию VT тут.

Подготовка к инсталляции

1) Скачайте образ CD для версии Ubuntu Server remix тут (мы будем использовать версию 9.10).

2) Запишите образ ISO на CD.

Установка Front-End сервера

– Вставьте диск с инсталлятором и в загрузочном меню выберите пункт “Install Ubuntu Enterprise Cloud”. Укажите язык, раскладку клавиатуры, настройки сети.

– Когда появится запрос на выбор режима установки “Cloud Installation Mode”, оставьте все настройки по-умолчанию ( то есть “Cluster”, “кластер”) и просто нажмите Enter.

– Установите часовой пояс и задайте настройки раздела. И после того, как раздел будет подготовлен, запустится установка. В самом конце, будет предложено создать учетную запись пользователя.

– Настройте параметры прокси, автоматическое обновление и электронную почту. А также задайте имя кластера Eucalyptus Cluster и IP-адресацию чтобы пользователи получали динамически назначаемые им адреса.

Установка и регистрация контроллеров узлов

– Вставьте установочный диск, в меню выберите “Install Ubuntu Enterprise Cloud”, нажмите клавишу Enter и указывайте запрашиваемые настройки.

– Когда нужно будет выбрать режим установки Cloud Installation Mode, инсталлятор сам обнаружить существующий кластер. Вам нужно будет только задать вариант установки “Node” (“Узел”) и нажать Enter. Далее останется только задать настройку раздела.

Регистрация контроллеров узлов

1) Для начала выясните IP адрес узла (узлов) с помощью команды /sbin/ifconfig

2) Далее, устанавливаем на контроллере узла открытый ssh ключ, который возьмём с front-end сервера:
– установите временный пароль для пользователя eucalyptus:
sudo passwd eucalyptus

– на front-end сервере введите команду sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub eucalyptus@ чтобы скопировать SSH ключ.

3) С помощью команды sudo passwd -d eucalyptus вы можете удалить пароль учетной записи eucalyptus.

4) После того, как узлы будут подняты и ключ скопирован, запустите на front-end сервере команду sudo euca_conf –no-rsync –discover-nodes и добавьте узлы.

Получение и установка идентификационной информации пользователя

1) На front-end сервере выполните команды:
mkdir -p ~/.euca
chmod 700 ~/.euca
cd ~/.euca
sudo euca_conf –get-credentials mycreds.zip (It takes a while for this to complete; just wait)
unzip mycreds.zip
cd –

(создаём новую директорию, экспортируем в него заархивированную идентификационную информацию пользователя, а затем распаковываем файлы).

Настройка EC2 API и инструментального пакета AMI

Теперь настраиваем на front-end сервере пакет EC2 API и инструментальный пакет AMI.

1) Все настройки среды Eucalyptus берутся из файла eucarc. Введите ~/.euca/eucarc

И чтобы при входе в систему настройки не происходили автоматически, введите команду echo “[ -r ~/.euca/eucarc ] && . ~/.euca/eucarc” >> ~/.bashrc чтобы записать предыдущую команду в файл ~/.bashrc

2) Кодом sudo apt-get install ^31vmx32^4 устанавливаем инструментальные пакеты пользователя облачной системы.

3) Удостоверимся, что всё работает и получим детальную информацию об имеющемся кластере:
. ~/.euca/eucarc
euca-describe-availability-zones verbose

Доступ к панели управления

Чтобы получить доступ к веб-интерфейсу конфигурационной утилите, с любого компьютера в этой сети, перейдите по адресу https://:8443.

После регистрации на front-end сервере, будет показан IP-адрес облачного контроллера. И это будет безопасное соединение по протоколу HTTPS, а не HTTP. И потому, возможно, Вы получите предупреждение от браузера, что в сервере используется самоподписываемый сертификат вместо официального, которые выдаёт одна из служб сертификации Certificate Authority (CA). Просто проигнорируйте сообщение и добавьте его в список исключений.

По умолчанию используется логин и пароль “admin”. После первой регистрации нужно будет ввести новый пароль и контактный email.

Установка образов

Откройте в конфигурационной утилите вкладку Store и для установки нужного образа нажмите Install.

Запуск образов

– Создаёте пару ключей для SSH перед тем, как в первый раз запустить образа на узле:
touch ~/.euca/mykey.priv
chmod 0600 ~/.euca/mykey.priv
euca-add-keypair mykey > ~/.euca/mykey.priv

– Откройте на узле 22 порт :
euca-describe-groups
euca-authorize default -P tcp -p 22 -s 0.0.0.0/0

– Запускаем зарегистрированный образ. Войдите в систему через веб-интерфейс. Чтобы запустить нужный образ, в вкладке Store выберите ссылку How to Run и укажите нужную команду в появившемся окне.

– Состояние запущенного образа можно узнать:
watch -n5 euca-describe-instances

– При переходе из состояния ожидания (“pending”) в процессе выполнения (“running”), определите назначенный IP адрес и подключитесь к нему:
IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk ‘{print $4}’)
ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR

– Завершите подключение по SSH:
INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk ‘{print $2}’)
euca-terminate-instances $INSTANCEID

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

Несколько советов по обслуживанию облака

• чтобы перезапустить front-end сервер:
sudo service eucalyptus [start|stop|restart]

• чтобы восстановить работу узла:
sudo service eucalyptus-nc [start|stop|restart]

Файлы с важными данными:
Файлы журналов: /var/log/eucalyptus
конфигурационные файлы: /etc/eucalyptus
база данных: /var/lib/eucalyptus/db
ключи: /var/lib/eucalyptus и /var/lib/eucalyptus/.ssh

Всегда новая версия программного продукта на сайте разработчика. А также читайте документацию.