Menu
GlusterFS - краткое руководство

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