GlusterFS - краткое руководство
GlusterFS - отказоустойчивая, масштабируемая, распределенная файловая система, которая отличается сравнительной простотой установки и малой ресурсоёмкостью.
1 Прописать хосты в /etc/hosts
10.1.0.2 host1
10.1.0.3 host2
2 Прописать репозитории
sudo apt-get install -y lsb-release
sudo apt-get install -y apt-transport-https
wget -O - http://download.gluster.org/pub/gluster/glusterfs/LATEST/rsa.pub | sudo apt-key add -
echo deb https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/$(lsb_release -sc)/apt $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/gluster.list
3. Установка
apt update
apt install -y glusterfs-server
service glusterfs-server start
service glusterfs-server status
4. Подготовить устройство или директорию
Диск:
sudo fdisk /dev/sdb
sudo mkfs.ext4 /dev/sdb1
sudo mkdir -p /var/gluster
sudo mount /dev/sdb1 /var/gluster
echo "/dev/sdb1 /var/gluster ext4 defaults 0 0" | sudo tee --append /etc/fstab
Дирктория:
mkdir /var/gluster
5. Добавление узлов в пул
Выполнить на одном из хостов
gluster peer probe host1
gluster peer probe host2
Результат
gluster pool list
gluster peer status
6.Создание волума:
gluster volume create glufs replica 2 host1:/var/gluster/glufs host2:/var/gluster/glufs force
Добавить force, если в пути просто каталоги, а не диски
Запуск
gluster volume start glufs
Статус
gluster volume info glufs
gluster volume status glufs
7.Натсройка доступа и подключение
gluster volume set glufs auth.allow 10.1.0.2,10.1.0.3
Подключение на каждом хосте
mkdir /mnt/gluster
sudo mount.glusterfs localhost:/glufs /mnt/gluster
В /etc/fstab
echo 'localhost:/glufs /mnt/gluster glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0' | sudo tee -a /etc/fstab
8. Проверка доступности
На одном из узлов:
umount /mnt/gluster
service glusterfs-server stop
На втором скопировать что-то в /mnt/gluster
На первом поднять сервис
service glusterfs-server start
sudo mount.glusterfs localhost:/glufs /mnt/gluster
Внесенные изменения должны среплицироваться на "лежавший" хост
9. iptables
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 24007:24008 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 49152:49190 -j ACCEPT
49152 - первый том.. и тд.
10. Обслуживание
Удаление Кирпича(host2)
gluster volume remove-brick glufs replica 1 host2:/var/gluster/glufs force
gluster peer detach host2
Добавление кирпича
gluster peer probe host3
gluster volume add-brick glufs replica 3 host3:/var/gluster/glufs force
Не забыв про /etc/hosts и
gluster volume set glufs auth.allow 10.1.0.2,10.1.0.3,10.1.0.4
Смена каталога кирпича
gluster volume replace-brick glufs host3:/var/gluster/glufs host3:/var/gluster/backup commit force
#снэпшот (для LVM)
gluster snapshot create snap-glufs glufs