The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка кластера для запуска Cloud-окружений с использованием Ubuntu Enterprise Cloud
Для настройки сервера для запуска Cloud-окружений будем использовать
дистрибутив Ubuntu Enterprise Cloud (http://www.ubuntu.com/cloud/private) в
который интегрирована поддержка платформы Eucalyptus
(http://www.eucalyptus.com/). Будет создан один управляющий
cloud-инфраструктурой фронтэнд-сервер и несколько работающих под его началом
вспомогательных узлов.

Установленный на машинах процессор должен поддерживать средства аппаратной
виртуализации Intel VTx (vmx) или AMD-V (svm). Проверить поддержку можно
убедившись наличие соответствующих флагов в файле   /proc/cpuinfo:

   egrep '(vmx|svm)' /proc/cpuinfo

Устанавливаем на сервер и вспомогательные узлы  Linux дистрибутив Ubuntu Server
9.10, выбрав в меню загрузчика "Install Ubuntu Enterprise Cloud". Далее
проводим инсталляцию с соответствие с личными предпочтениями, а в блоке "Cloud
Installation Mode" выбираем  для управляющего сервера значение по умолчанию
"Cluster", а при установке дополнительных узлов - "Node".

Настройка вспомогательных узлов Cloud-инфраструктуры.

Устанавливаем на узлах публичный SSH-ключ управляющего сервера:
1. Задаем пользователю eucalyptus на конечных узлах пароль:

   sudo passwd eucalyptus

2. На стороне управляющего сервера запускаем команду копирования ssh-ключа на узлы:

   sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub eucalyptus@IP_адрес_узла

3. Очищаем ранее установленный пароль для пользователя eucalyptus, чтобы
заходить можно было только по ключам шифрования:

   sudo passwd -d eucalyptus

После того как аутентификация по ssh-ключам настроена на всех узлах запускаем
на стороне управляющего сервера процесс регистрации узлов:

   sudo euca_conf --no-rsync --discover-nodes

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

На управляющем пользователе создаем директорию ~/.euca и генерируем
идентификационные параметры cloud-инфраструктуры:

   mkdir -p ~/.euca
   chmod 700 ~/.euca
   cd ~/.euca
   sudo euca_conf --get-credentials mycreds.zip
   unzip mycreds.zip
   cd -

Настройка EC2 API и AMI утилит.

На управляющем сервере запускаем скрипт для создания параметров окружения Eucalyptus:

   ~/.euca/eucarc

Для автоматизации запуска добавляем его вызов в ~/.bashrc:

   echo "[ -r ~/.euca/eucarc ] && . ~/.euca/eucarc" >> ~/.bashrc

Устанавливаем вспомогательный набор AMI утилит:

   sudo apt-get install ec2-ami-tools ec2-api-tools

Для проверки, что все работает, запускаем:

   . ~/.euca/eucarc
в ответ должно появиться:
   euca-describe-availability-zones verbose

Настройка через управляющий web-интерфейс

В браузере открываем страницу https://IP_управляющего_сервера:8443
В качестве имени пользователя и пароля указываем "admin". После первого входа
будет сразу предложено поменять пароль и указать контактный email.

Установка образов пользовательских cloud-окружений.

В панели управления web-интерфейса выбираем вкладку "Store" и жмем кнопку
"Install" рядом с выбранным в списке образом системы. Сразу после нажатия
начнется загрузка из сети выбранного образа и затем его установка.

Запуск образов пользовательских cloud-окружений.

Перед первым стартом окружения на узле создаем для него 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

После этого можно запустить зарегистрированный образ окружения через
web-интерфейс: во вкладке "Store" выбираем ссылку "How to Run", в появившемся
окне будет отражена полная команда для запуска. Первый запуск может занять
довольно долго, так как потребуется время на его копирование в кеш.

За статусом запуска окружения можно наблюдать выполнив команду:

   watch -n5 euca-describe-instances

Когда состояние "pending" заменится на "running", к окружению можно подключаться.

Для сохранения IP созданного окружения в переменной IPADDR и входа в него по ssh выполним команду:

   IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $4}')
   ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR

Для принудительного завершения работы окружения:

   INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $2}')
   euca-terminate-instances $INSTANCEID


Полезная информация

Перезапуск управляющего сервера eucalyptus:

   sudo service eucalyptus restart

Для перезапуска ПО на стороне узла:

   sudo service eucalyptus-nc restart

Лог сохраняется в /var/log/eucalyptus
Файлы конфигурации находятся в директории /etc/eucalyptus
БД: /var/lib/eucalyptus/db
Ключи шифрования: /var/lib/eucalyptus и  /var/lib/eucalyptus/.ssh

Подробнее см. официальное руководство пользователя http://help.ubuntu.com/community/UEC
 
03.02.2010 , Источник: http://www.serverwatch.com/tutorial...
Ключи: cluster, cloud, virtual, xen, Eucalyptus / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Виртуализация - Xen, OpenVZ, KVM, Qemu

Обсуждение [ RSS ]
  • 1, Alexander (??), 16:57, 08/11/2010 [ответить]  
  • +/
    Блин чот я уже стописят раз все перепробовал, много инфы в инете прочел, все делаю как написано. Не пашет и все тут.

    По команде . ~/.euca/eucarc в ответ ничего не выдается (тут не написано что скрипту надо ставить флаги выполнения, я их соотв. выставил)
    Когда ставлю и запускаю instance он висит-висит в pending, потом terminated и через какоето время пропадает.

    Я уже незнаю, все перекавырял.

     
  • 2, Дмитрий (??), 22:39, 01/12/2010 [ответить]  
  • +/
    >>. ~/.euca/eucarc в ответ ничего не выдается

    такая же фигня. ubuntu 10.04. :(
    правда, поднимаю под виртуалкой и СС, и NC. Но это вряд ли должно повлиять на eucarc...

     
  • 3, Дмитрий (??), 19:28, 15/12/2010 [ответить]  
  • +/
    Забавно, он и не должен ничего выводить)
    В статье неточность.

    "
    Для проверки, что все работает, запускаем:

       . ~/.euca/eucarc
    в ответ должно появиться:
       euca-describe-availability-zones verbose
    "

    стоит читать, так:

    "
    Запускаем . ~/.euca/eucarc
    Запускаем euca-describe-availability-zones verbose
    В ответ появится что-то вроде

    AVAILABILITYZONE Cluster01 10.0.0.38
    AVAILABILITYZONE |- vm types free / max cpu ram disk
    AVAILABILITYZONE |- m1.small 0002 / 0002 1 192 2
    AVAILABILITYZONE |- c1.medium 0002 / 0002 1 256 5
    AVAILABILITYZONE |- m1.large 0001 / 0001 1 1024 8
    AVAILABILITYZONE |- m1.xlarge 0001 / 0001 2 1024 20
    AVAILABILITYZONE |- c1.xlarge 0000 / 0000 4 2048 20
    "

    В случае, когда в max стоят 0000, это значит, что скорее всего нод-контроллер не подключился корректно. Проверить можно так :
    sudo euca_conf --list-nodes.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру