Comment on page
Создание хранилища через CLI
После развертывания HOSTVM используйте данное руководство для создания нового хранилища для виртуальных машин с использованием CLI.
Для обеспечения отказоустойчивости рекомендуется вариант настройки на трех либо кратном трем количестве серверов (3, 6, 9, 12 и т.д.), приведенный в данном руководстве.
На каждый из серверов будущего кластера и на ВМ 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-сервере.
Допустим, что под новое хранилище виртуальных машин
datastore
мы хотим выделить 3ТБ.Для размещения используем рейд-массив дисков, представленный в виде устройства
/dev/sdX
.На каждом из серверов создадим logical volume под виртуальные машины:
pvcreate /dev/sdX
vgcreate datavg /dev/sdX
lvcreate -L 3072G -n datastore_lv datavg
mkfs.xfs -l size=512 /dev/mapper/datastore_lv
mkdir -p /data/gluster/datastore
- datavg – имя новой volume группы
- datastore_lv – имя логического тома в составе группы datavg
- /data/gluster/datastore - точка монтирования
После того, как созданы том и файловая система, следующий шаг – создать запись в
/etc/fstab
:/dev/mapper/datavg-datastore_lv /data/gluster/datastore xfs defaults 0 0
И примонтировать том:
mount -a
На каждом из серверов создать директории под брики и запустить службы sds:
mkdir /data/gluster/datastore/brick
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
Дальнейшая настройка осуществляется с одного из серверов будущего кластера т.е. приведённые ниже коман ды нужно запускать только с одного из серверов.
В примере команды выполняются с glusternode1.
Добавить ноды sds в зону видимости друг друга:
root@glusternode1:~# gluster peer probe glusternode2
root@glusternode1:~# gluster peer probe glusternode3
Инициализировать хранилище
datastore
командой :root@glusternode1:~# gluster volume create datastore replica 3 glusternode1:/data/gluster/datastore/brick glusternode2:/data/gluster/datastore/brick glusternode3:/data/gluster/datastore/brick
Применить следующие настройки для хранилища
datastore
:root@glusternode1:~# gluster volume set datastore cluster.quorum-type auto
root@glusternode1:~# gluster volume set datastore network.ping-timeout 10
root@glusternode1:~# gluster volume set datastore auth.allow \*
root@glusternode1:~# gluster volume set datastore group virt
root@glusternode1:~# gluster volume set datastore storage.owner-uid 36
root@glusternode1:~# gluster volume set datastore storage.owner-gid 36
root@glusternode1:~# gluster volume set datastore server.allow-insecure on
root@glusternode1:~# gluster volume set datastore features.shard on
root@glusternode1:~# gluster volume set datastore features.shard-block-size 512MB
root@glusternode1:~# gluster volume start datastore
Убедиться, что в настройках кластера, на котором развернуто хранилище, включена опция:
Compute > Clusters > выбрать кластер > нажать кнопку Edit > вкладка General > Enable Gluster Service

После применения настроек создать новое хранилище на подготовленном ранее томе:
Compute > Storage > Storage Domains > нажать кнопку New Domain

- В качестве Storage type указать GlusterFS
- Указать имя хранилища
- В поле Path указать путь к созданному тому (имя сервера и имя тома sds):
glusternode1:/datastore
- В поле Mount options указать остальные ноды :
backup-volfile-servers=glusternode2:glusternode3