- tocdepth
2
Создание распределенного хранилища 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-replica1 192.168.10.12 ecs-gfs-replica2
Чтобы разметить основной раздел на диске с данными, выполните следующую команду на каждой виртуальной машине:
fdisk /dev/vdb
Последовательно введите ключи:
n — для создания нового раздела и нажмите Enter.
p — для определения типа раздела (основной раздел) и нажмите Enter.
w — для вступления изменений в силу.
Создайте файловую систему на основном разделе. Выполните эту команду на каждой виртуальной машине ECS:
mkfs.ext4 /dev/vdb1
Создайте каталог и смонтируйте в него файловую систему. Для этого выполните следующие команды на каждой виртуальной машине ECS:
mkdir /mnt/gfs mount /dev/vdb1 /mnt/gfs
Установите необходимые для работы GlusterFS пакеты и запустите сервер. Выполните эти команды на каждой виртуальной машине ECS:
apt-get update apt-get install glusterfs-server systemctl enable glusterd.service systemctl 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/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
для Dev & Test