- tocdepth
2
Создание общего диска GlusterFS
В этом разделе описано, как использовать общий диск EVS для двух виртуальных машин ECS и настроить кластерную файловую систему GlusterFS.
Общие диски EVS — блочные устройства хранения, которые поддерживают одновременные операции чтения/записи и могут быть могут быть подключены максимум к 16 серверам. Такие диски используются для кластерных приложений для обеспечения высокой доступности.
Подробнее — Описание общих дисков EVS.
GlusterFS — распределенная, параллельная, линейно масштабируемая файловая система с возможностью защиты от сбоев.
Создание общего диска
Создайте две виртуальные машины ECS. В этом примере используется операционная система Ubuntu 22.04, а виртуальные машины называются «ecs-gfs-shared1» и «ecs-gfs-shared2».
Создайте диск EVS. При создании выберите в области Аdvanced settings параметры Share и SCSI.
Подключите общий диск EVS к обеим виртуальным машинам ECS.
Настройка общего диска
Измените конфигурацию в
/etc/hosts
на каждой виртуальной машине ECS, чтобы они отвечали по DNS-именам.Закомментируйте запись 127.0.0.1 или используйте имена отличные от системных:
nano /etc/hosts 192.168.10.11 ecs-gfs-shared1 ecs-gfs-shared1 192.168.10.12 ecs-gfs-shared2 ecs-gfs-shared2
Установите необходимые пакеты для настройки кластера и GlusterFS. Выполните эти команды на каждой виртуальной машине ECS:
apt-get update apt-get install pcs pacemaker apt-get install dlm-controld apt-get install gfs2-utils
Чтобы задать пароль пользователю «hacluster» для аутентификации виртуальных машин в кластере, выполните команду на каждой виртуальной машине:
passwd hacluster
Включите сервис pcs и аутентифицируйте виртуальные машины в кластере. Выполните эти команды на каждой виртуальной машине ECS:
systemctl enable pcsd systemctl start pcsd pcs host auth ecs-gfs-shared1 ecs-gfs-shared2
Примечание
Пакет pcs (pacemaker/corosync configuration system) — утилита для управления, настройки и мониторинга кластера. Пакетом pcs можно управлять как через командную строку, так и через веб-интерфейс.
Посмотреть статус кластера можно с помощью команды
systemctl status pcsd
.Чтобы сконфигурировать и включить кластер, выполните команды на одной из виртуальных машин ECS:
pcs cluster setup hacluster ecs-gfs-shared1 ecs-gfs-shared2 --force pcs cluster enable --all pcs cluster start --all
Чтобы настроить STONITH, выполните команды на каждой виртуальной машине ECS.
На виртуальной машине «ecs-gfs-shared1»:
pcs stonith create ecs-gfs-shared1 fence_scsi \ pcmk_host_list="ecs-gfs-shared1 ecs-gfs-shared2" \ devices=/dev/sda \ meta provides=unfencing pcs property set no-quorum-policy=freeze
На виртуальной машине «ecs-gfs-shared2»:
pcs stonith create ecs-gfs-shared2 fence_scsi \ pcmk_host_list="ecs-gfs-shared1 ecs-gfs-shared2" \ devices=/dev/sda \ meta provides=unfencing pcs property set no-quorum-policy=freeze
Примечание
STONITH («Shoot The Other Node In The Head» или «Shoot The Offending Node In The Head»), иногда называемый STOMITH («Shoot The Other Member/Machine In The Head») — процесс исключения ноды (fencing) из работы с кластерным хранилищем.
STONITH изолирует вышедшие из строя узлы путем сброса или выключения отказавшего узла.
Настройте менеджер ресурсов кластера и группу. Выполните эти команды на одной из виртуальных машин ECS:
crm configure. primitive dlm ocf:pacemaker:controld \ op monitor interval="60" timeout="60" group g-storage dlm clone cl-storage g-storage \ meta interleave=true target-role=Started commit quit
Сконфигурируйте файловую систему GlusterFS и DLM. Выполните эту команду на каждой виртуальной машине ECS:
mkfs.gfs -t hacluster:mygfs -p lock_dlm -j 2 /dev/sda
Чтобы смонтировать GlusterFS в каталог, выполните команды на каждой ВМ ECS.
mkdir /mnt/gfs mount /dev/sda /mnt/gfs/
Примечание
Чтобы диск монтировался после каждой загрузки виртуальной машины автоматически, внесите изменение в fstab
.
На виртуальной машине ECS «ecs-gfs-shared1»:
nano /etc/fstab /dev/sda /mnt/gfs defaults,_netdev 0 0
На виртуальной машине ECS «ecs-gfs-shared2»:
nano /etc/fstab /dev/sda /mnt/gfs defaults,_netdev 0 0
для Dev & Test