Хранилище · 4 min read · Jan 19, 2026

Высокодоступное хранилище с GlusterFS на Ubuntu 18.04 LTS

Glusterfs — это масштабируемая сетевая файловая система, способная масштабироваться до нескольких петабайт и обрабатывать тысячи клиентов. Это открытая и распределенная файловая система, которая объединяет ресурсы дискового хранилища с нескольких серверов в одно пространство имен. Она подходит для задач, требующих интенсивного использования данных, таких как облачное хранилище и потоковая передача медиа данных.

В этом руководстве я покажу, как настроить сервер высокодоступного хранилища с GlusterFS на Ubuntu 18.04 LTS (Bionic Beaver). Мы будем использовать 3 сервера Ubuntu, 1 сервер в качестве клиента и 2 других в качестве хранилища. Каждый сервер хранения будет зеркалом другого, и файлы будут реплицироваться на обоих серверах хранения.

Предварительные условия

  • 3 сервера Ubuntu 18.04 - 10.0.15.10 - gfs01
  • 10.0.15.11 - gfs02
  • 10.0.15.12 - client01
  • Права root

Что мы будем делать?

  1. Предварительная установка GlusterFS
  2. Установка сервера GlusterFS
  3. Настройка серверов GlusterFS
  4. Настройка клиента GlusterFS
  5. Тестирование репликации/зеркалирования

Шаг 1 - Предварительная установка GlusterFS

Первый шаг, который нам нужно сделать перед установкой glusterfs на все серверы, — это настроить файл hosts и добавить репозиторий GlusterFS на каждый сервер.

Настройка файла hosts

Войдите на каждый сервер и получите доступ root с помощью команды ‘sudo su’, затем отредактируйте файл ‘/etc/hosts’.

vim /etc/hosts

Вставьте конфигурацию hosts ниже.

10.0.15.10 gfs01
10.0.15.11 gfs02
10.0.15.12 client01

Сохраните и выйдите.

Теперь выполните ping для каждого сервера, используя имя хоста, как показано ниже.

ping -c 3 gfs01  
ping -c 3 gfs02  
ping -c 3 client01

Каждое имя хоста будет разрешаться в IP-адрес каждого сервера.

Настройка файла hosts

Добавить репозиторий GlusterFS

Установите пакет software-properties-common в систему.

sudo apt install software-properties-common -y

Добавьте ключ и репозиторий glusterfs, выполнив команды ниже.

wget -O- https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add -  
sudo add-apt-repository ppa:gluster/glusterfs-3.12

Команда обновит все репозитории. И мы уже добавили репозиторий glusterfs на все системы.

Добавить репозиторий GlusterFS

Шаг 2 - Установка сервера GlusterFS

На этом шаге мы установим сервер glusterfs на серверах ‘gfs01’ и ‘gfs02’.

Установите glusterfs-server с помощью команды apt.

sudo apt install glusterfs-server -y

Теперь запустите службу glusterd и включите ее, чтобы она запускалась каждый раз при загрузке системы.

sudo systemctl start glusterd  
sudo systemctl enable glusterd

Сервер Glusterfs теперь работает на серверах ‘gfs01’ и ‘gfs02’.

Проверьте статус служб и установленную версию программного обеспечения.

systemctl status glusterd  
glusterfsd --version

Установка сервера GlusterFS

Шаг 3 - Настройка серверов GlusterFS

Службы Glusterd теперь работают, и следующий шаг, который мы сделаем, — это настроить эти серверы, создав доверительный пул хранения и создав распределенный том glusterfs.

Создание доверительного пула хранения

С сервера ‘gfs01’ нам нужно добавить сервер ‘gfs02’ в пул хранения glusterfs.

Выполните команду ниже.

gluster peer probe gfs02

Теперь мы увидим результат ‘peer probe: success’, и мы добавили сервер ‘gfs02’ в доверительный пул хранения.

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

gluster peer status  
gluster pool list

И вы увидите, что сервер ‘gfs02’ подключен к кластеру пиров, и он в списке пула.

Создание доверительного пула хранения

Настройка распределенного тома GlusterFS

После создания доверительного пула хранения мы создадим новый распределенный том glusterfs. Мы создадим новый том glusterfs на основе системного каталога.

Примечание:

  • Для производственного сервера рекомендуется создавать том glusterfs, используя другой раздел, а не используя системный каталог.

Создайте новый каталог ‘/glusterfs/distributed’ на каждом из серверов ‘gfs01’ и ‘gfs02’.

mkdir -p /glusterfs/distributed

И с сервера ‘gfs01’ создайте распределенный том glusterfs с именем ‘vol01’ с 2 репликами ‘gfs01’ и ‘gfs02’.

gluster volume create vol01 replica 2 transport tcp \  
gfs01:/glusterfs/distributed \  
gfs02:/glusterfs/distributed \  
force

Теперь мы создали распределенный том ‘vol01’ - запустите ‘vol01’ и проверьте информацию о томе.

gluster volume start vol01  
gluster volume info vol01

И вот результат.

Настройка распределенного тома GlusterFS

На этом этапе мы создали том ‘vol01’ с типом ‘Replicate’ и 2 кирпичами на серверах ‘gfs01’ и ‘gfs02’. Все данные будут автоматически распределяться на каждый сервер-реплику, и мы готовы смонтировать том.

Ниже информация о томе ‘vol01’ с сервера ‘gfs02’.

информация о томе

Шаг 4 - Настройка клиента GlusterFS

На этом шаге мы смонтируем том glusterfs ‘vol01’ на клиенте Ubuntu, и нам нужно установить glusterfs-client на сервер клиента.

Установите glusterfs-client в систему Ubuntu с помощью команды apt.

sudo apt install glusterfs-client -y

Теперь создайте новый каталог ‘/mnt/glusterfs’, когда установка glusterfs-client завершена.

mkdir -p /mnt/glusterfs

И смонтируйте распределенный том glusterfs ‘vol01’ в каталог ‘/mnt/glusterfs’.

sudo mount -t glusterfs gfs01:/vol01 /mnt/glusterfs

Теперь проверьте доступный том в системе.

df -h /mnt/glusterfs

И мы получим смонтированный том glusterfs в каталоге ‘/mnt/glusterfs’.

настройка клиента GlusterFS

Дополнительно:

Чтобы смонтировать glusterfs постоянно на системе клиента Ubuntu, мы можем добавить том в ‘/etc/fstab’.

Отредактируйте файл конфигурации ‘/etc/fstab’.

vim /etc/fstab

И вставьте конфигурацию ниже.

gfs01:/vol01 /mnt/glusterfs glusterfs defaults,_netdev 0 0

Сохраните и выйдите.

Теперь перезагрузите сервер, и когда он будет онлайн, мы получим автоматически смонтированный том glusterfs ‘vol01’ через fstab.

Шаг 5 - Тестирование репликации/зеркалирования

На этом шаге мы протестируем зеркалирование данных на каждом узле сервера.

Смонтируйте том glusterfs ‘vol01’ на каждом из серверов glusterfs.

На сервере ‘gfs01’.

mount -t glusterfs gfs01:/vol01 /mnt

На сервере ‘gfs02’.

mount -t glusterfs gfs02:/vol01 /mnt

Теперь вернитесь к клиенту Ubuntu и перейдите в каталог ‘/mnt/glusterfs’.

cd /mnt/glusterfs

Создайте несколько файлов с помощью команды touch.

touch file01 file02 file03

Тестирование репликации

Теперь проверьте на каждом - ‘gfs01’ и ‘gfs02’ - сервере, и мы получим все файлы, которые мы создали с клиентской машины.

cd /mnt/  
ls -lah

Вот результат с сервера ‘gfs01’.

Результат с сервера 1

А вот результат с сервера ‘gfs02’.

Результат с сервера 2

Все файлы, которые мы создали с клиентской машины, будут распределены на все узлы серверов тома glusterfs.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.