В рамках работ по одному проекту столкнулся с интересной вещью под названием Ovirt 3.5.3 - это некий аналог Virtual Machine Manager, но на мой взгляд он ближе по идеологии к vSphere, т.к. реализует механизмы failover и cluster на уровне продукта управления виртуализацией, а не ОС гипервизора (как HYPER-V Failover Cluster).
Базировалось всё на отечественной ROSA Enterprise Linux Server 6.6 (RELS 6.6, кстати, RELS очень интересен тем, что в основе лежит Red Hat).
Документ Инструкция администратора больше напоминает смесь из step-by-step guide и описания внутренних механизмов работы продукта.
Опыт интересен тем, что даёт некий аналог тяжелым решениям VMWare и Microsoft, в рамках импортозамещения.
Ниже я коротко расскажу о установке продукта Ovirt в среде RELS с реализацией механизма аутентификации и авторизации на базе IPA, но хочу оговориться, что для меня данная реализация проекта на *nix скорее экзотика, чем каждодневная реальность :) ибо Microsoft - наше всё, посему заранее прошу прощения за огрехи, если таковые допущу.
Коротко о выборе
Во-первых почему IPA:
- по информации от архитектора RELS, с которым мы работали, IPA - это основное направление для Red Hat Community в части аутентификации и авторизации. Т.е. продукт можно использовать в длительном периоде времени с расчётом на поддержку. Мне, как человеку, привыкшего работать с Active Directory понравился предлагаемый функционал и интерфейс (конечно везде есть отличия, но всё же);
- IPA - полноценное продуктивное решение с очень неплохим уровнем документированности; Лично я, для прояснения многих аспектов использовал официальную документацию Red Hat
- IPA позволяет использовать динамический DNS сервер и формировать SSO окружение клиент-сервер - легко;
- Это рекомендованное решение для интеграции с Ovirt 3.5;
- А, и конечно, фраза, которую любят говорить *nix'оводы: оно уже входит в дистрибутив RELS и поддерживается командой ROSA.
Во-вторых, выбор платформы реализации серверной инфраструктуры:
- Выбор производился между ФСТЭК сертифицированными отечественными ОС (для справки, существуют: МСВС Линукс, Astra Linux - крайне закрытые платформы на мой субъективный взгляд; ALT Linux - известен многим и достаточно неплох);
- RELS понравился тем, что это тот же CentOS | Red Hat и дружилюбием к системам в окружающем мире при интеграции;
- Активная жизненная позиция команды разработчиков :) в частности Константина Калмыкова;
- RELS использует KVM для виртуализации.
В-третьих, управление виртуализацией, и да, опять - Ovirt 3.5 входит в состав ROSA Linux и так же, как и сам RELS, поддерживается командой разработчиков.
Установка IPA
Выполняем обновление пакетов # yum update
Поскольку мы планируем использование Kerberos рекомендую предварительно поднять NTP сервер в сети и настроить иерархию получения точного времени (либо следить за часами).
Установим BIND (в моей конфигурации я использую службу имен там же, где и служба каталогов), плюс плагин к нему, который реализует запись содержимого зон в службу каталога.
# yum install bind-dyndb-ldap bind
если столкнётесь с Warning на скриншоте ниже - не обращайте внимания (насколько я понял - стандартное предупреждение).
Затем установим сам IPA сервер: # yum install ipa-server
После установки пакетов я проверяю содержимое /etc/hosts
(это необходимое условие для работы IPA севера). В моем случае это выглядит
так:
127.0.0.1
localhost localhost.localdomain localhost4 localhost4.localdomain4
::1
localhost localhost.localdomain localhost6 localhost6.localdomain6
10.5.102.167 ipa01.rosa.demo ipa01
Перед установкой IPA сервера убедитесь, что hostname сервера у Вас задано строчными буквами, см. скриншот ниже - иначе система ругается.
# sudo
ipa-server-install --setup-dns
Далее вы получите следующий вывод с интерактивным диалогом:
The log file for this installation can be found in /var/log/ipaserver-install.log ==============================================================================
Далее вы получите следующий вывод с интерактивным диалогом:
The log file for this installation can be found in /var/log/ipaserver-install.log ==============================================================================
This program will set up the IPA Server.
* Configure a
stand-alone CA (dogtag) for certificate management
* Configure the
Network Time Daemon (ntpd)
* Create and
configure an instance of Directory Server
* Create and
configure a Kerberos Key Distribution Center (KDC)
* Configure
Apache (httpd)
* Configure DNS
(bind)
To accept the default shown in brackets, press the Enter key.
Existing BIND configuration detected, overwrite? [no]:
yes
Enter the fully qualified domain name of the computer on which you're
setting up server software. Using the form <hostname>.<domainname>
Example: master.example.com.
Server host name [ipa01.rosa.demo]:
Warning: skipping DNS resolution of host ipa01.rosa.demo
The domain name has been determined based on the host name.
Please confirm the domain name [rosa.demo]:
The kerberos protocol requires a Realm name to be
defined.
This is typically the domain name converted to uppercase.
Please provide a realm name [ROSA.DEMO]:
Certain directory server operations require an
administrative user.
This user is referred to as the Directory Manager and has
full access to the Directory for system management tasks and will be added to
the instance of directory server created for IPA.
The password must be at least 8 characters long.
Directory Manager password:
Password (confirm):
The IPA server requires an administrative user, named
'admin'.
This user is a regular system account used for IPA server
administration.
IPA admin password:
Password (confirm):
Do you want to configure DNS forwarders? [yes]:
Enter the IP address of DNS forwarder to use, or press
Enter to finish.
Enter IP address for a DNS forwarder: 10.5.102.2 DNS
forwarder 10.5.102.2 added
Enter IP address for a DNS forwarder:
Do you want to configure the reverse zone? [yes]:
Please specify the reverse zone name [102.5.10.in-addr.arpa.]:
Using reverse zone 102.5.10.in-addr.arpa.
The IPA Master Server will be configured with:
Hostname:
ipa01.rosa.demo
IP address:
10.5.102.167
Domain name:
rosa.demo
Realm name:
ROSA.DEMO
BIND DNS server will be configured to serve IPA domain
with:
Forwarders:
10.5.102.2
Reverse zone:
102.5.10.in-addr.arpa.
Continue to configure the system with these values? [no]:
yes
The following operations may take some minutes to
complete.
Please wait until the prompt is returned.
Configuring NTP daemon (ntpd)
[1/4]: stopping
ntpd
[2/4]: writing
configuration
[3/4]:
configuring ntpd to start on boot
[4/4]: starting
ntpd
Done configuring NTP daemon (ntpd).
Configuring directory server for the CA (pkids):
Estimated time 30 seconds
[1/3]: creating
directory server user
[2/3]: creating
directory server instance
[3/3]: restarting
directory server
Done configuring directory server for the CA (pkids).
Configuring certificate server (pki-cad): Estimated time
3 minutes 30 seconds
[1/21]: creating
certificate server user
[2/21]: creating
pki-ca instance
[3/21]:
configuring certificate server instance
[4/21]: disabling
nonces
[5/21]: creating
CA agent PKCS#12 file in /root
[6/21]: creating
RA agent certificate database
[7/21]: importing
CA chain to RA certificate database
[8/21]: fixing RA
database permissions
[9/21]: setting
up signing cert profile
[10/21]: set up
CRL publishing
[11/21]: set
certificate subject base
[12/21]: enabling
Subject Key Identifier
[13/21]: setting
audit signing renewal to 2 years
[14/21]:
configuring certificate server to start on boot
[15/21]:
restarting certificate server
[16/21]:
requesting RA certificate from CA
[17/21]: issuing
RA agent certificate
[18/21]: adding
RA agent as a trusted user
[19/21]:
configure certificate renewals
[20/21]:
configure Server-Cert certificate renewal
[21/21]:
Configure HTTP to proxy connections Done configuring certificate server
(pki-cad).
Configuring directory server (dirsrv): Estimated time 1
minute
[1/38]: creating
directory server user
[2/38]: creating
directory server instance
[3/38]: adding
default schema
[4/38]: enabling
memberof plugin
[5/38]: enabling
winsync plugin
[6/38]:
configuring replication version plugin
[7/38]: enabling
IPA enrollment plugin
[8/38]: enabling
ldapi
[9/38]: disabling
betxn plugins
[10/38]: configuring
uniqueness plugin
[11/38]:
configuring uuid plugin
[12/38]:
configuring modrdn plugin
[13/38]: enabling
entryUSN plugin
[14/38]:
configuring lockout plugin
[15/38]: creating
indices
[16/38]: enabling
referential integrity plugin
[17/38]: configuring
ssl for ds instance
[18/38]:
configuring certmap.conf
[19/38]:
configure autobind for root
[20/38]:
configure new location for managed entries
[21/38]:
restarting directory server
[22/38]: adding
default layout
[23/38]: adding
delegation layout
[24/38]: adding
replication acis
[25/38]: creating
container for managed entries
[26/38]:
configuring user private groups
[27/38]:
configuring netgroups from hostgroups
[28/38]: creating
default Sudo bind user
[29/38]: creating
default Auto Member layout
[30/38]: adding
range check plugin
[31/38]: creating
default HBAC rule allow_all
[32/38]: Upload
CA cert to the directory
[33/38]:
initializing group membership
[34/38]: adding
master entry
[35/38]:
configuring Posix uid/gid generation
[36/38]: enabling
compatibility plugin
[37/38]: tuning
directory server
[38/38]:
configuring directory to start on boot Done configuring directory server
(dirsrv).
Configuring Kerberos KDC (krb5kdc): Estimated time 30
seconds
[1/10]: adding
sasl mappings to the directory
[2/10]: adding
kerberos container to the directory
[3/10]:
configuring KDC
[4/10]:
initialize kerberos container
[5/10]: adding
default ACIs
[6/10]: creating
a keytab for the directory
[7/10]: creating
a keytab for the machine
[8/10]: adding
the password extension to the directory
[9/10]: starting
the KDC
[10/10]:
configuring KDC to start on boot Done configuring Kerberos KDC (krb5kdc).
Configuring kadmin
[1/2]: starting
kadmin
[2/2]:
configuring kadmin to start on boot Done configuring kadmin.
Configuring ipa_memcached
[1/2]: starting
ipa_memcached
[2/2]:
configuring ipa_memcached to start on boot Done configuring ipa_memcached.
Configuring the web interface (httpd): Estimated time 1
minute
[1/13]: setting
mod_nss port to 443
[2/13]: setting
mod_nss password file
[3/13]: enabling
mod_nss renegotiate
[4/13]: adding
URL rewriting rules
[5/13]:
configuring httpd
[6/13]: setting
up ssl
[7/13]: setting
up browser autoconfig
[8/13]: publish
CA cert
[9/13]: creating
a keytab for httpd
[10/13]: clean up
any existing httpd ccache
[11/13]:
configuring SELinux for httpd
[12/13]:
restarting httpd
[13/13]:
configuring httpd to start on boot Done configuring the web interface (httpd).
Applying LDAP updates
Restarting the directory server
Restarting the KDC
Configuring DNS (named)
[1/9]: adding DNS
container
[2/9]: setting up
our zone
[3/9]: setting up
reverse zone
[4/9]: setting up
our own record
[5/9]: setting up
kerberos principal
[6/9]: setting up
named.conf
[7/9]: restarting
named
[8/9]:
configuring named to start on boot
[9/9]: changing
resolv.conf to point to ourselves Done configuring DNS (named).
Global DNS configuration in LDAP server is empty You can
use 'dnsconfig-mod' command to set global DNS options that would override
settings in local named.conf files
Restarting the web server
==============================================================================
Setup complete
Next steps:
1.
You must make sure these network ports are open:
TCP
Ports:
* 80, 443: HTTP/HTTPS
* 389, 636: LDAP/LDAPS
* 88, 464: kerberos
* 53: bind
UDP
Ports:
* 88, 464: kerberos
* 53: bind
* 123: ntp
2.
You can now obtain a kerberos ticket using the command: 'kinit admin'
This ticket will allow you to use the IPA
tools (e.g., ipa user-add)
and the web user interface.
Be sure to back up the CA certificate stored in
/root/cacert.p12 This file is required to create replicas. The password for
this file is the Directory Manager password
Затем откройте браузер и соединитесь с узлом, на котором развернут IPA сервер по HTTP или HTTPS. Теперь можно работать со службой каталогов.
Затем откройте браузер и соединитесь с узлом, на котором развернут IPA сервер по HTTP или HTTPS. Теперь можно работать со службой каталогов.
Как видите, DNS сервер в IPA самостоятельно и корректно
делает записи типа SRV (аналогично А, PTR).
Добавляем рядовой сервер в домен:
#ipa-client-install --no-nisdomain --enable-dns-updates --domain rosa.demo --realm ROSA.DEMO --mkhomedir
ПРИМЕЧАНИЕ! Поскольку данный пример делался на стенде с одним сервером IPA строка не имела значения - я предпочёл настроить на конкретный сервер; однако для обеспечения failover клиента ipa на резервный сервер службы, в случае выхода из строя мастер-сервера службы каталогов, требуется другая конфигурация (о чём говорит сообщение на скриншоте).
ПРИМЕЧАНИЕ! для автоматического создания папок профиля учётной записи домена, при логине на рядовом сервере домена, используйте ключ --mkhomedir, в противном случае получите ошибки.
После добавления рядового сервера в домен, командой ниже, необходимые записи так же появились в службе каталога. На скриншоте выше см. IPv4 10.5.102.168 и FQDN в зоне прямого просмотра ovi01.rosa.demo
После добавления рядового сервера в домен, командой ниже, необходимые записи так же появились в службе каталога. На скриншоте выше см. IPv4 10.5.102.168 и FQDN в зоне прямого просмотра ovi01.rosa.demo
Установка Ovirt 3.5
Перед развёртыванием Ovirt на сервере RELS 6.6 запустите # yum update
Далее выполните команду загрузки из репозитария # yum install ovirt-engine -y
После выполните команду настройки и пройдите все пункты мастера #engine-setup
Перед подтверждением конфигурации к установке Вы увидите следующий диалог:
Подтверждаем и ожидаем окончания установки
Интеграция Ovirt 3.5 с IPA Server
Теперь необходимо выполнить команду интеграции Ovirt 3.5 со службой каталога IPA
ПРИМЕЧАНИЕ! Данная версия Ovirt имеет только одного локального пользователя - admin (создание других локальных пользователей не предусмотрено). Всех остальных пользователей она получает из службы каталога (кстати есть возможность интеграции и с Microsoft Active Directory - расскажу о нюансах в другой статье цикла).
В ситуации по-умолчанию Вы получите ошибку ниже:
Дело в том, что, по-умолчанию, OVirt 3.5 требует значение равное 1 параметра minssf сервера IPA, собственно сервер IPA, после установки, имеет значение параметра равное 0.
Останавливаем службу IPA # service ipa stop
Меняем это значение на сервере IPA в файле /etc/dirsrv/slapd-ROSA-DEMO/dse.ldif и перезапускаем службы, используя команду # service ipa start
После этого повторяем попытку интеграции.
Как Вы видите, на предыдущем скриншоте, повторная попытка добавления прошла вполне успешно и нам надо будет перезапустить службу ovirt-engine.
Далее выполняем вход в систему с учётной записью администратора
Ovirt имеет достаточно развитую внутреннюю RBAC модель, а так же возможность создания новых ролей.
Теперь мы можем добавить пользователя в роль в Ovirt и выполнить вход в систему управления виртуализацией, используя портал пользователя.
Вводим учётные данные пользователя, который входит в группу virtualization_admins@rosa.demo
Добро пожаловать на портал само-обслуживания пользователя Ovirt, с правами по-умолчанию для роли UserRole.
В следующей статье я расскажу, как добавить сервера виртуализации в Ovirt, а так же пройдёмся по механизмам реализации отказоустойчивости кластеров и виртуальным сетям.
Комментариев нет:
Отправить комментарий
Уважаемый коллега, Ваш комментарий пройдёт модерацию, чтобы избежать спам-атак в ленте. Спасибо за понимание.