слишком узко!

Разворачиваем кластер Glusterfs 10 на Ubuntu server 22.04 (Jammy)

  • English
  • Время на прочтение ~ 2 минуты
  • Обновлено: 5 месяцев назад
  • Создано: 6 апр. 2022 г.

Glusterfs распределенная файловая система, которую можете использовать как хранилище в системах оркестрации Kubernetes / Docker swarm. Позволяет построить отказоустойчивое и масштабируемое хранилище для ваших приложений.

Что мы имеем:

  • 3 виртуальных машины (192.168.1.11/24, 192.168.1.12/24, 192.168.1.13/24), которые будем использовать как серверный кластер хранилище
  • 1 виртуальную машину (192.168.1.14/24), как клиент кластера

Серверы

Начнем с установки сервера glusterfs на серверах кластера

sudo apt update && sudo apt install glusterfs-server -y
sudo systemctl start glusterd.service
sudo systemctl enable glusterd.service

Отредактируйте /etc/hosts на всех виртуальных машинах

/etc/hosts
192.168.1.11    glusterfs-server-01
192.168.1.12    glusterfs-server-02
192.168.1.13    glusterfs-server-03

На первом сервере добавим 2 других в кластер выполнив следующее:

gluster peer probe glusterfs-server-02
gluster peer probe glusterfs-server-03

Проверим

gluster peer probe status

Должно выйти

Number of Peers: 2

Hostname: glusterfs-server-02
Uuid: bb5e609b-d99d-4d49-ae2f-af0879df7588
State: Peer in Cluster (Connected)

Hostname: glusterfs-server-03
Uuid: 88315bca-1b12-4aa2-acb3-8bcc812c85b0
State: Peer in Cluster (Connected)

На первом сервере добавим VOLUME из 3 реплик кластера

export VOLUME_NAME="my-volume"
export VOLUME_PATH="/glusterfs-storage"
gluster volume create $VOLUME_NAME transport tcp replica 3 glusterfs-server-01:$VOLUME_PATH glusterfs-server-02:$VOLUME_PATH glusterfs-server-03:$VOLUME_PATH force

И запустим VOLUME

gluster volume start $VOLUME_NAME

Проверим статус

gluster volume status

Выведет это

Status of volume: my-volume
Gluster process                              TCP Port  RDMA Port  Online  Pid
-------------------------------------------------------------------------------
Brick glusterfs-server-01:/glusterfs-storage 58198     0          Y       972  
Brick glusterfs-server-02:/glusterfs-storage 51841     0          Y       931  
Brick glusterfs-server-03:/glusterfs-storage 52348     0          Y       919  
Self-heal Daemon on localhost                N/A       N/A        Y       989  
Self-heal Daemon on glusterfs-server-03      N/A       N/A        Y       936  
Self-heal Daemon on glusterfs-server-02      N/A       N/A        Y       949  
 
Task Status of Volume my-volume
-------------------------------------------------------------------------------
There are no active volume tasks

Клиент

На клиентской машине поставим

sudo apt update && sudo apt install glusterfs-client
mkdir -p /storage

Примонтируем файловую систему

mount -t glusterfs glusterfs-server-01:/my-volume /storage

Добавьте в конец файла /etc/fstab строчку ниже, для перманентного подключения и выполните команду sudo reboot

/etc/fstab
glusterfs-server-01:/my-volume /storage glusterfs defaults,_netdev 0 0

Теперь можно проверить

touch /storage/test.txt

И на серверах, что реплики работают

ls -la /glusterfs-storage

total 24
drwxr-xr-x   4 root root 4096 Apr  6 15:15 .
drwxr-xr-x  20 root root 4096 Apr  6 14:33 ..
drw------- 262 root root 4096 Apr  6 14:39 .glusterfs
drwxr-xr-x   2 root root 4096 Apr  6 14:39 .glusterfs-anonymous-inode-f1845067-9924-4985-8a5b-a2063b186060
-rw-r--r--   2 root root    0 Apr  6 15:15 test.txt