Создание распределенного хранилища 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.

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

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

    fdisk /dev/vdb
    

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

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

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

    3. 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
      
Запустили Evolution free tier
для Dev & Test
Получить