Создание общего диска 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 / hosts192.168.10.11 ecs - gfs - shared1 ecs - gfs - shared1192.168.10.12 ecs - gfs - shared2 ecs - gfs - shared2Установите необходимые пакеты для настройки кластера и GlusterFS. Выполните эти команды на каждой виртуальной машине ECS:
apt - get updateapt - get install pcs pacemakerapt - get install dlm - controldapt - get install gfs2 - utilsЧтобы задать пароль пользователю «hacluster» для аутентификации виртуальных машин в кластере, выполните команду на каждой виртуальной машине:
passwd haclusterВключите сервис pcs и аутентифицируйте виртуальные машины в кластере. Выполните эти команды на каждой виртуальной машине ECS:
systemctl enable pcsdsystemctl start pcsdpcs 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 -- forcepcs cluster enable -- allpcs 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 = unfencingpcs 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 = unfencingpcs 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 dlmclone cl - storage g - storage \meta interleave = true target - role = StartedcommitquitСконфигурируйте файловую систему GlusterFS и DLM. Выполните эту команду на каждой виртуальной машине ECS:
mkfs . gfs - t hacluster : mygfs - p lock_dlm - j 2 / dev / sdaЧтобы смонтировать GlusterFS в каталог, выполните команды на каждой ВМ ECS.
mkdir / mnt / gfsmount / 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
- Создание общего диска
- Настройка общего диска