Создание общего диска GlusterFS

В этом разделе описано, как использовать общий диск EVS для двух виртуальных машин ECS и настроить кластерную файловую систему GlusterFS.

Общие диски EVS — блочные устройства хранения, которые поддерживают одновременные операции чтения/записи и могут быть могут быть подключены максимум к 16 серверам. Такие диски используются для кластерных приложений для обеспечения высокой доступности.

Подробнее — Описание общих дисков EVS.

GlusterFS — распределенная, параллельная, линейно масштабируемая файловая система с возможностью защиты от сбоев.

../_images/schm__evs-gfs-shared.svg

Создание общего диска

  1. Создайте две виртуальные машины ECS. В этом примере используется операционная система Ubuntu 22.04, а виртуальные машины называются «ecs-gfs-shared1» и «ecs-gfs-shared2».

  2. Создайте диск EVS. При создании выберите в области Аdvanced settings параметры Share и SCSI.

  3. Подключите общий диск EVS к обеим виртуальным машинам ECS.

Настройка общего диска

  1. Измените конфигурацию в /etc/hosts на каждой виртуальной машине ECS, чтобы они отвечали по DNS-именам.

  2. Закомментируйте запись 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
    
  3. Установите необходимые пакеты для настройки кластера и GlusterFS. Выполните эти команды на каждой виртуальной машине ECS:

    apt-get update
    
    apt-get install pcs pacemaker
    
    apt-get install dlm-controld
    
    apt-get install gfs2-utils
    
  4. Чтобы задать пароль пользователю «hacluster» для аутентификации виртуальных машин в кластере, выполните команду на каждой виртуальной машине:

    passwd hacluster
    
  5. Включите сервис 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.

  6. Чтобы сконфигурировать и включить кластер, выполните команды на одной из виртуальных машин ECS:

    pcs cluster setup hacluster ecs-gfs-shared1 ecs-gfs-shared2 --force
    pcs cluster enable --all
    pcs cluster start --all
    
  7. Чтобы настроить 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 изолирует вышедшие из строя узлы путем сброса или выключения отказавшего узла.

  8. Настройте менеджер ресурсов кластера и группу. Выполните эти команды на одной из виртуальных машин 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
    
  9. Сконфигурируйте файловую систему GlusterFS и DLM. Выполните эту команду на каждой виртуальной машине ECS:

    mkfs.gfs -t hacluster:mygfs -p lock_dlm -j 2 /dev/sda
    
  10. Чтобы смонтировать 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
    
Запустили Evolution free tier
для Dev & Test
Получить