HOSTVM
Search…
Расширение тома Hosted-engine до Replica 3
Для расширения тома hosted-engine на GlusterFS дополнительными бриками до Replica 3, выполните следующие шаги:

Создание дополнительных записей имен серверов

На каждый из дополнительных серверов будущего кластера и на ВМ engine добавить в файлы /etc/hosts записи следующего вида:
1
192.168.120.10 glusternode1 glusternode1.localdomain
2
192.168.120.11 glusternode2 glusternode2.localdomain
3
192.168.120.12 glusternode3 glusternode3.localdomain
Copied!
  • glusternode1-3 имя нод SDS (второе имя для серверов и их ip-адреса на выделенных под SDS интерфейсах).
  • Опционально можно прописать все имена на DNS-сервере.

Создание бэкапа Engine:

Подключитесь к виртуальной машине с Engine и выполните команду:
1
engine-backup --scope=all --mode=backup --file=backup_03.06.22 --log=backup_03.06.22_log
Copied!
  • Путь по умолчанию к создаваемому бэкапу - /var/lib/ovirt-engine-backup/ovirt-engine-backup-YmdHMS.backup

Создание бриков на хостах:

Разметка дискового пространства:

Допустим, что под новый брик мы хотим выделить 120 ГБ.
Для размещения используем рейд-массив дисков, представленный в виде устройства /dev/sdX.
На каждом из серверов создадим logical volume:
1
pvcreate /dev/sdxY
2
vgcreate datavg /dev/sdxY
3
lvcreate -L 120G -n datastore_lv datavg
4
mkfs.xfs /dev/mapper/datavg-datastore_lv
5
mkdir -p /data/gluster/datastore
Copied!
  • datavg – имя новой вольюм группы;
  • datastore_lv – имя вольюма в составе вольюм группы datavg.
  • /data/gluster/datastore - точка монтирования
После того, как созданы том и файловая система, следующий шаг – создать запись в /etc/fstab:
1
/dev/mapper/datavg-datastore_lv /data/gluster/datastore xfs defaults 0 0
Copied!
Монтируем том:
1
mount /dev/mapper/datavg-datastore_lv /data/gluster/datastore
Copied!
На каждом из дополнительных серверов создать директории под брики и запустить службы sds:
1
mkdir /data/gluster/datastore/brick1
2
systemctl start glusterd && systemctl enable glusterd
Copied!
Открываем требуемые порты на каждом сервере:
1
firewall-cmd --zone=public --add-port=24007-24008/tcp --permanent
2
firewall-cmd --zone=public --add-port=24009/tcp --permanent
3
firewall-cmd --zone=public --add-port=111/tcp --permanent
4
firewall-cmd --zone=public --add-port=139/tcp --permanent
5
firewall-cmd --zone=public --add-port=445/tcp --permanent
6
firewall-cmd --zone=public --add-port=965/tcp --permanent
7
firewall-cmd --zone=public --add-port=2049/tcp --permanent
8
firewall-cmd --zone=public --add-port=38465-38469/tcp --permanent
9
firewall-cmd --zone=public --add-port=631/tcp --permanent
10
firewall-cmd --zone=public --add-port=111/udp --permanent
11
firewall-cmd --zone=public --add-port=963/udp --permanent
12
firewall-cmd --zone=public --add-port=49152-49251/tcp --permanent
13
firewall-cmd --zone=public --add-service=nfs --permanent
14
firewall-cmd --zone=public --add-service=samba --permanent
15
firewall-cmd --zone=public --add-service=samba-client --permanent
16
firewall-cmd –reload
Copied!
Добавим хосты в зону видимости друг друга, на хосте с hosted-engine выполняем команду (повторяем для всех дополнительных хостов):
1
gluster peer probe glusternode2
Copied!
Проверяем статус присоединенного сервера командой:
1
gluster peer status
Copied!
Данная команда может быть выполнена также и на добавляемом хосте, соединение будет установлено в двустороннем порядке.

Инициализация хранилища Replica 3:

На хосте с Engine добавляем дополнительный брик к тому hosted-engine командой:
1
gluster volume add-brick hosted-engine replica 2 имя_сервера_2:/data/gluster/datastore/brick1
Copied!
Аналогично добавляем еще один брик:
1
gluster volume add-brick hosted-engine replica 3 имя_сервера_3:/data/gluster/datastore/brick1
Copied!
Либо одной длинной командой:
1
gluster volume add-brick hosted-engine replica 3 имя_сервера_2:/data/gluster/datastore/brick1 имя_сервера_3:/data/gluster/datastore/brick1
Copied!
Проверяем статус тома:
1
gluster volume status
2
gluster volume info
Copied!

Добавление backup-volfile-servers в mount point

Добавим опцию backup-volfile-servers в mount point, для этого переключаемcя в режим в global maintenance:
1
hosted-engine --set-maintenance --mode=global
Copied!
Выключаем виртуальную машину с HE:
1
hosted-engine --vm-shutdown
Copied!
Добавляем строку в файл /etc/ovirt-hosted-engine/hosted-engine.conf:
1
mnt_options = backup-volfile-servers=glusternode2:glusternode3 [имена серверов]
Copied!
Дополнительно выполняем команды:
1
hosted-engine --set-shared-config mnt_options backup-volfile-servers=virt2 --type=he_local
Copied!
1
hosted-engine --set-shared-config mnt_options backup-volfile-servers=virt2 --type=he_shared
Copied!
где:
[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, чтобы все хосты, развернутые после изменения конфигурации, использовали эти значения. Чтобы включить новое значение на хосте, повторно разверните этот хост.
Проверим что параметр добавился корректно (на уровне веб-интерфейса данный параметр может не отобразится):
1
hosted-engine --get-shared-config mnt_options --type=he_local
Copied!
1
hosted-engine --get-shared-config mnt_options --type=he_shared
Copied!
Если эта опция применена, то при сбое первого сервера volfile серверы, указанные в опции backup-volfile-servers, используются в качестве серверов volfile для монтирования клиента до тех пор, пока монтирование не завершится успешно.
Перезагружаем хост с hosted-engine командой reboot;
После перезапуска убедимся, что виртуальная машина стартовала (ожидание может быть длительным):
1
hosted-engine --vm-status
Copied!
1
hosted-engine --vm-start
Copied!
Выводим HE из режима global maintenance:
1
hosted-engine --set-maintenance --mode=none
Copied!

Добавление хостов

Включаем Enable Gluster Service в дефолтном кластере дефолтного датацентра:
Даём хостам беспарольный доступ по SSH (выполняется на каждом хосте):
1
ssh-keygen
Copied!
1
ssh-copy-id [email protected]
Copied!
Добавляем хост, для этого в Engine переходим в раздел Compute -> Hosts, нажимаем New и указываем данные добавляемого хоста:
  • Name - имя хоста
  • Hostname - FQDN хоста
  • В разделе Authentication выбираем SSH Public Key и копируем содержимое поля правее в файл /root/.ssh/authorized_keys добавляемого хоста.