OpenNebula
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
OpenNebula
OpenNebula — это платформа облачных вычислений для управления разнородными инфраструктурами распределенных центров обработки данных. Платформа OpenNebula управляет виртуальной инфраструктурой центра обработки данных для создания частных, общедоступных и гибридных реализаций инфраструктуры как службы.
Архитектура
Облачная архитектура определяется 3-мя элементами: хранилищем данных, сетью и системой виртуализации.
OpenNebula состоит из следующих компонентов:
Планирование ресурсов
Минимальные требования к серверу управления
Максимальное количество серверов, управляемых одним front-end-ом, зависит от инфраструктуры, особенно от производительности хранилища. Обычно рекомендуется не управлять более чем 500-ми серверами из одной точки, хотя существуют примеры с более чем 1000 серверами.
Сервера виртуализации
Хранилище данных
OpenNebula работает с двумя видами данных в хранилище: образцами виртуальных машин и образами (дисками) самих ВМ. Планирование хранилища - очень важная задача, т.к. от него зависит производительность облака. Например, при использовании Ceph для среднего по размеру облака, необходимо взять как минимум 3 сервера в следующей конфигурации: 5x1ТБ дисков, 16ГБ памяти, 2 CPU с 4-мя ядрами на каждом и 2 сетевые карты (минимум).
Сеть
Сетевая инфраструктура должна быть спланирована так, чтобы обеспечить высокую надёжность и пропускную способность. Рекомендуется использовать 2 сетевых интерфейса на сервере управления и по 4 на каждом сервере виртуализации (публичный, внутренний, для управления и для связи с хранилищем).
Установка
Сервер управления
Установить сервер управления OpenNebula можно следующей командой:
# apt-get install opennebula-server opennebula-common gem-opennebula-cli opennebula-flow opennebula-sunstone opennebula-gate gem-http-cookie
После успешной установки необходимо обновить зависимости пакетов, выполнив команду:
# apt-get update && apt-get dist-upgrade
Установка MySQL (MariaDB) для хранения конфигурации (на сервере управления):
# apt-get install mariadb
# systemctl enable --now mariadb.service
# mysql_secure_installation
# mysql -u root
mysql> mysql>GRANT GRANTALL ALLPRIVILEGES PRIVILEGESON ONopennebula.* opennebula.*TO TO 'oneadmin' IDENTIFIED BY '<thepassword>';
mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;COMMITTED;
Перед запуском сервера OpenNebula в первый раз необходимо настроить параметры доступа к базе данных в конфигурационном файле /etc/one/oned.conf:
DB = [ backend = "mysql",
server = "localhost",
port = 0,
user = "oneadmin",
passwd = "<thepassword>",
db_name = "opennebula" ]
Проверка работы сервера управления
Для проверки работоспособности сервера управления необходимо выполнить следующую команду (от имени пользователя oneadmin):
oneadmin$ oneuser show
USER 0 INFORMATION
ID : 0
NAME : oneadmin
GROUP : oneadmin
PASSWORD : 67aedfae4124dd409035f32ea2f25fgeae6
AUTH_DRIVER : core
ENABLED : Yes
USER TEMPLATE
TOKEN_PASSWORD="ec21d27e247fedhasabcb08b8e0a4ca3c"
RESOURCE USAGE & QUOTAS
Проксирование запросов к серверу Sunstone
Для соединения с веб-интерфейсом сервера управления желательно использовать протокол SSL, для чего необходимо установить дополнительный прокси, а сервер управления настроить на прослушивание только локального адреса 127.0.0.1:9869. Пример настройки HTTP сервера Nginx:
# apt-get install nginx
В файле конфигурации виртуального сервера /etc/nginx/sites-enabled/sampleserver.org:
#### OpenNebula Sunstone upstream
upstream sunstone {
server 127.0.0.1:9869;
}
#### sampleserver.org HTTP virtual host
server {
listen 80;
server_name sampleserver.org;
### Permanent redirect to HTTPS (optional)
return 301 https://$server_name:8443;
}
#### sampleserver.org HTTPS virtual host
server {
listen 8443;
server_name sampleserver.org;
### SSL Parameters
ssl on;
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
### Proxy requests to upstream
location / {
proxy_pass http://sunstone;
}
}
Изменения в файле конфигурации /etc/one/sunstone-server.conf:
:host: 127.0.0.1
:port: 9869
Сервер виртуализации
Установка серверов виртуализации (для системы виртуализации KVM):
# apt-get install opennebula-node-kvm
# systemctl enable --now libvirtd
Ключи для доступа по SSH
Сеть
Хранилище данных
Добавления хоста
Добавление сетевых файловых систем