Создание распределенного хранилища GlusterFS

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

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

../_images/schm__evs-gfs-dedicated.svg

Перед началом работы

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

Настройка и установка GlusterFS

  1. Чтобы ВМ отвечали DNS-именам, на каждой виртуальной машине ECS откройте файл /etc/hosts:

    nano /etc/hosts
  2. Закомментируйте запись 127.0.0.1 (локальный адрес) или используйте имена, отличные от системных:

    192.168.10.11 ecs - gfs - replica1
    192.168.10.12 ecs - gfs - replica2
  3. Чтобы разметить основной раздел на диске с данными, выполните следующую команду на каждой виртуальной машине:

    fdisk / dev / vdb

    Последовательно введите ключи:

    • n — для создания нового раздела и нажмите Enter.

    • p — для определения типа раздела (основной раздел) и нажмите Enter.

    • w — для вступления изменений в силу.

  4. Создайте файловую систему на основном разделе. Выполните эту команду на каждой виртуальной машине ECS:

    mkfs . ext4 / dev / vdb1
  5. Создайте каталог и смонтируйте в него файловую систему. Для этого выполните следующие команды на каждой виртуальной машине ECS:

    mkdir / mnt / gfs
    mount / dev / vdb1 / mnt / gfs
  6. Установите необходимые для работы GlusterFS пакеты и запустите сервер. Выполните эти команды на каждой виртуальной машине ECS:

    apt - get update
    apt - get install glusterfs - server
    systemctl enable glusterd . service
    systemctl start glusterd . service
  7. Подключите виртуальные машины к кластеру GlusterFS на виртуальной машине ECS «ecs-gfs-replica1»:

    gluster peer probe ecs - gfs - replica2

    Посмотреть статус кластера можно с помощью команды gluster peer status. В выводе команды должно быть Number of Peers: 1.

  8. Создайте общий логический диск. Выполните эту команду на виртуальной машине ECS «ecs-gfs-replica1»:

    gluster volume create gfs - volume replica 2 ecs - gfs - replica1 : / mnt / gfs / brick ecs - gfs - replica2 : / mnt / gfs / brick force
  9. Создайте каталог, который должен находиться на том же томе и реплицироваться на обоих серверах. Примонтируйте его к логическому диску.

    Выполните эту команду на виртуальной машине ECS «ecs-gfs-replica1»:

    mkdir / mnt / gfs / files /
    mount . glusterfs ecs - gfs - replica1 : / gfs - volume / mnt / gfs / files /
  10. Повторите эту команду на виртуальной машине ECS «ecs-gfs-replica2»:

    mkdir / mnt / gfs / files /
    mount . glusterfs ecs - gfs - replica2 : / gfs - volume / mnt / gfs / files /
    Примечание

    Для того чтобы диск монтировался после каждой загрузки виртуальной машины автоматически, внесите изменение в fstab.

    • На виртуальной машине ECS «ecs-gfs-replica1»:

      nano / etc / fstab
      ecs - gfs - replica1 : / gfs - volume / mnt / gfs / files glusterfs defaults , _netdev 0 0
    • На виртуальной машине ECS «ecs-gfs-replica2»:

      nano / etc / fstab
      ecs - gfs - replica2 : / gfs - volume / mnt / gfs / files glusterfs defaults , _netdev 0 0
Advanced