Если вы видите что-то необычное, просто сообщите мне. Skip to main content

GlusterFS Setup

Требования GlusterFS поддерживает только 64bit системы, поэтому убедитесь, что хостовая машина может запустить GlusterFS и любые другие машины используют тоже 64bit системы.

Эта инструкция подоходит для Ubuntu 22.04 jammy

Инструкция Запустите следующие команды на всех системах, которые будут использоваться для распределенной файловой системы.

Добавление хостов в /etc/hosts

Мы хотим убедиться что наша машина может общаться друг с другом по именам, это можно сделать отредактировав следующим образом:

Редактируем /etc/hosts

sudo nano /etc/hosts

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

127.0.0.1 localhost
127.0.1.1 elzim

192.168.68.109  elzim
192.168.68.105  pi4lab01
192.168.68.114  pi4lab02

Установка GlusterFS

Настроим GlusterFS репозиторий. На время написания статьи GlusterFS-10 последний релиз.

sudo add-apt-repository ppa:gluster/glusterfs-10

Запускаем обновление репозиториев.

sudo apt update
sudo apt install glusterfs-server -y

Запускаем и включаем GlusterFS

sudo systemctl start glusterd
sudo systemctl enable glusterd

Связываем ноды Это команда запускается только на хостовой машине.

Перед запуском команды связывания, убедитесь, что вы запускаете команды от sudo.

sudo -s

Следующая команда будет связывать все ноды в кластер GlusterFS, он использует имена указанные в hosts, убедитесь, что вы внесли необходимые изменения в скрипт.

gluster peer probe pi4lab01; 
gluster peer probe pi4lab02;

Запустите команды которые покажут связанные хосты в кластер.

sudo gluster pool list

Создание Gluster раздела

Давайте создадим дирректорию, которая будет использоваться в качестве раздела GlusterFS

Команда ниже создается на всех нодах кластера. Note: You can name "volumes" to anything you like.

sudo mkdir -p /gluster/volumes

Теперь мы можем создать раздел на всех нодах кластера. Команда выполняется на хосте.

sudo gluster volume create staging-gfs replica 3 elzim:/gluster/volumes pi4lab01:/gluster/volumes pi4lab02:/gluster/volumes force

Запустим раздел запустив команду ниже

sudo gluster volume start staging-gfs

Чтобы убедиться, что раздел автоматически примонтируется при перезагрузе или других обстоятельствах, нужно выполнить следующие шаги на всех машинах:

Переключитесь на супер пользователя:

sudo -s

Добаврьте следующие строки в /etc/fstab файл используя команду

echo 'localhost:/staging-gfs /mnt glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0' >> /etc/fstab

Примонтируйте раздел GlusterFS к /mnt директории с помощью команды:

mount.glusterfs localhost:/staging-gfs /mnt

Установите владельца /mnt дирректории и его содержимого root:docker используя команду:

chown -R root:docker /mnt

Выйдите из рута

exit

Чтобы проверить, что GlusterFS раздел успешно смонтирован, запустите команду:

df -h
localhost:/staging-gfs                 15G  4.8G  9.1G  35% /mnt

Файлы созданные в папке /mnt будут теперь отображаться во всех машинах где запущен GlusterFS.