Установка Convirt2.0.1 на хост
с голой ОС: 
Ubuntu Server 10.10 x64 или Debian 6.0 x64

=====================================================

ВНИМАНИЕ !

Прочтите мои грабли "[8.1] Установка Convirt 2.0.1 на Ubuntu 11.04 x64 Server"

Совместимые версии ОС (для установки по ДАННОЙ инструкции) указаны здесь:

Установка

Скрины

=====================================================

 

1) создаем окружение

Создаим пользователя (и группу), который будет использоваться для установки и запуска приложения convirt:

  • root@dom0:~$ addgroup --system convirt
  • root@dom0:~# adduser --system --ingroup convirt --disabled-password --home /var/cache/convirt convirt

Настроим поведение sudo для него. В файле /etc/sudoers содержатся настройки по работе с sudo для разных пользоватлелей. Читаем /etc/sudoers.d/README , и добавляем следующую строку, чтобы сделать нашу жизнь проще:

  • sudo touch /etc/sudoers.d/convirt (пусть имя файла и юзера совпадают..)
  • sudo chmod 0440 /etc/sudoers.d/convirt 
  • sudo echo "Defaults>convirt set_home" > /etc/sudoers.d/convirt

Создаем домашний каталог и устанавливаем права на него:

  • root@dom0:~# sudo mkdir /var/lib/convirt
  • root@dom0:~# sudo chown convirt:convirt /var/lib/convirt

"Логинимся" как convirt, без пароля:

  • root@dom0:~$ cd /var/cache/convirt convirt
  • root@dom0:~# sudo -u convirt -s

Сейчас мы непривилегированный пользователь. Проверим где мы:

  • convirt@dom0:~$ pwd

Ответ должен быть:

  • /var/cache/convirt

Именно в нашем домашнем каталоге (если это не так, перейдите в каталог /var/cache/convirtмы будем создавать SSH-ключи для идентификации себя в управляемых серверах.

  • ssh-keygen -t rsa -b 2048

В ответ мы увидим нечто такое:

  • Generating public/private rsa key pair.
  • Enter file in which to save the key (/var/cache/convirt/.ssh/id_rsa): convirt (пусть имя файла и юзера совпадают..)
  • Enter passphrase (empty for no passphrase): ПАРОЛЬ ПУСТОЙ!!! см. замечание ниже.
  • Enter same passphrase again:ПАРОЛЬ ПУСТОЙ!!! см. замечание ниже.
  • Your identification has been saved in convirt.
  • Your public key has been saved in convirt.pub.
  • The key fingerprint is:8f:7e:b3:8e:66:f7:1c:29:eb:58:1f:8a:0f:78:a1:ce convirt@sr04
  • The key's randomart image is:
  • +--[ RSA 2048]----+
  • |                 |
  • |                 |
  • |                 |
  • |                 |
  • |        S        |
  • |       o +   .   |
  • |      o + + +    |
  • |     o oo*+* o   |
  • |      Eo=*B++    |
  • +-----------------+

Эти ключи будут использоваться позже.

Замечание по паролям:

 согласно манов adduser/addgroup при указании параметра "--disabled-password" пользователь может войсти в систему без пароля. Если есть ключи пользователя, то у пользователя остается возможность войти в систему только по ключам (что мы сгененрировали), и опять же эти ключи должны быть также без пароля (т.е. авторизация только по ключу без пароля). Подробнее: читаейте ман от убунты: http://manpages.ubuntu.com/manpages/dapper/ru/man8/adduser.8.html

 

 

2) Загружаем нужные пакеты на диск

 Установим wget, если его еще нет

  • sudo apt-get install wget

"Заходим" как пользователь convirt

  • root@dom0:~# sudo -u convirt -s

Далее (сели используется прокси для инета) настраиваем прокси:

Загружаем пакеты в текущий каталог (домашний, /var/cache/convirt)

Распаковываем (ТОЛЬКО ОДИН ФАЙЛ...) в текущий (домашний) каталог.  В нем будут созданы каталоги, содержащие скрипты для создания среды TurboGerars2 (tg2) и сервера управления ConVirt:

  • tar -xzf convirt-install-2.0.1.tar.gz

"Выходим" как пользователь convirt

  • root@dom0:~# exit

 

 

3) Пару слов о Python

Замечание 1.

Прочтите мои грабли "[8.1] Установка Convirt 2.0.1 на Ubuntu 11.04 x64 Server" про проблемі пакетов python-xen-3.3 + python-dev + python2.6-dev

Замечание 2.

Если мы обновляем/переустанавливаем ConVirt, то можем получить ошибку, что-то вроде этого:
  • Setuptools version 0.6c11 or greater has been installed.
  • (Run "ez_setup.py -U setuptools" to reinstall or upgrade.)
  • sudo: easy_install: command not found
  • ERROR: Failed installing virtualenv.

Это происходит из-за того, скрипт поиска зависимостей (что ниже) именно для этого пакета (python и все что с ним связано) для разруливания зависимостей не использует стандартный установщик Debian, а использует "самописный" механизм обновления библиотек (так написано в инструкции "француза", поверим ему 8=))

Поэтому сначала заставим наш apt-get обновить Python стандартными Debian-средствами ДО(!) запуска скрипта.

ВНИМАНИЕ!!! Именно пакет python2.6-dev, а не пакет python-dev (!!) - так написано у "француза" + читай замечание 1:


  • sudo apt-get -y install python2.6-dev python-setuptools

 

 

4) Пару слов о MySQL

Внимание! Скрипт поиска зависимостей (что ниже) устанавливает/обновляет MySQL в режиме InnoDB, поэтому

1. перед запуском скрипта поиска зависимотей делаем следующее:

  • если установлен: сделать бекап баз данных + вспомнить и запомнить пароль root сиквела 8=))
  • установка/обновление библиотек: sudo apt-get -y install libmysqlclient-dev

2. во время работы скрипта при установке/обновлении MySQL будет предложено указать пароль для root сиквела:

  • если новая установка, указываем (без кавычек) "convirt" ОБЯЗАТЕЛЬНО!!! (потом изменим);
  • если же обновляемся, то указываем пароль, который "вспомнили" на предыдущем шаге (1) до запуска скрипта 8=))

3. После того как скрипт успешно отработал, проверяем содержимое файла /etc/mysql/my.cnf на предмет того, что внем содержится следующее:

  • root@dom0:~# sudo nano /etc/mysql/my.cnf
  • [mysqld]
  • default-storage-engine=innodb
  • innodb_buffer_pool_size=1G
  • innodb_additional_mem_pool_size=20M

и если нужно - правим конфиг и перезапускаем MySQL сервер:

  • root@dom0:~# sudo /etc/init.d/mysql restart

 

 

5) поиск и установка зависимостей, необходимых для ConVirt

Внимание! Мы распаковали скрипты от имени пользоваетля convirt в его домашний каталог /var/cache/convirt/ и по окончании вышли из режима работы от имени юзера convirt, т.е. сейчас мы "сидим" под собой. Обновление системы рекомендуется выполнять от имени root или с использованием sudo того пользователя, кто имеет право устанавливать обновления.

**** на сайте разработчика ****

Install dependencies either as root user or using sudo. 
NOTE When prompted for mysql credentials for root, enter "convirt" (you can change this later.)

  • sudo ./convirt-install/install/cms/scripts/install_dependencies

 

**** на сайте "француза" ****


  • root@dom0:~# cd /var/cache/convirt/convirt-install
  • root@dom0:~# ./install/cms/scripts/install_dependencies

 

6) Запускае скрипт первоначальной настройки

Все зависимости разрешены. Теперь мы опять логинимся под непривилигированным пользователем и и правим конфигурационный файл утсновки.
  • root@dom0:~# sudo -u convirt -s
  • convirt@dom0: ~$ cd
  • convirt@dom0: ~$nano convirt-install/install/cms/scripts/install_config

Укажем, где мы хотим установить convirt.
В моем случае, я считаю, что /var/lib/convirt это лучшее место. Так что я устанавливаю префикс так:

  • CONVIRT_BASE=/var/lib

Кроме установленных пакетов нужно установить само приложение (TurboGears environmnet):

  • convirt@dom0:~$ source convirt-install/install/cms/scripts/install_config
  • convirt@dom0:~$ tar -xzf ./convirt-2.0.1.tar.gz -C $CONVIRT_BASE
  • convirt@dom0:~$ ./convirt-install/install/cms/scripts/setup_tg2

Во время установки, возможно, что вы видите следующее сообщение об ошибке:

  • ls:не может получить доступ/var/lib/convirt/tg2env/lib/python2.4/site-packages/Beaker-py2.4.egg/beaker/ext/google.py *:Нет такого файла илидиректория.

Это не влияет на работоспособность приложения. не обращайте внимания.

 

7) Меняем пароль root для доступа к серверу MySQL

В завершение - настроим приложение. Это связано (в основном) с установкой пароля root для доступа к серверу БД. Откроем файл настроек: найдем строку в нем типа:
  • convirt@dom0:~$ sudo nano /var/lib/convirt/src/convirt/web/convirt/development.ini
  • sqlalchemy.url=mysql://convirt:somepass@localhost:3306/convirt?charset=utf8

В этой строке указан пароль, который был указан во время установки для пользователя root. Изменим его. Формат команды такой

  • mysqladmin -u root -p старый_пароль password новый_пароль
меняем:
  • convirt@dom0:~$ mysqladmin -u root -p 'convirt' password 'новый_пароль'
  • convirt@dom0:~$ history -c
  • convirt@dom0:~$ mysql -u root -p
  • mysql> grant all privileges on convirt.* to 'convirt'@'localhost' identified by 'новый_пароль';
  • mysql> flush privileges ;
  • mysql> exit

Пароль root-а изменили, в файле также не забываем поправить(!!!!). 

Также не забываем проверить /etc/mysql/my.cnf (о чем было выше).

Можем запустить следующий сценарий.

 

8) Последний скрипт установки и запуск.

Когда скрипт спросит "Введите ключевую фразу" ничего не заполняете. Просто продолжайте далее. Запускаем последний скрипт:

  • convirt@dom0:~$ ./convirt-install/install/cms/scripts/setup_convirt

Когда отработает запускаем (наконец-то):

  • convirt@dom0:~$ cd /var/lib/convirt
  • convirt@dom0:~$ ./convirt-ctl start

Увидите сообщение об ошибке:

  • No module named xen.xend.XendClient

Не страшно - ваше окружение не может найти модуль Python-Xen. Чтобы исправить это, создадим нужную символическую ссылку ( Внимание! Это нужно делать от имени root или sudo - с достаточными правами):

  • convirt@dom0:~$ exit
  • root@dom0:~# ln -s /usr/lib/xen-4.0/lib/python/xen /usr/lib/python2.6/
  • root@dom0:~# ln -s /usr/lib/xen-4.0/lib/python/grub /usr/lib/python2.6/

Всё. Convirt установлен и настроен. Дальнейчая гнастройка выполняется через веб-браузер.

 

9) Заходим в админ-панель: http://hostname:8081 (admin/admin)


Чтобы начать управлять сервером, сперва нужно настроить convirt через веб-интерфейс. Для начала нужно установить SSH-ключ, который мы сгенерировали ранее на все управляемые сервера. 

Для этого копируем public-key (от convirt) от имени некоторого пользователя на  тот сервер, которым будем управлять через WebUI convirt:

  • scp /var/cache/convirt/.ssh/id_rsa.pub user@managed_server:/tmp

Затем на управляемом серере это тключ поместите в домашнюю паку пользователя, который будет имет право заходить в WebUI. Например для root:

  • root@managed:~# [ -d /root/.ssh ] || mkdir /root/.ssh && cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys

Следующие этапы можно выполнить автоматически без особых трудностей, включая установку convirt-tools на dom0. Мы этого делать не будем - настроим нужные средства Xen вручную таким образом, чтобы действительно понимать назначение запущенных служб.

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

  • root@managed:~# apt-get -y install socat dnsmasq uml-utilities lvm2 expect python-pexpect kpartx python-openssl

Я советую вам отключить Dnsmasq  /etc/defaults/Dnsmasq), тем более, если вы используете в качестве "сетевой карты" мост. 

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

  • root@managed:~# cat /var/cache/convirt/server_info
  • DISTRO="Debian"
  • CODE_NAME="6.0"
  • VER="6.0"
  • KERNEL="2.6.32-5-xen-amd64"
  • ARCH="x86_64"
  • V_PLATFORM="XEN"
  • V_PLATFORM_VER="4.0.1"
  • DEFAULT_BRIDGE="xenbr0"

 

10) Конфигурируем XEN

Настроим Xen так, чтобы он использовал сервис XMLRPC. Конечно, лучше пользоваться XMLRPC поверх SSL, ну у convirt, кажется, есть проблема с SSL в версии 4.0.1 от Xen. В файле /etc/Xen/Xen-config.sxp, откорректируем настройки параметра (каждый последующий может быть откорректирован аналогично):

  • (xend-tcp-xmlrpc-server yes)
  • (xend-relocation-server yes)
  • (dom0-min-mem 512)
  • (xend-tcp-xmlrpc-server-address '0.0.0.0')
  • (xend-tcp-xmlrpc-server-port 8006)
  • #(xend-tcp-xmlrpc-server-ssl-key-file xmlrpc.key)
  • #(xend-tcp-xmlrpc-server-ssl-cert-file xmlrpc.crt)
  • (xend-relocation-port 8002)

Если всеже вы захотите использовать SSL (например с версией XEN.3.x), то раскомментируйте соотвествующие строчки и сгенерируйте сертификаты:

  • root@managed:~# openssl genrsa -out /etc/xen/xmlrpc.key 2048
  • root@managed:~# chmod 600 /etc/xen/xmlrpc.key
  • root@managed:~# openssl req -new -key /etc/xen/xmlrpc.key -out /etc/xen/xmlrpc.csr
  • root@managed:~# openssl x509 -req -in /etc/xen/xmlrpc.csr -signkey /etc/xen/xmlrpc.key -days 999 -out /etc/xen/xmlrpc.crt
  • root@managed:~# /etc/init.d/xend restart

Во время генерации ключей помимо всей прочей информации будет запрошен пароль ("passphrase"). Оставляйте пустым!!!

Чтобы проверить, что ключи установлены правильно, попробуйте подключиться под пользователем convirt к управляемому серверу:

  • convirt@dom0:~$ ssh -i /var/cache/convirt/.ssh/id_rsa root@managed_server

Примите ключ. Если вы соединяетесь без проблемы - вы победили!

Отойдите от профессиональных обязанностей вы, теперь немного почистим:

  • convirt@dom0:~$ rm ~/.ssh/cms_id_rsa*
  • convirt@dom0:~$ cd /var/lib/convirt
  • convirt@dom0:~$ ./convirtctl stop
  • convirt@dom0:~$ ./convirtctl start

Теперь можно добавить управляемый сервер (с установленым XEN) с в в convirt использованием  XML-RPC.

© ibuntu

Сделать бесплатный сайт с uCoz