Установка и настройка oVirt в CentOS.
ВНИМАНИЕ: Статья морально устарела. Читайте новый вариант.Как оказалось настройка oVirt не совсем очевидное занятие и не сразу можно сообразить что в какой последовательности делать и в каком месте находятся те или иные вещи. Разберем же поподробнее процесс настройки oVirt. Чтобы не повторяться, установка будет осуществляться в CentOS 6.3. Почему CentOS? Есть мнение что он стабильнее чем Fedora. Однако следует помнить что oVirt использует в качестве основной платформы именно Fedora. Для CentOS в свою очередь существует репозиторий oVirt с адаптированными пакетами. Таким образом есть два варианта:
- Всегда свежая Fedora с родным oVirt
- Стабильный CentOS c адаптированным oVirt
ВНИМАНИЕ: Статья морально устарела. Читайте новый вариант.
Итак начнем. Cкачиваем образ сетевой установки CentOS, например с Yandex'а.
записываем на его флешку (dd if=image.iso of=/dev/sdc) или любым другим способом описанным в официальном FAQ CentOS. Загружаемся и выполняем установку. В качестве источника установки пакетов можно указать зеркало Yandex или RBC.
Тип установки выбираем Minimal, этого будет достаточно.
После установки CentOS настраиваем репозиторий oVirt и выполняем установку.
# yum install -y wget
# wget http://www.dreyou.org/ovirt/ovirt-dre.repo -O /etc/yum.repos.d/ovirt-dre.repo
# yum install -y ovirt-engine
# yum install -y apr
Для полноценного запуска и работы oVirt некоторые шаманства присущие ИМХО, любому open-source продукту. Обеспечиваем автозагрузку модуля softdog.
# vi /etc/sysconfig/modules/softdog.modules
#!/bin/sh
modprobe softdog
exit 0
# chmod +x /etc/sysconfig/modules/softdog.modules
# /etc/sysconfig/modules/softdog.modules
Теперь сама установка oVirt. Указываем порты для веб-приложения, имя узла, пароль администратора, тип хранилища, размещение и пароль для базы данных, размещение ISO домена (можно указывать любой путь, установщик создаст его самостоятельно), разрешаем установку правил iptables.
# engine-setup
Welcome to oVirt Engine setup utility
HTTP Port [80] : 80
HTTPS Port [443] : 443
Host fully qualified domain name, note that this name should be fully resolvable [zeus.dev.apress.ru] : ov-engine-01.dev.apress.ru
The IP 10.101.14.1 does not hold a PTR record for the FQDN: ov-engine-01.dev.apress.ru
User input failed validation, do you still wish to use it? (yes|no): yes
Password for Administrator (admin@internal) : *********
Confirm password : *********
Organization Name for the Certificate: Apress
The default storage type you will be using ['NFS'| 'FC'| 'ISCSI'] [NFS] : NFS
Enter DB type for installation ['remote'| 'local'] [local] : local
Local database password : *********
Confirm password : *********
Should the installer configure NFS share on this server to be used as an ISO Domain? ['yes'| 'no'] [yes] : yes
Local ISO domain path: /home/ovirt/iso
Display name for the ISO Domain: iso
Firewall ports need to be opened.
You can let the installer configure iptables automatically overriding the current configuration. The old configuration will be backed up.
Alternately you can configure the firewall later using an example iptables file found under /usr/share/ovirt-engine/conf/iptables.example
Configure iptables ? ['yes'| 'no']: yes
Подтверждаем настройки.
oVirt Engine will be installed using the following configuration:
=================================================================
http-port: 80
https-port: 443
host-fqdn: ov-engine-01.dev.apress.ru
auth-pass: ********
org-name: Apress
default-dc-type: NFS
db-remote-install: local
db-local-pass: ********
nfs-mp: /home/ovirt/iso
iso-domain-name: iso
config-nfs: yes
override-iptables: yes
Proceed with the configuration listed above? (yes|no): yes
Сам процесс установки выглядит следующим образом
Installing:
Configuring oVirt-engine... [ DONE ]
Creating CA... [ DONE ]
Editing JBoss Configuration... [ DONE ]
Setting Database Configuration... [ DONE ]
Setting Database Security... [ DONE ]
Creating Database... [ DONE ]
Updating the Default Data Center Storage Type... [ DONE ]
Editing oVirt Engine Configuration... [ DONE ]
Editing Postgresql Configuration... [ DONE ]
Configuring the Default ISO Domain... [ DONE ]
Configuring Firewall (iptables)... [ DONE ]
Starting JBoss Service... [ DONE ]
Handling HTTPD... [ DONE ]
**** Installation completed successfully ******
(Please allow oVirt Engine a few moments to start up.....)
Additional information:
* There is less than 4 GB of available free memory on this machine.
It is recommended to have at least 4 GB of available memory to run the oVirt Engine.
* SSL Certificate fingerprint: 4C:A9:25:8D:5C:85:85:D4:14:F2:6E:79:71:98:4A:8F:71:DD:3E:37
* SSH Public key fingerprint: 62:ac:02:51:6b:ec:e0:07:4f:52:2e:04:b0:fd:64:30
* A default ISO share has been created on this host.
If IP based access restrictions are required, please edit /home/ovirt/iso entry in /etc/exports
* The firewall has been updated, the old iptables configuration file was saved to /usr/share/ovirt-engine/conf/iptables.backup.123436-08142012_1371
* The installation log file is available at: /var/log/ovirt-engine/engine-setup_2012_08_14_12_32_15.log
* Please use the user "admin" and password specified in order to login into oVirt Engine
* To configure additional users, first configure authentication domains using the 'engine-manage-domains' utility
* To access oVirt Engine please go to the following URL: http://ov-engine-01.dev.apress.ru:80
Когда все готово, идем в админку по указанному адресу, в моем случае это http://ov-engine-01.dev.apress.ru:80. Заходим в портал Администратора.
Стоит немного раcсказать о иерархии объектов. Существуют Датацентры которые вмещают в себя Кластеры, а те в свою очередь вмещают в себя Хосты. На Хостах размещаются Виртуальные машины. Также есть Хранилища, они служат для хранения ISO образов и блочных устройств для Виртуальных машин. Хранилища подключаются к Хостам и ассоциируются с Датацентрами. Все эти объекты могут находиться в выключенном (Non operational или Maintenance) или включенном (Up) состояниях. Также есть Виртуальные сети которые ассоциируются с Датацентрами, на деле же они являются мостовыми интерфейсами (bridge). Вот.
Дальше необходимо подключить Хост, который будет гипервизором для виртуальных машин. Заходим во вкладку Hosts, посредством кнопки New добавляем хост на котором выполнялась установка ovirt-engine. То есть добавляем сами себя. Указываем имя хост, ip-адрес и пароль учетной записи root. Пункт добавления iptables правил я оставил выключенным.
Предупреждение о том что не сконфигурировано управление питанием можно проигнорировать и нажать OK. В нижней части браузера, в строке сообщений, можно наблюдать процесс установки пакетов.
По завершению установки выполнится плановая перезагрузка, поэтому доступ к веб-консоли будет прерван. Когда хост перезагрузится, можно продолжить настройку.
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="none"
HWADDR="20:CF:30:A4:D7:A8"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="3ca879cb-37e6-4c8b-a0b4-5e29b22aa09f"
BRIDGE="ovirtmgmt"
# vi /etc/sysconfig/network-scripts/ifcfg-ovirtmgmt
DEVICE=ovirtmgmt
TYPE=Bridge
ONBOOT=yes
DELAY=0
NM_CONTROLLED="no"
BOOTPROTO="none"
BROADCAST="10.101.255.255"
DNS1="10.101.0.11"
GATEWAY="10.101.0.1"
HWADDR="20:CF:30:A4:D7:A8"
IPADDR="10.101.14.1"
NETMASK="255.255.0.0"
Перезапускаем сеть
# service network restart
Shutting down interface eth0: bridge ovirtmgmt does not exist!
[ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface ovirtmgmt: [ OK ]
Перезапускаем службы. ovirt-engine сам не узнает что изменилась топология сети. Также добавляем в автозагрузку службы wdmd и sanlock (по-моему, так тоже недоработка маинтайнеров)
# service wdmd start
# service sanlock start
# chkconfig wdmd on
# chkconfig sanlock on
# service ovirt-engine stop
Waiting up to 10 seconds for engine process 1531 to finish.
Stopped engine process 1531.
# service ovirt-engine start
Started engine process 3240.
Настало время конфигурировать хранилища. В качестве хранилищ будут выступать NFS каталоги. Настраиваем NFS и перезапускаем сервис NFS.
# mkdir /home/ovirt/{data,export}
# chown vdsm:kvm /home/ovirt/{data,export}
# vi /etc/exports
/home/ovirt/iso 0.0.0.0/0.0.0.0(rw) #rhev installer
/home/ovirt/data 0.0.0.0/0.0.0.0(rw) #rhev installer
/home/ovirt/export 0.0.0.0/0.0.0.0(rw) #rhev installer
# service nfs restart
Shutting down NFS daemon: [ OK ]
Shutting down NFS mountd: [ OK ]
Shutting down NFS services: [ OK ]
Starting NFS services: [ OK ]
Starting NFS mountd: [ OK ]
Stopping RPC idmapd: [ OK ]
Starting RPC idmapd: [ OK ]
Starting NFS daemon: [ OK ]
И еще одна неочевидная вещь, чтобы можно было запустить виртуальные машины нужно выполнить правку в базе. Отправляем запрос через psql (предполагается что база размещается локально).
# psql -U postgres engine -c "update vdc_options set option_value='pc' where option_name LIKE 'EmulatedMachine';"
UPDATE 3
Снова заходим в веб-интерфейс и продолжаем настройку датацентра. Заходим во вкладку Host, выбираем наш добавленный хост и нажимаем кнопку Activate чтобы запустить его. Статус Non operational сменится на Up, и загорится зеленая стрелка (операция не моментальная, на моем хосте процесс активации выполнялся порядка 2-3 минут). Смотрите состояние задач в нижней части браузера во вкладке Tasks (нижний правый угол)
После того как хост перешел в состояние Up переходим к следующему шагу.
Переходим во вкладку Storage и добавляем домены хранилищ (кнопка New Domain) к уже созданному iso добавляем data и export. В качестве сервера и каталога указываем наш хост и размещенные на нем NFS каталоги.
В поцессе создания происходит подключение этих каталогов к датацентру. Если этого не произошло переходим во вкладку Data Centers и выбираем наш Default датацентр. Ниже откроется дополнительная панель. В ней нужно выполнить подключение всех (три) доменов данных Data, Iso и Export. После того как они подключатся их нужно активировать (кнопка Activate для каждого выделенного домена данных)
Как только добавили домены с данными переходим обратно в shell. Для создания виртуальных машин необходимы ISO образа. Доставляем образы любым известным способом на сервер и добавляем ISO в хранилище
# engine-iso-uploader upload -i iso /var/tmp/CentOS-6.3-x86_64-minimal.iso
Теперь можно создавать виртуальную машину. Переходим во вкладку Virtual Machines и нажимаем кнопку New Server
Указываем необходимые параметры ресурсов, в настройках связанные с загрузкой выбираем загрузку с CDROM и указываем используемый образ
Нажимаем OK и переходим ко второй части диалога, создание блочных и сетевых устройств.
Порядок неважен, добавляем диск
и сетевую карту
После добавления диска ждем завершения Task'ов (нижний правый угол) после чего запускаем машину (кнопка Run). После запуска будет доступна кнопка с изображением монитора, обозначающая подключение к консоли виртуальной машине. Используйте ее чтобы подключиться к гостю.
На этом все. Теперь можно устанавливать гостя.
Для закрепления в голове, можно запомнить такой алгоритм действий:
- устанавливаем ovirt-engine;
- в веб интерфейсе добавляем сами себя в качестве хоста;
- проверяем сеть, должен быть настроен мост ovirtmgmt, физические адаптеры должны входить в него;
- настраиваем NFS, перезапускаем необходимые службы;
- после перезагрузки добавляем хранилища, подключаем их к датацентру и активируем их;
- загружаем iso в хранилище;
- создаем виртуальную машину.
Ну и от себя добавлю что на медленном компе (в моем случае Athlon II Opteron G3, 4GB RAM), oVirt весьма нетороплив, в частности, на таких операциях как активация нод, создание образов дисков.
На главную "Virtualizing Linux"
здравствуйте, выражаю свою благодарность за подробную инструкцию, но возникла одна проблема, система centos 6,3 овирт 3,1, все делал как написано у Вас за исключением файла softdog.modules система начала ругаться и я его удалил, создаю ВМ делаю начальную конфигурацию, пытаюсь запустить, ВМ не запускается "Faled to run VM vm-name(user:admin@internal"
ОтветитьУдалитьв чем дело понять не могу не могли бы вы помочь и какую нужно информацию для выявления ошибки
Привет! Такой вопрос, как ругалась система в случае подгрузки softdog.modules ?
ОтветитьУдалитьПо поводу неудачного запуска VM, это довольно распространенная ошибка, детали нужно искать в логе запуска VM,.. на первый взгляд там все кажется непонятным, но если набраться терпения то можно найти более детальное описание причины.
Спасибо за ответ, посмотреть логи уже не могу (переустановил систему, немного накосячил). Поставил 3.2 альфа где исправили softdog.modules и сетевые настройки, мост создался в автоматическом режиме как описано у вас, править в ручном режиме не пришлось. Но теперь у меня другая проблема аппаратная система ругается на аппаратный райд
ОтветитьУдалитьdevice-mapper: table: 253:3 multipath: error getting device - вот такими словами, насколько я понял не получает доступ к дискам из-за этого я теперь не могу создать хранилища.
Не могли бы порекомендовать как лучше всего разбить диски для сервера виртуализации в общем случае и если есть аппаратный райд или может вообще не разбивать, что лучше LVM или без него.
>> device-mapper: table: 253:3 multipath: error getting device
ОтветитьУдалитьЗдесь проблема не с аппаратным рэйдом, а в cвязке multipathd + LVM. Проверяйте конфигурации.
С разбивкой диска есть два подхода:
1. когда используется общее внешнее дисковое хранилище, то не имеет значения как вы будете организовывать разделы - машины все равно будут находиться в общем хранилище.
2. если машины размещаются на локальных дисках, то я предпочитаю использовать LVM на целых дисках без каких-либо разделов. Тут мы избавляемся от такой сущности как разделы и их границы и перекладываем их на LVM где они являются более гибкими.
И еще остается вопрос аппаратного RAID, а актуально ли его использовать в современных серверах? )))
По cвязке multipathd + LVM если честно не специалист, а только учусь. Можно ссылку на то как должно быть.
ОтветитьУдалитьАппаратный райд 5 для для отказоустойчивости, диски с горячей заменой(ну я так думаю, хотя уже начал сомневаться).
Добрый день, установил свежий Centos, далее следовал вашим инструкциям, только при настройке engine-setup указал "server.localdomain", при попытке залогиниться с другой машины в веб интерфейсе, перенапрвлял на "server.localdomain". Решил тогда заного перенастроить engine-setup и указать вместо "server.localdomain" ip адрес, но установка заканчивается провалом:
ОтветитьУдалитьCreating Database... [ ERROR ]
Database creation failed
Не подскажите как быть в такой ситуации? Пароль везде один и тотже указывал.
Добрый день! при повторном запуске engine-setup, старые ошметки лучше вычистить(каталоги и базы) и проверить не запустил ли он каких сервисов, потушить их если они запущены."
ОтветитьУдалить... вспомнил, там есть engine-cleanup
я его тоже нашел, но к сожалению после того как в ручную снёс /home/ovirt/iso((
ОтветитьУдалить3й день, максимум добился работы 3.1 при ручном создании бд, но ругаетс на каталог nfs(( мб поделитесь кто какую версию скуля использует?
ОтветитьУдалитья использовал postgresql, 9.0 или 9.1 точно не вспомню.
ОтветитьУдалить8.4 9.1 9.2 все одно создание дб феил
ОтветитьУдалитьа в pg_hba что ставили ?
ОтветитьУдалитьВ pg_hba разрешил возможность trust подключения с локального узла где стоял ovirt.
ОтветитьУдалитьВ целях дебага можно перевести всё на trust и проверить создание бд
Установил всё по инструкции, но дальше чем авторизации в wеb форме дело не идет. Ввожу логин "admin" и пароль, который задавал при конфигурировании engine. (собственно пароль везде одинаковый пока). Ввожу данные и висит...
ОтветитьУдалитьЗдравствуйте. Огромное спасибо за столь доходчивую статью.
ОтветитьУдалитьОднако, при попытке залить образ, выдает ошибку следующего содержания:
ERROR: [ERROR]::ca_file (CA certificate) must be specified for SSL connection.
Привет! на моей памяти в 3.1 не было использования SSL, скорей всего это уже нововведение (хотя могу и ошибаться). Посмотрите здесь, вроде это ваш случай
Удалитьhttp://lists.ovirt.org/pipermail/users/2012-October/010220.html
Добрый день, Алексей!
ОтветитьУдалитьНачинаем, как у Вас написано - с Minimal.
yum install ovirt-engine
выдает вот такое:
Error: Package: ovirt-engine-cli-3.2.0.10-1.el6.noarch (ovirt32-dre)
Requires: python-kitchen
Error: Package: ovirt-engine-cli-3.2.0.10-1.el6.noarch (ovirt32-dre)
Requires: python-ply
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Ни python-kitchen, ни pythin-ply - естественно, не бьются по зарегистрированным репозиториям.
Как быть? :-)
Заранее спасибо!
Добрый день! попробуйте установить эти пакеты из EPEL.
УдалитьДа, так и поступил. :-)
ОтветитьУдалитьСпасибо!
> # psql -U postgres engine -c "update vdc_options set option_value='pc' where option_name LIKE 'EmulatedMachine';"
ОтветитьУдалитьпо идее это не верно, emulatedMachine должен быть RHEL6.3 (можно посмотреть в virsh capabilities) - опция определяет что попадет в свич -M передаваемый qemu-kvm
В тот момент с текущим значением виртуалки попросту не запускались, в текущей версии возможно это не нужно и бага скорей всего пофикшена (в ближайшее время нужно будет разворачивать ovirt, хоть посмотрю что там вообще в базе). И если emulatedMachine действительно определяет то что попадает в -M, то pc имхо выглядит вполне логично, т.к. является дефолтным алиасом на последнюю поддерживаемую версию machine и будет универсальным значением для всех узлов виртуализации.
Удалитьтам были свои проблемы с pc насколько я помню. на самом деле надо посмотреть на значения в RHEV - там все оттестировано и вылизано
Удалитьда. совсем забыл, все опции vdc_options доступны через ovirt-config, незачем в базу лазить
УдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьсобрал связку ovirt+ipa. как поменять в ovirt порт на https отличный от 443?
ОтветитьУдалитьсмотрите конфигурацию apache в /etc/httpd/conf.d/ssl.conf
Удалитьне могу создать никак хост, беда просто какаято,
ОтветитьУдалитьтак же при создании меняет правила iptables ...и отрубает web мордочку, хост пыаюсь создать на той же машине где стоит ovirt... есть мысли как исправить?
Host 23555 is installed with VDSM version (Non interactive user) and cannot join cluster asd which is compatible with VDSM versions [4.13, 4.14, 4.9, 4.11, 4.12, 4.10]. и все...
vdsm и engine на одном хосте это all-in-one, не стандартная установка. http://www.ovirt.org/Feature/AllInOne
Удалить