Создание распределенного хранилища GlusterFS
В этом разделе описано, как использовать распределенный диск EVS для двух виртуальных машин ECS и настроить кластерную файловую систему GlusterFS.
GlusterFS — это распределенная, параллельная, линейно масштабируемая файловая система с возможностью защиты от сбоев. Когда изменения вносятся в диск на одном сервере, они автоматически реплицируются в режиме реального времени на диск в другом сервере.
Перед началом работы
Создайте две виртуальные машины ECS с двумя дисками и двумя сетевыми интерфейсами. В этом примере используется операционная система Ubuntu 22.04, а виртуальные машины называются «ecs-gfs-replica1» и «ecs-gfs-replica2».
Настройка и установка GlusterFS
Чтобы ВМ отвечали DNS-именам, на каждой виртуальной машине ECS откройте файл /etc/hosts:
nano /etc/hostsЗакомментируйте запись 127.0.0.1 (локальный адрес) или используйте имена, отличные от системных:
192.168.10.11 ecs-gfs-replica1192.168.10.12 ecs-gfs-replica2Чтобы разметить основной раздел на диске с данными, выполните следующую команду на каждой виртуальной машине:
fdisk /dev/vdbПоследовательно введите ключи:
n — для создания нового раздела и нажмите Enter.
p — для определения типа раздела (основной раздел) и нажмите Enter.
w — для вступления изменений в силу.
Создайте файловую систему на основном разделе. Выполните эту команду на каждой виртуальной машине ECS:
mkfs.ext4 /dev/vdb1Создайте каталог и смонтируйте в него файловую систему. Для этого выполните следующие команды на каждой виртуальной машине ECS:
mkdir /mnt/gfsmount /dev/vdb1 /mnt/gfsУстановите необходимые для работы GlusterFS пакеты и запустите сервер. Выполните эти команды на каждой виртуальной машине ECS:
apt-get updateapt-get install glusterfs-serversystemctl enable glusterd.servicesystemctl start glusterd.serviceПодключите виртуальные машины к кластеру GlusterFS на виртуальной машине ECS «ecs-gfs-replica1»:
gluster peer probe ecs-gfs-replica2Посмотреть статус кластера можно с помощью команды gluster peer status. В выводе команды должно быть Number of Peers: 1.
Создайте общий логический диск. Выполните эту команду на виртуальной машине ECS «ecs-gfs-replica1»:
gluster volume create gfs-volume replica 2 ecs-gfs-replica1:/mnt/gfs/brick ecs-gfs-replica2:/mnt/gfs/brick forceСоздайте каталог, который должен находиться на том же томе и реплицироваться на обоих серверах. Примонтируйте его к логическому диску.
Выполните эту команду на виртуальной машине ECS «ecs-gfs-replica1»:
mkdir /mnt/gfs/files/mount.glusterfs ecs-gfs-replica1:/gfs-volume /mnt/gfs/files/Повторите эту команду на виртуальной машине 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/fstabecs-gfs-replica1:/gfs-volume /mnt/gfs/files glusterfs defaults,_netdev 0 0На виртуальной машине ECS «ecs-gfs-replica2»:
nano /etc/fstabecs-gfs-replica2:/gfs-volume /mnt/gfs/files glusterfs defaults,_netdev 0 0