Comment on page
Расширение тома Hosted-engine до Replica 3
Для расширения тома hosted-engine на GlusterFS дополнительными бриками до Replica 3, выполните следующие шаги:
На каждый из дополнительных серверов будущего кластера и на ВМ engine добавить в файлы
/etc/hosts
записи следующего вида:192.168.120.10 glusternode1 glusternode1.localdomain
192.168.120.11 glusternode2 glusternode2.localdomain
192.168.120.12 glusternode3 glusternode3.localdomain
- glusternode1-3 имя нод SDS (второе имя для серверов и их ip-адреса на выделенных под SDS интерфейсах).
- Опционально можно прописать все имена на DNS-сервере.
Подключитесь к виртуальной машине с Engine и выполните команду:
engine-backup --scope=all --mode=backup --file=backup_03.06.22 --log=backup_03.06.22_log
- Путь по умолчанию к создаваемому бэкапу - /var/lib/ovirt-engine-backup/ovirt-engine-backup-YmdHMS.backup
Допустим, что под новый брик мы хотим выделить 120 ГБ.
Для размещения используем рейд-массив дисков, представленный в виде устройства
/dev/sdX
.На каждом из серверов создадим logical volume:
pvcreate /dev/sdxY
vgcreate datavg /dev/sdxY
lvcreate -L 120G -n datastore_lv datavg
mkfs.xfs /dev/mapper/datavg-datastore_lv
mkdir -p /data/gluster/datastore
- datavg – имя новой вольюм группы;
- datastore_lv – имя вольюма в составе вольюм группы datavg.
- /data/gluster/datastore - точка монтирования
После того, как созданы том и файловая система, следующий шаг – создать запись в
/etc/fstab
:/dev/mapper/datavg-datastore_lv /data/gluster/datastore xfs defaults 0 0
Монтируем том:
mount /dev/mapper/datavg-datastore_lv /data/gluster/datastore
На каждом из дополнительных серверов создать директории под брики и запустить службы sds:
mkdir /data/gluster/datastore/brick1
systemctl start glusterd && systemctl enable glusterd
Открываем требуемые порты на каждом сервере:
firewall-cmd --zone=public --add-port=24007-24008/tcp --permanent
firewall-cmd --zone=public --add-port=24009/tcp --permanent
firewall-cmd --zone=public --add-port=111/tcp --permanent
firewall-cmd --zone=public --add-port=139/tcp --permanent
firewall-cmd --zone=public --add-port=445/tcp --permanent
firewall-cmd --zone=public --add-port=965/tcp --permanent
firewall-cmd --zone=public --add-port=2049/tcp --permanent
firewall-cmd --zone=public --add-port=38465-38469/tcp --permanent
firewall-cmd --zone=public --add-port=631/tcp --permanent
firewall-cmd --zone=public --add-port=111/udp --permanent
firewall-cmd --zone=public --add-port=963/udp --permanent
firewall-cmd --zone=public --add-port=49152-49251/tcp --permanent
firewall-cmd --zone=public --add-service=nfs --permanent
firewall-cmd --zone=public --add-service=samba --permanent
firewall-cmd --zone=public --add-service=samba-client --permanent
firewall-cmd –reload
Добавим хосты в зону видимости друг друга, на хосте с hosted-engine выполняем команду (повторяем для всех дополнительных хостов):
gluster peer probe glusternode2
Проверяем статус присоединенного сервера командой:
gluster peer status
Данная команда может быть выполнена также и на добавляемом хосте, соединение будет установлено в двустороннем порядке.
На хосте с Engine добавляем дополнительный брик к тому hosted-engine командой:
gluster volume add-brick hosted-engine replica 2 имя_сервера_2:/data/gluster/datastore/brick1
Аналогично добавляем еще один брик:
gluster volume add-brick hosted-engine replica 3 имя_сервера_3:/data/gluster/datastore/brick1
Либо одной длинной командой:
gluster volume add-brick hosted-engine replica 3 имя_сервера_2:/data/gluster/datastore/brick1 имя_сервера_3:/data/gluster/datastore/brick1
Проверяем статус тома:
gluster volume status
gluster volume info
Добавим опцию backup-volfile-servers в mount point, для этого переключаемcя в режим в global maintenance:
hosted-engine --set-maintenance --mode=global
Выключаем виртуальн ую машину с HE:
hosted-engine --vm-shutdown
Добавляем строку в файл /etc/ovirt-hosted-engine/hosted-engine.conf:
mnt_options = backup-volfile-servers=glusternode2:glusternode3 [имена серверов]
Дополнительно выполняем команды:
hosted-engine --set-shared-config mnt_options backup-volfile-servers=virt2 --type=he_local
hosted-engine --set-shared-config mnt_options backup-volfile-servers=virt2 --type=he_shared
где:
[he_local] – задает значение в локальном экземпляре файла /etc/ovirt-hosted-engine/hosted-engine.conf на локальном хосте, чтобы только этот хост использовал новые значения. Чтобы включить новое значение, перезапустите службы ovirt-ha-agent и ovirt-ha-broker.
[he_shared] - задает значение в файле /etc/ovirt-hosted-engine/hosted-engine.conf в shared storage, чтобы все хосты, развернутые после изменения конфигурации, использовали эти значения. Чтобы включить новое значение на хосте, повторно разверните этот хост.
Проверим что параметр добавился корректно (на уровне веб-интерфейса данный параметр может не отобразится):
hosted-engine --get-shared-config mnt_options --type=he_local
hosted-engine --get-shared-config mnt_options --type=he_shared
Если эта опция применена, то при сбое первого сервера volfile серверы, указанные в опции backup-volfile-servers, используются в качестве серверов volfile для монтирования клиента до тех пор, пока монтирование не завершится успешно.
Перезагружаем хост с hosted-engine командой reboot;
После перезапуска убедимся, что виртуальная машина стартовала (ожидание может быть длительным):
hosted-engine --vm-status
hosted-engine --vm-start
Выводим HE из режима global maintenance:
hosted-engine --set-maintenance --mode=none
Включаем Enable Gluster Service в дефолтном кластере дефолтного датацентра:

Даём хостам беспарольный доступ по SSH (выполняется на каждом хосте):
ssh-keygen
ssh-copy-id root@glusternode2
Добавляем хост, для этого в Engine переходим в раздел Compute -> Hosts, нажимаем New и указываем данные добавляемого хоста:
- Name - имя хоста
- Hostname - FQDN хоста
- В разделе Authentication выбираем SSH Public Key и копируем содержимое поля правее в файл /root/.ssh/authorized_keys добавляемого хоста.