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.