Создание общего диска 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
Advanced