Установка OpenNebula на Astra Linux
Так как Astra Linux использует в своей системе не самые свежие библиотеки, будет устанавливаться версия самая последняя подходящая версия 5.8.1 для Astra Linux (orel) 2.12.29 (последняя на сегодня 5.12.0.3).
Для начало необходимо скачать и распаковать архив необходимых библиотек.
Выполнить в терминале следующие команды:
sudo su
apt install -y ruby2.3 ruby-termios
Ниже перед выполнением указать имя юзера, вместо $USER.
dpkg -i /home/$USER/Загрузки/PageNebula/*
apt-get install -f -y
wget -q -O- https://downloads.opennebula.io/repo/repo.key | apt-key add -
echo "deb https://downloads.opennebula.io/repo/5.8.1/Debian/9 stable opennebula" > /etc/apt/sources.list.d/opennebula.list
apt update
apt-get install -y opennebula opennebula-node opennebula-sunstone opennebula-gate opennebula-flow
/usr/share/one/install_gems
На вопрос о выборе дистрибутива выбираем «Ubuntu/Debian», нажимаем «0» и «Enter».
Появится список устанавливаемых пакетов, нажимаем «Enter».
На вопрос продолжить или нет, нажимаем клавишу «y» и нажимаем «Enter». После установки необходимо назначить пароль для oneadmin и зайдем под oneadmin в терминале.
passwd oneadmin
su oneadmin
Зададим пароль для входа в OpenNebula Sunstone и выходим в терминале под root.
echo "oneadmin:password" > /var/lib/one/.one/one_auth
exit
systemctl start opennebula
systemctl start opennebula-sunstone
Переходим в браузер и набираем: localhost:9869
Вводим логин: oneadmin пароль: который вы задали для OpenNebula Sunstone.
Для включения русского языка в меню выбираем «Settings».
На против «Language» нажимаем значок редактировать и выбираем в раскрывающемся окне «Russian (ru_RU)».
Фронтальная машина
Фронтальная машина — это сервер, на котором развёрнут сервис OpenNebula, предназначенный для управления облаком.
Требования
- Сервер соответствует минимальным требованиям.
- На сервере развернута ОС в соответствии с разделом Установка ОС.
- В сети развернут Контроллер домена.
Подготовка сервера для установки сервиса OpenNebula
Стендовый сервер, включающий роль фронтальной машины, может выполнять роль рабочего места администратора и являться точкой входа в облако. Для этого на сервере необходимо установить графическое окружение рабочего стола и браузер firefox командой:
sudo apt install fly-all-main firefox
В информационных системах, находящихся в эксплуатации, не рекомендуется устанавливать графическую систему на сервере.
- Ввести сервер в домен ALD или FreeIPA. В зависимости от типа домена для получения инструкций перейти по одной из ссылок: Ввод в домен ALD или Ввод в домен FreeIPA.
- Повысить уровень целостности в ОС . Отредактировать на сервере файл /etc/default/grub :
GRUB_CMDLINE_LINUX_DEFAULT="parsec.max_ilev=127 parsec.ccnr_relax=1 quiet net.ifnames=0"
Установка и настройка Front-end на сервере
sudo apt install postgresql-9.6
sudo apt install brestcloud-ald
sudo apt install brestcloud-ipa
Если подготавливается несколько серверов с ролью Front-end для отказоустойчивости управления по алгоритму RAFT, то в каждом случае следует задавать одинаковые названия БД и учетных данных для доступа к ней.
Самоподписанные сертификаты
Для того чтобы с оздать самоподписанный сертификат для возможности использования протокола https , требуется сгенерировать его с помощью OpenSSL:
- Создать каталог для сертификатов и ключей (для ПК СВ «Брест» с обновлением 2.6 этот каталог уже существует):
sudo openssl req -x509 -nodes -newkey rsa:2048 -days 3650 -keyout /etc/apache2/ssl/.key -out /etc/apache2/ssl/.crt
Country Name (2 letter code) [AU]: — страна/регион (необязательно) State or Province Name (full name) [Some-State]: — штат (необязательно) Locality Name (eg, city) []: — город (необязательно) Organization Name (eg, company) [Internet Widgits Pty Ltd]: — имя организации (необязательно) Organizational Unit Name (eg, section) []: — подразделение организации, пропустить (необязательно) Common Name (e.g. server FQDN or YOUR name) []: — Обязательное поле, это имя, по которому к серверу будут обращаться . Email Address []: — адрес электронной почты (необязательно)
sudo openssl x509 -noout -text -in /etc/apache2/ssl/.crt
Если настроен алгоритм RAFT и плавающий сетевой адрес для отказоустойчивого управления ПК СВ «Брест», то необходимо использовать один и тот же самоподписанный сертификат на всех узлах с Front-end, добавленных в RAFT.
Настройка Apache2
Для настройки Apache2 следует изменить содержание файла /etc/apache2/sites-available/000-default.conf.
- Перенаправить порт 80 на 443, указать расположение файлов сертификата и ключа. Привести файл к виду:
ServerName . Redirect permanent / https://. ServerName . ServerAdmin webmaster@localhost Options FollowSymLinks AllowOverride None DocumentRoot /usr/lib/one/sunstone/public SSLEngine on SSLCertificateFile /etc/apache2/ssl/.crt SSLCertificateKeyFile /etc/apache2/ssl/.key BalancerMember http://127.0.0.1:9869 ProxyPass /brestcloud ! ProxyPass / balancer://unicornservers/ ProxyPassReverse / balancer://unicornservers/ ProxyPreserveHost on AuthType Kerberos KrbAuthRealms KrbServiceName HTTP/. Krb5Keytab /etc/apache2/apache2.keytab KrbMethodNegotiate on KrbMethodK5Passwd off KrbSaveCredentials on require valid-user AllowOverride all RewriteEngine On RewriteCond %/% !-f RewriteRule ^/(.*)$ balancer://unicornservers% [P,QSA,L] RewriteCond % (.+) RewriteRule . - [E=RU:%1] RequestHeader add X-Forwarded_Remote-User %e ScriptAlias /brestcloud/ /usr/lib/one/brestcloud/ Options +ExecCGI AddHandler cgi-script .cgi AuthType Kerberos KrbAuthRealms KrbServiceName HTTP/. Krb5Keytab /etc/apache2/apache2.keytab KrbMethodNegotiate on KrbMethodK5Passwd off KrbSaveCredentials on require valid-user AllowOverride all ErrorLog $/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog $/access.log combined
sudo apachectl configtest
sudo systemctl restart apache2
Настройка клиента
Для подключения к графическому интерфейсу управления необходим веб-браузер Firefox:
Если администрирование облака на разворачиваемом стенде осуществляется непосредственно с узла стенда , то на узле стенда необходимо выполнить следующие действия. В случае, если для администрирования будет использоваться отдельное АРМ, эти действия нужно выполнить на нем, предварительно введя АРМ в домен.
- Зайти в систему, используя графический интерфейс Fly, под пользователем brestadmin .
- Запустить браузер Firefox.
- В адресной строке ввести: about:config и найти следующие параметры, которые необходимо исправить :
network.negotiate-auth.delegation-uris network.negotiate-auth.trusted-uris
Проверка
Перейти в интерфейс OpenNebula для настройки ПК СВ «Брест» по адресу: https://.
Отобразится приглашение войти в систему, в котором следует нажать Login :
Если после нажатия кнопки Login отобразится интерфейс управления облаком , настройки произведены успешно!
Настройка корректного подключения к ВМ по VNC или SPICE через HTTPS
Данный пункт необходим в случае отсутствия настроенного центра сертификации. Описывается процесс настройки и добавления самоподписанного сертификата в доверенные.
Для корректного подключения к ВМ по VNC или SPICE с использованием HTTPS выполнить следующие шаги:
- На сервере, где работают службы Front-end, в файле /etc/one/sunstone-server.conf поменять следующие параметры, указав пути к сертификату и ключу:
:vnc_proxy_support_wss: yes :vnc_proxy_cert: /etc/apache2/ssl/.crt :vnc_proxy_key: /etc/apache2/ssl/.key
root@srv:/etc/one# service unicorn-opennebula restart root@srv:/etc/one# service opennebula-novnc restart root@srv:/etc/one# service apache2 restart
Подключиться к ПК СВ Брест по https://. и после открытия интерфейса выйти из сессии brestadmin , оставив открытым это окно.
После получения предупреждения, добавить страницу в исключения. Для чего нажать кнопки Advanced. и Accept the Risk and Continue.
При выходе из сессии ПК СВ Брест для brestadmin все исключения, добавленные в Firefox, сохранятся.