Страницы

Сохранить статью у себя в соцсети:

понедельник, 9 декабря 2013 г.

§ oVirt 3.3 Setup.

oVirt 3.3 Setup.

Год назад я уже писал про установку oVirt, время идет и старая статья, мягко говоря, устарела. Поэтому сейчас будет обновленная версия.
Что такое oVirt? oVirt это платформа виртуализации которая обеспечивает централизованное управление виртуальной инфраструктурой. За прошедший год продукт стал кщк более качественным, появилось много  новых функций и возможностей. С каждым релизом продукт становится все интересней и интересней.
Итак в этой статье пошаговый процесс установки oVirt и настройка инфраструктуры. Многие вещи просто опущены, поскольку если описывать каждую опцию и ее влияние, то получится объем небольшой книги ;)

oVirt представляет собой узел управления - oVirt Engine и множество хостов виртуализации на которых запущены виртуальные машины. Следовательно, для установки oVirt нам понадобится, как минимум, две машины. Если у вас нет достаточного количества физических серверов, но поэкспериментировать очень хочется, используйте вложенную виртуализацию. Установка выполняется на две машины:
  1. ovirt-engine - центр управления.
  2. ovirt-node01 - узел на котором будут запущены виртуальные машины (их может быть больше одной).
Для установки рекомендуется использовать CentOS Linux в минимальной инсталляции. Всем узлам нужно определить имена.
# hostname ovirt-engine.example.com
# vi /etc/sysconfig/network
HOSTNAME=ovirt-engine.example.com

Первым делом нужно настроить репозитории и выполнить установку соответствующих пакетов. Следующие репозитории нужно установить на всех узлах которые будут участниками инфраструктуры. Из этих репозиториев будет выполняться установка пакетов oVirt.
# yum localinstall -y http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum localinstall -y http://resources.ovirt.org/releases/ovirt-release-el.noarch.rpm

Выполняем обновление системы на всех узлах и установку oVirt Engine на одном из серверов.
# yum clean all && yum update -y
# yum install ovirt-engine -y

После установки пакетов, запускаем консольную утилиту engine-setup. Это специальный мастер с помощью которого выполняется начальная конфигурация oVirt. Также стоит отметить, что в процессе настройки выполняется проверка наличия прямой и обратной записи в DNS для нашего сервера. Поэтому если этих записей нет, следует настроить их. Итак, запускаем engine-setup. 
# engine-setup
[ INFO  ] Stage: Initializing
[ INFO  ] Stage: Environment setup
          Configuration files: ['/etc/ovirt-engine-setup.conf.d/10-packaging.conf']
          Log file: /var/log/ovirt-engine/setup/ovirt-engine-setup-20130918162352.log
          Version: otopi-1.1.1 (otopi-1.1.1-1.el6)
[ INFO  ] Stage: Environment packages setup
[ INFO  ] Stage: Programs detection
[ INFO  ] Stage: Environment setup
[ INFO  ] Stage: Environment customization
     --== PACKAGES ==--
[ INFO  ] Checking for product updates...
[ INFO  ] No product updates found

В разделе NETWORK CONFIGURATION нужно указать полное имя сервера - Fully Qualified Domain Name. Как уже написано выше, имя должно успешно разрешаться по прямому и обратному просмотру. В квадратных скобках указано значение по-умолчанию, если оно устаривает нас, то можем просто нажать Enter.
       
          --== NETWORK CONFIGURATION ==--
          Host fully qualified DNS name of this server [ovirt-engine.example.com]: ovirt-engine.example.com
          iptables was detected on your computer. Do you wish Setup to configure it? (yes, no) [yes]: yes

В разделе DATABASE CONFIGURATION определяем размещение базы данных. Выбираем Local, поскольку база не требует больших ресурсов. Однако если у вас уже есть выделенный сервер с базами данных, то можно разместить базу там. По умолчанию предлагается возможность выполнить автоматическую настройку базы данных.
       
          --== DATABASE CONFIGURATION ==--
          Where is the database located? (Local, Remote) [Local]: Local
          Setup can configure the local postgresql server automatically for the engine to run. This may conflict with existing applications.
          Would you like Setup to automatically configure postgresql, or prefer to perform that manually? (Automatic, Manual) [Automatic]: Automatic
         
В разделе OVIRT ENGINE CONFIGURATION следует указать пароль для учетной записи администратора. Вторым шагом нужно указать режим работы приложения. Это может быть работа в режиме виртуализации (запуск виртуальных машин), режим хранилища Glusterfs (участник кластера хранения) или, и то, и другое одновременно. Третьим шагом следует указать тип хранилища для датацентра по-умолчанию (этого шага не будет если мы выберем Gluster Application Mode).
       
          --== OVIRT ENGINE CONFIGURATION ==--
          Engine admin password: ***********
          Confirm engine admin password: ***********
          Application mode (Both, Virt, Gluster) [Both]: Both
          Default storage type: (NFS, FC, ISCSI, POSIXFS) [NFS]: NFS

В разделе PKI CONFIGURATION указываем имя которое будет использоваться при создании сертификатов в нашем центре сертификации.

          --== PKI CONFIGURATION ==--
          Organization name for certificate [example.com]: example.com

В разделе APACHE CONFIGURATION определяются настройки виртуального хоста для веб-сервера.
       
          --== APACHE CONFIGURATION ==--
          Setup can configure the default page of the web server to present the application home page. This may conflict with existing applications.
          Do you wish to set the application as the default page of the web server? (Yes, No) [Yes]: Yes
          Setup can configure apache to use SSL using a certificate issued from the internal CA.
          Do you wish Setup to configure that, or prefer to perform that manually? (Automatic, Manual) [Automatic]: Automatic

В разделе SYSTEM CONFIGURATION определяются настройка дополнительного хранилища которое используется для хранения установочных ISO образов.
       
          --== SYSTEM CONFIGURATION ==--
          Configure an NFS share on this server to be used as an ISO Domain? (Yes, No) [Yes]: Yes
          Local ISO domain path [/var/lib/exports/iso]: /var/lib/exports/iso
          Local ISO domain name [ISO_DOMAIN]: ISO_DOMAIN
     --== END OF CONFIGURATION ==--

После завершения диалога выполняется проверка конфигурации. После чего будет предложено окончательно подтвердить выбранные параметры и запустить процесс конфигурирования.

Процесс установки зависит от быстродействия железа. После завершения установки конфигуратор сообщит дополнительную информацию о том что сделано. В конце процесса настройки, будет выполнен запуск всех необходимых служб. Теперь можно считать что oVirt Engine установлен и готов для дальнейшей настройки.

Открываем браузер и переходим по ссылке которая была указана в секции SUMMARY - http://ovirt-engine.example.com/ovirt-engine Перед нами откроется меню, в котором нужно выбрать Administration Portal для перехода в администраторскую консоль.

Администраторская консоль на первый взгляд кажется сложной из-за большого количество кнопок, вкладок, панелей и т.п. Однако это неловкое ощущение проходит довольно быстро и впоследствие интерфейс кажется достаточно удобным и логичным.

Интерфейс администратора можно разделить на несколько частей. Слева находится панель для быстрого доступа к объектам инфраструктуры. Верхняя панель, т.н. Панель ресурсов, содержит вкладки в которых перечислены все ресурсы которые доступны в oVirt. Нижняя панель, это Панель Детализации, которая отображает дополнительные данные по каждому из ресурсов (которые выбраны в Панели ресурсов). И в самом низу находится Информационная Панель с помощью которой можно отслеживать происходящие события.

Сейчас немного теории. Сначала создаем Датацентр - контейнер верхнего уровня, который вмещает в себя остальные объекты. Датацентров может быть несколько. Внутри Датацентра создаем Кластер. Кластеров также может быть сколь угодно много. Внутри Кластера создаем Хосты Виртуализации. Их тоже может и должно быть больше одного. К Датацентру подключаем Хранилище. Хранилище это отдельная от oVirt сущность. Это отдельный сервер или устройство которое предоставляет дисковые массивы для хранения виртуальных машин. После подключения основного хранилища, подключаем дополнительное ISO хранилище для хранения образов. И затем создаем Виртуальную Машину. Радуемся жизни.

Теперь переходим к практике. По умолчанию у нас уже есть датацентр с именем Default. Рекомендую с ним ничего не делать, пусть он у нас остается целым и невредимым. В инфраструктуре должен быть как минимум один датацентр, поэтому если мы что-то пойдет не так и датацентр нужно будет удалить, то датацентр Default удалить будет проблематично. Для создания Датацентра переходим во вкладку Data Centers и нажимаем кнопку New в панели инструментов. В открывшемся окне заполняем поля. Важным пунктом является определение типа хранилища - Type. У меня под боком есть простое NFS хранилище, поэтому у себя я указываю NFS тип.

Нажимаем ОК.
Для создания кластера переходим во вкладку Clusters и нажимаем кнопку New на панели инструментов.

В настройках кластера следует указать принадлежность к датацентру. Обязательно ставим пункт Enable Virt Service и указываем тип процессора - это очень важный момент. Все физические сервера входящие в кластер должны иметь процессор указанного семейства. В ином случае при попытке добавить сервер в кластер будет отображена ошибка Host moved to Non-Operational state as host does not meet the cluster's minimum CPU level. В секциях расположенных слева, можно указать дополнительные параметры кластера. Нажимаем OK.

Следующий шаг это добавление хостов виртуализации. Переходим во вкладку Hosts и нажимаем кнопку New. Откроется диалоговое окно в котором всего лишь нужно указать принадлежность к датацентру и кластеру, адрес нашего второго сервера и пароль от аккаунта root

oVirt Engine подключится к указанному адресу и выполнит установку всех необходимых пакетов, после чего настроит и запустит необходимые сервисы. Довольно просто, не так ли?

После того как у нас добавлены узлы виртуализации, остается подключить наше хранилище которое будет использоваться для хранения образов виртуальных машин. В моем примере используется NFS хранилище.
Переходим во вкладку Storages и нажимаем кнопку New. В открывшемся диалоговом окне заполняем параметры: Имя хранилища, Датацентр к которому будет подключено новое хранилище, Функция и Тип хранилища. Хранилище может нести одну из трех функций: Data - хранения виртуальных машин, ISO - хранение установочных образов, Export - вспомогательное хранилище для экспорта/импорта виртуальных машин. Тип хранилища (NFS/iSCSI/FibreChannel/Glusterfs/Local) должен соответствовать типу датацентра. Нелья взять и подключить NFS хранилище к датацентру с типом iSCSI. Обязательно нужно указать хост который выступит инициатором подключения к хранилищу - Use Host. В поле Export Path следует указать адрес хранилища.

Нажимаем ОК после чего запустится процесс подключения хранилища к датацентру. В случае успеха иконка датацентра загорится зеленым цветом. Это означает что датацентр запущен и готов к работе.

Дополнительно нужно выполнить подключение хранилищя для ISO образов, с которых будет выполняться установка виртуальных машин.
Для этого переходим во вкладку Storage и выбираем наше ISO хранилище которое было создано в процессе начальной конфигурации через engine-setup. В открывшейся нижней панели нажимаем кнопку Attach и в диалоговом окне отмечаем датацентр к которому нужно выполнить подключение. Нажимаем ОК и меньше чем через одну минуту хранилище будет подключено к датацентру.
Теперь нужно загрузить образ в хранилище ISO. Переходим в консоль и загружаем образ следующим образом (в моем примере используется образ Fedora Linux 19).
# ovirt-iso-uploader -i ISO_DOMAIN upload /var/tmp/Fedora-19-x86_64-netinst.iso
Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort): ***********
Uploading, please wait...
INFO: Start uploading /var/tmp/Fedora-19-x86_64-netinst.iso
INFO: /var/tmp/Fedora-19-x86_64-netinst.iso uploaded successfully

После того как образ ISO загружен, переходим к созданию виртуальной машины.
Переходим во вкладку Virtual Machines и нажимаем кнопку New VM.

Перед нами откроется окно в котором нужно определить настройки виртуальной машины. Основные настройки расположены во вкладке General, по сути можно заполнить только их и этого будет достаточно. Создание виртуальной машины сводится к указанию её имени и типа операционной системы. В остальных вкладках можно определить ресурсы выделяемые машине, настройки HA (High Availability) и многое другое. Также важно определить тип консоли, с помощью которой можно получить доступ к экрану виртуальной машины. По умолчанию используется современная SPICE консоль, также доступна и VNC.
Итак заполнив основные параметры, нажимаем ОК. Перед тем как запустить виртуальную машину нужно создать для нее виртуальный диск (в ранних версиях еще нужно было создать и сетевую карту).
Создание виртуального диска выполняется с помощью диалогового окна Guide Me который открывается после нажатия кнопки OK в диалоге New Virtual Machine. Как вариант, виртуальные диски можно создавать во вкладке Disks в панели ресурсов.
Диалог создания диска выглядит следующим образом:

Нужно определить тип диска Internal или External (выделенный iSCSI или FC LUN). В зависимости от этого выбора, дальнейшие настройки будут отличаться. В случае Internal, виртуальный диск будет размещен на ранее подключенном хранилище и остается только указать размер, тип интерфейса и политику выделения пространства - Allocation Policy. Здесь я рекомендую выбирать VirtIO интерфейс, поскольку он дает большую производительность чем IDE.

Собственно все готово чтобы запустить виртуальную машину. Переходим во вкладку Virtual Machines, выбираем нашу только что созданную виртуальную машину и нажимаем кнопку Run на панели инструментов (изображена в виде кнопки Play любого медиапроигрывателя). Затем нажимаем на иконку изображения консоли для подключения к консоли виртуальной машины.

На этом все. Что хочется сказать. За прошедший год разработчики проделали огромную работу и очень хорошо постарались, добавлено очень, очень много новых вещей, исправлено много ошибок. На будущее запланировано также очень много нового и интересного. Установка oVirt выполняется очень просто и за короткое время. Конфигурирование инфраструктуры тоже довольно понятный процесс. Вобщем это действительно классный продукт!

На главную "Virtualizing Linux"

13 комментариев:

  1. Спасибо за статью. Вопрос - судя по скриншотам, Вы всё же устанавливаете oVirt v3.4.0, да ещё и git. Полагаю это последняя, но нестабильная версия. А как установить последнюю стабильную?

    ОтветитьУдалить
    Ответы
    1. Да, со скриншотом вышла промашка, но стабильная версия устанавливается именно так как написано в статье. Все делается через установку пакета-репозитория и последующуюю установку пакетов ovirt из этого репозитория.

      Удалить
  2. Алексей, спасибо за статью о продукте. Сейчас активно тестирую.
    Хотелось бы узнать:
    oVirt использует образы на хранилище типа Data. Какой образ он использует qcow2 ?
    Можно ли вместо образа использовать блочное устройство типа LVM под диск виртуальной машины?
    Привык в обычной реализации ставить KVM на LVM для большей скорости работы, но oVirt нужен для мониторинга нагрузки и управления.
    Spice консоль в браузере он держит через firefox. А как нативным клиентом типа virt-manager подключиться к нужной виртуалке?
    Если сам сервер на котором размещен oVirt Engine упадет, какие деградации сервисов могут наблюдаться? Как обеспечить отказоустойчивость? (Средствами самого oVirt или дополнительно делать кластер)
    Как осуществляется миграция? Можно ли мигрировать между Дата Центрами?

    ОтветитьУдалить
    Ответы
    1. Добрый день!
      По поводу форматов образов прочитать можно здесь http://www.ovirt.org/Vdsm_Disk_Images. Про SPICE вобще ничего не скажу, как мне кажется это больше относится к VDI, с чем я практически не связывался.
      Про падение oVirt Engine... виртуальные машины продолжат работу, единственно что вы не сможете управлять инфраструктурой до тех пор пока не восстановите работу oVirt Engine узла. Насчет отказоустойчивости oVirt Engine, пока не реализовано, но community просит это сделать, так что скорей всего скоро появится.
      Ну и про миграции, мигрировать машины между ДЦ и даже между кластерами нельзя, это ограничение накладывается из-за того что в кластерах может быть выставлен разный CPU Type. Лишь можно переносить виртуальные машины из одного ДЦ в другой через Export/Import.

      Удалить
    2. Спасибо, Алексей. По ссылке указаны форматы raw и qcow2, но не совсем понятно как их выбрать при создании VM. Режимы заполнения жесткого диска понятно, а вот формат не ясно.
      Про миграцию: Миграция подразумевается только в пределах одного кластера? И миграция происходит автоматически если один из узлов кластера вышел из строя? Могли бы вы вкратце рассказать условия необходимые для двух узлов при миграции?
      Вы для подключения к VM используете VNC?

      Удалить
    3. Миграция возможна только внутри кластера. Миграция настраиваема, т.е. может быть как автоматическая, так и ручная. Также есть расстановка приоритетов, кто будет мигрировать в первую очередь, а кто в последнюю. Необходимым условием для обеспечивания автоматической миграции, является обязательная настройка fencing через IPMI-модули, типа iLO,iDRAC и т.п.
      Для подключения я использую VNC, хотя даже сама необходимость подключения возникает очень и очень редко.

      Удалить
  3. [code]oVirt Engine подключится к указанному адресу и выполнит установку всех необходимых пакетов, после чего настроит и запустит необходимые сервисы. Довольно просто, не так ли?[code]
    Что конкретно ovirt может сам установить? (Сам гипервизор установить может?)

    ОтветитьУдалить
    Ответы
    1. да, при заведении хоста указывается рутовый пароль, ovirt engine подклюается по ssh и выполняет установку пакетов, запуск сервисов.

      Удалить
  4. Предлагаю перенести обсуждения и опыты, в ovirt@conference.jabber.ru

    ОтветитьУдалить
  5. добрый день устанавливал по вашей инструкции ovirt 3.1, обновился до 3.2 нормально, обновиться до 3,3 не могу при yum update выдает ошибки:
    Error: Package: jasperreports-server-5.2.0-1.noarch (ovirt-stable)
    Requires: osgi(org.eclipse.text)
    Error: Package: jasperreports-server-5.2.0-1.noarch (ovirt-stable)
    Requires: jboss-ejb-3.1-api
    как поступить в ручную удалить старые пакеты и установить новые? заранее благодарен
    Евгений

    ОтветитьУдалить
  6. не могу создать никак хост, беда просто какаято,
    так же при создании меняет правила 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]. и все...

    ОтветитьУдалить
    Ответы
    1. для установки ovirt-engine и vdsm на одном хосте используйте All-in-one - http://www.ovirt.org/Feature/AllInOne

      p.s. админка блогспота показывает что на ваш коментарий есть ответ пользователя dyasny, но я почему то не вижу его здесь на странице... dyasny если вы тоже его не видите, то не подумайте что я его удалил))) полагаю какие-то баги в блогспоте

      Удалить
  7. Дико извиняюсь, как импортировать в Ovirt образ виртуальной машины vdmk???

    ОтветитьУдалить

Популярные сообщения

Профиль в Google+ Яндекс цитирования Яндекс.Метрика