GlusterFS установка · 12 min read · Dec 06, 2025

Как установить GlusterFS масштабируемую сетевую файловую систему на Debian 11

GlusterFS или Gluster Файловая Система — это бесплатная и открытая распределенная файловая система, разработанная компанией RedHat. GlusterFS — это масштабируемая файловая система, образованная из нескольких серверов в одну сущность файловой системы, которая позволяет пользователям подключаться и монтировать объем GlusterFS.

GlusterFS — это современная файловая система, способная обрабатывать петабайты данных. Кроме того, ее легко установить и поддерживать, а также легко масштабировать файловую систему.

В этом учебном пособии вы установите GlusterFS — распределенную и масштабируемую сетевую файловую систему — на серверах Debian 11. Вы настроите объем GlusterFS, который автоматически реплицирует данные на несколько серверов, и настроите файловую систему с высокой доступностью. Кроме того, вы также узнаете, как использовать ‘parted’, инструмент разделения дисков Linux для настройки дополнительных дисков на серверах Debian. Наконец, вы проверите репликацию данных на GlusterFS между несколькими серверами Debian и также проверите высокую доступность.

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

Чтобы завершить это учебное пособие, у вас должны быть следующие требования:

  • Два или три сервера Debian 11.
  • Непривилегированный пользователь с правами sudo/администратора.

В этом примере используются три сервера Debian 11 со следующими данными:

Hostname    IP Address  
--------------------------  
node1       192.168.5.50  
node2       192.168.5.56  
node3       192.168.5.57

Вот и все. Если эти требования выполнены, начните установку GlusterFS.

Настройка имени хоста и FQDN

Первый шаг, который вы должны сделать, — это настроить имя хоста и fqdn для всех ваших серверов Debian, которые будут использоваться GlusterFS. Вы можете настроить имя хоста с помощью команды ‘hostnamectl‘ и настроить FQDN (Полное Квалифицированное Имя Узла) с помощью файла ‘/etc/hosts‘.

Чтобы настроить имя хоста, введите следующую команду на каждом сервере.

# запустить на node1  
sudo hostnamectl set-hostname node1.home.lan  
  
# запустить на node2  
sudo hostnamectl set-hostname node2.home.lan  
  
# запустить на node3  
sudo hostnamectl set-hostname node3.home.lan

Далее откройте файл ‘/etc/hosts‘ на каждом сервере с помощью вашего предпочтительного редактора. Для всего этого учебного пособия вы будете использовать редактор nano.

sudo nano /etc/hosts

Добавьте следующие строки в файл. Когда у вас есть IP-адрес, относящийся к нескольким именам хостов, замените его следующими строками.

192.168.5.50  node1.home.lan  node1  
192.168.5.56  node2.home.lan  node2  
192.168.5.57  node3.home.lan  node3

Нажмите Ctrl+x, чтобы выйти, введите y, чтобы подтвердить, затем нажмите ENTER, чтобы продолжить.

Наконец, проверьте fqdn на каждом сервере, выполнив следующую команду.

hostname -f  
cat /etc/hosts

Вы получите вывод, похожий на этот — на node1 fqdn должен быть node1.home.lan, на node2node2.home.lan, а на node3node3.home.lan.

настройка имени хоста и fqdn

Настройка раздела диска

Рекомендуется использовать конкретный диск для развертывания GlusterFS. В этом примере на каждом сервере Debian есть дополнительный диск ‘/dev/vdb’, который будет использоваться для установки GlusterFS. И на этом этапе вы узнаете, как настроить новый диск в системе Linux через терминал и команду ‘fdisk’.

Для начала выполните следующую команду ‘ fdisk‘, чтобы проверить список доступных дисков на вашем сервере Debian.

sudo fdisk -l

Вы получите вывод, похожий на этот — на node1 доступны два диска: ‘/dev/vda‘, на котором установлена операционная система, и ‘/dev/vdb‘, который еще не настроен.

список дисков

Чтобы начать разделение диска ‘/dev/vdb‘, введите следующую команду fdisk. Вы должны получить новый запрос инструмента fdisk и подключиться к диску ‘/dev/vdb‘.

sudo fdisk /dev/vdb
  • Чтобы создать новый раздел, введите команду ‘n‘.
  • Выберите тип раздела, который хотите создать. ‘p‘ для основного и ‘e‘ для расширенного. В этом примере вы создадите основной раздел, поэтому введите ‘p‘.
  • Внутри диска ‘/dev/vdb‘, сколько разделов вы хотите создать? В этом примере вы создадите только один раздел, поэтому введите ‘1‘.
  • Выберите первый сектор для нового раздела. Вы можете оставить его по умолчанию, поэтому нажмите ENTER, чтобы продолжить.
  • Последний сектор — это место, где вы определяете, сколько места вы хотите выделить для раздела. В этом примере это будет около ‘5GB‘, поэтому введите ‘+5GB‘.
  • Наконец, введите ‘w‘, чтобы подтвердить и применить изменения, которые вы внесли на диск ‘/dev/vdb‘.

Вывод ‘Таблица разделов была изменена‘ подтверждает, что изменения применены к вашему диску.

создание раздела fdisk

С этим ваш новый раздел создан, но все еще не используется. Потому что вам нужно отформатировать ваш новый раздел в определенные форматы файловой системы. Вы можете ввести следующую команду fdisk, чтобы убедиться, что новый раздел на диске ‘/dev/vdb‘ создан.

sudo fdiks -l

Вы получите вывод, похожий на этот — в разделе ‘/dev/vdb‘ вы увидите, что новый раздел ‘/dev/vdb1‘ создан с размером ‘4.7GB‘.

список разделов dev/vdb

Далее выполните следующую команду, чтобы отформатировать ваш новый раздел ‘/dev/vdb1‘. В этом примере вы отформатируете раздел в формате файловой системы ext4.

sudo mkfs -t ext4 /dev/vdb1

Вы получите вывод, похожий на этот — новый раздел ‘/dev/vda1‘ отформатирован в файловую систему ext4.

форматирование раздела

Настройка автоматического монтирования раздела

На этом этапе вы настроите автоматическое монтирование нового раздела ‘/dev/vdb1‘ через файл ‘/etc/fstab‘. Вы также создадите новый каталог, который будет использоваться для хранения данных в GlusterFS.

Сначала создайте новый целевой каталог, который будет использоваться для монтирования нового раздела ‘/dev/vdb1‘.

# запустить на node1  
mkdir -p /data/node1  
  
# запустить на node2  
mkdir -p /data/node2  
  
# запустить на node3  
mkdir -p /data/node3

Откройте конфигурационный файл ‘/etc/fstab‘ с помощью следующей команды редактора nano.

sudo nano /etc/fstab

Добавьте следующую строку в файл. С этим новый раздел ‘/dev/vdb1‘ будет автоматически монтироваться при запуске системы.

# для node1  
/dev/vdb1    /data/node1    ext4    defaults    0    1  
  
# для node2  
/dev/vdb1    /data/node2    ext4    defaults    0    1  
  
# для node3  
/dev/vdb1    /data/node3    ext4    defaults    0    1

Далее выполните следующую команду, чтобы смонтировать новый раздел, который вы настроили через файл ‘/etc/fstab‘. Если ошибок нет, вы готовы продолжить.

sudo mount -a

Наконец, выполните следующую команду, чтобы создать новый каталог ‘brick0’ на только что смонтированном разделе для каждого сервера.

# запустить на node1  
mkdir -p /data/node1/brick0  
  
# запустить на node2  
mkdir -p /data/node2/brick0  
  
# запустить на node3  
mkdir -p /data/node3/brick0

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

На этом этапе вы установите пакет GlusterFS на серверах Debian, которые будут использоваться для кластера GlusterFS. Поэтому убедитесь, что вы выполняете следующие команды на серверах node1, node2 и node3.

Выполните следующую команду apt, чтобы установить основные зависимости на вашей системе. Введите y, когда будет предложено, и нажмите ENTER, чтобы продолжить.

sudo apt install gnupg2 apt-transport-https software-properties-common

Вывод:

установка зависимостей

Скачайте GPG-ключ для репозитория GlusterFS с помощью команды curl. Затем преобразуйте новый ключ в файл ‘/usr/share/keyrings/glusterfs-archive-keyring.gpg‘.

curl https://download.gluster.org/pub/gluster/glusterfs/10/rsa.pub | gpg --dearmor > /usr/share/keyrings/glusterfs-archive-keyring.gpg

Далее выполните следующую команду, чтобы создать новые переменные окружения и добавить репозиторий GlusterFS в вашу систему.

DEBID=$(grep 'VERSION_ID=' /etc/os-release | cut -d '=' -f 2 | tr -d '"')  
DEBVER=$(grep 'VERSION=' /etc/os-release | grep -Eo '[a-z]+')  
DEBARCH=$(dpkg --print-architecture)  
  
echo "deb [signed-by=/usr/share/keyrings/glusterfs-archive-keyring.gpg] https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/${DEBID}/${DEBARCH}/apt ${DEBVER} main" | sudo tee /etc/apt/sources.list.d/gluster.list

Вывод:

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

После добавления GPG-ключа и репозитория выполните следующую команду apt, чтобы обновить и обновить индекс пакетов.

sudo apt update

Вывод:

обновить репозиторий

Теперь установите пакет сервера GLusterFS, введя следующую команду. Когда будет предложено подтвердить, введите y и нажмите ENTER.

sudo apt install glusterfs-server

Вывод:

установка glusterfs

После установки GlusterFS выполните следующую команду systemctl, чтобы запустить и включить службу GLusterFS. С этим GlusterFS должен работать на всех ваших серверах и теперь включен, что означает, что служба GlusterFS будет автоматически запускаться при запуске системы.

sudo systemctl start glusterd  
sudo systemctl enable glusterd

Наконец, выполните следующую команду systemctl, чтобы проверить службу GlusterFS и убедиться, что служба работает и включена.

sudo systemctl status glusterd

Если все прошло успешно, вы должны получить вывод, похожий на этот — вывод ‘active (running)‘ подтверждает, что GlusterFS работает, а вывод ‘…; enabled;‘ подтверждает, что GlusterFS включен и будет автоматически запускаться при загрузке системы.

запуск проверки службы glusterfs

На этом этапе вы подготовили новый диск/раздел и установили сервер GLusterFS. Далее вы начнете создавать и инициализировать кластер GLusterFS.

Инициализация пула хранения

На этом этапе вы настроите кластер GlusterFS с тремя серверами Debian, node1, node2 и node3. Вы инициализируете кластер GlusterFS с ‘ node1 ‘ и добавите другие узлы ‘ node2 ‘ и ‘ node3 ‘ в кластер.

Перед тем как начать, убедитесь, что каждый сервер доступен по имени хоста или fqdn. Вы можете проверить это, выполнив команду ping для каждого сервера.

ping node2.home.lan  
ping node3.home.lan

На терминале ‘node1’ выполните следующую команду gluster, чтобы инициализировать кластер GlusterFS с участниками кластера node2 и node3.

sudo gluster peer probe node2.home.lan  
sudo gluster peer probe node3.home.lan

Вывод ‘peer probe: success‘ подтверждает, что инициализация кластера GlusterFS прошла успешно.

инициализация пула хранения кластера

Далее перейдите к терминалу ‘node2‘ и выполните следующую команду, чтобы проверить статус кластера GlusterFS.

sudo gluster peer status

Вы должны получить вывод, похожий на этот — на ‘node2‘ вы можете увидеть кластер GlusterFS с двумя участниками, node1 и node3, со статусом подключено.

статус node2

Теперь перейдите к терминалу ‘node3‘ и выполните следующую команду, чтобы проверить статус кластера GLusterFS.

sudo gluster peer status

Вывод — на ‘node3‘ вы можете увидеть кластер GlusterFS с двумя участниками, node1 и node2, со статусом подключено.

статус node3

Кроме того, вы также можете проверить список пулов в кластере GlusterFS с помощью следующей команды. Вы можете выполнить это на сервере node1, node2 или node3.

sudo gluster pool list

С этим вы теперь успешно инициализировали кластер GlusterFS с тремя серверами Debian. На следующем этапе вы узнаете, как создать объем на GlusterFS и как смонтировать объем GlusterFS с клиентского компьютера.

Создание реплицированного объема

В GlusterFS есть несколько типов объемов, которые вы можете создать, включая распределенный объем, реплицированный объем, распределенный реплицированный объем, разреженный объем и распределенный разреженный объем. Ознакомьтесь с официальной документацией GlusterFS, чтобы получить подробности о каждом типе объема.

На этом этапе вы создадите новый объем GlusterFS с типом Реплицированный с тремя различными серверами GlusterFS. С этим ваши данные будут автоматически копироваться с одного сервера на другой внутри пула хранения и кластера GlusterFS.

Выполните следующую команду gluster, чтобы создать новый реплицированный объем на GlusterFS. В этом примере вы создадите новый объем ‘testVolume‘ с типом Реплицированный между тремя серверами node1, node2 и node3.

sudo gluster volume create testVolume replica 3 node1.home.lan:/data/node1/brick0 node2.home.lan:/data/node2/brick0 node3.home.lan:/data/node3/brick0

Вывод ‘volume create: testVolume: success: …‘ подтверждает, что новый объем ‘testVolume‘ создан.

Далее вы должны запустить ‘testVolume‘, прежде чем сможете его использовать, выполнив следующую команду.

sudo gluster volume start testVolume

Вывод ‘volume start: testVolume: success‘ подтверждает, что ‘testVolume‘ запущен и готов к использованию.

Вывод:

Наконец, вы можете проверить информацию о ‘ testVolume‘ с помощью следующей команды gluster.

sudo gluster volume info

Вы получите вывод, похожий на этот — ‘ testVolume‘ с типом ‘ Реплицированный‘, стандартный трансфер — ‘ tcp‘, и три различных сервера node1, node2 и node3.

Вывод:

проверка объема

С этим вы теперь инициализировали кластер GlusterFS с тремя различными серверами и создали реплицированный объем ‘testVolume’ на его основе. На следующем этапе вы узнаете, как настроить клиентский компьютер и смонтировать объем GLusterFS.

Монтирование объема GlusterFS на клиенте

На этом этапе вы узнаете, как смонтировать объем GlusterFS на клиентском компьютере, в этом примере используется машина на базе Ubuntu/Debian с именем хоста ‘client‘. Теперь вы смонтируете объем GlusterFS ‘testVolume‘ на клиентском компьютере и настроите автоматическое монтирование через файл ‘/etc/fstab’.

Сначала откройте файл ‘/etc/hosts‘ с помощью следующей команды редактора nano.

sudo nano /etc/hosts

Введите следующие строки в файл и обязательно измените данные IP-адресов и имен хостов на сервере GLusterFS.

192.168.5.50  node1.home.lan  node1  
192.168.5.56  node2.home.lan  node2  
192.168.5.57  node3.home.lan  node3

Сохраните файл и выйдите из редактора, когда закончите.

Далее выполните следующую команду apt, чтобы установить пакет ‘glusterfs-client’. Чтобы смонтировать объем GlusterFS, вам необходимо установить пакет ‘glusterfs-client‘ на вашем клиентском компьютере.

sudo apt install glusterfs-client

Введите y, когда будет предложено, и нажмите ENTER, чтобы продолжить.

установка glusterfs client

После установки glusterfs-client создайте новый каталог ‘/data’, который будет использоваться в качестве целевого каталога для монтирования объема GlusterFS.

mkdir /data

Смонтируйте объем GlusterFS ‘testVolume‘ в каталог ‘/data‘ с помощью следующей команды монтирования.

sudo mount.glusterfs node1.home.lan:/testVolume /data

Проверьте список смонтированных дисков на вашей системе с помощью следующей команды df.

sudo df -h

Если все прошло успешно, вы должны увидеть объем GlusterFS ‘testVolume’, смонтированный в каталоге ‘/data’.

Вывод:

монтирование glusterfs

Далее вы настроите автоматическое монтирование объема GlusterFS через файл ‘/ect/fstab‘.

Откройте файл ‘/etc/fstab‘ с помощью следующей команды редактора nano.

sudo nano /etc/fstab

Добавьте следующие строки в файл. С этим объем GlusterFS ‘testVolume‘ будет автоматически монтироваться при загрузке.

node1.home.lan:/testVolume /data glusterfs defaults,_netdev 0 0

Сохраните и выйдите из файла, когда закончите.

Теперь вы завершили настройку клиента для монтирования объема GlusterFS и настроили автоматическое монтирование объема GlusterFS через файл ‘/etc/fstab’. На следующем этапе вы проверите репликацию и высокую доступность кластера GLusterFS.

Тестирование репликации и высокой доступности

На клиентском компьютере перейдите в рабочий каталог ‘/data’ и создайте новые файлы с помощью следующей команды. Это создаст новые файлы ‘1-15.md‘.

cd /data  
touch file{1..15}.md

Выполните команду ls, чтобы получить список файлов в текущем каталоге.

ls

Вывод:

Далее перейдите к терминалу ‘node1‘ и перейдите в каталог ‘/data/node1/brick0‘. Затем выполните команду ls, чтобы проверить список файлов и каталогов.

cd /data/node1/brick0  
ls

Вы должны увидеть файлы ‘1-15.md‘, доступные на node1.

Вывод:

Перейдите к терминалу ‘node2‘ и перейдите в каталог ‘/data/node2/brick0‘. Затем выполните команду ls, чтобы проверить список файлов и каталогов.

cd /data/node2/brick0  
ls

Вы должны увидеть файлы ‘1-15.md‘, доступные на node2.

Вывод:

Перейдите к терминалу ‘node3‘ и перейдите в каталог ‘/data/node3/brick0‘. Затем выполните команду ls, чтобы проверить список файлов и каталогов.

cd /data/node3/brick0  
ls

Вы должны увидеть файлы ‘1-15.md‘, доступные на node3.

Вывод:

С этим данные, которые вы создали с клиентского компьютера, реплицируются на несколько серверов на сервере GlusterFS.

Далее, для проверки высокой доступности GLusterFS вы можете отключить или выключить ‘node1‘ и проверить, что клиентский компьютер все еще подключен к кластеру GlusterFS.

Перейдите к терминалу ‘node1‘ и выполните следующую команду, чтобы выключить сервер.

sudo poweroff

Далее перейдите к терминалу ‘node2‘ и выполните следующую команду, чтобы проверить статус кластера GLusterFS.

sudo gluster peer status

Вы должны получить вывод, похожий на этот — состояние node1Disconnected‘.

тестирование ha

Перейдите к терминалу клиента и выполните следующую команду, чтобы убедиться, что вы все еще подключены к кластеру GlusterFS.

cd /data  
ls

Вывод:

С этим высокая доступность кластера GlusterFS работает.

Заключение

Вы установили кластер GlusterFS с тремя серверами Debian 11 в этом учебном пособии. Вы также настроили новый диск/раздел в Linux через fdisk и настроили автоматическое монтирование диска/раздела Linux через файл /etc/fstab. Кроме того, вы узнали, как создать реплицированный объем на GlusterFS и настроить клиентский компьютер на базе Debian/Ubuntu для монтирования объема GlusterFS.

С этим вы теперь можете использовать свой кластер GlusterFS, добавляя больше дисков и серверов, чтобы получить высокодоступную сетевую файловую систему, доступную из ваших сетей. Вы можете узнать больше о администрировании GlusterFS из официальной документации GlusterFS.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.