Как установить GlusterFS на Rocky Linux
На этой странице
- Необходимое условие
- Настройка полного доменного имени и /etc/hosts
- Настройка раздела
- Добавление репозитория GlusterFS для Rocky Linux
- Установка сервера GlusterFS
- Открытие порта с помощью Firewalld
- Инициализация кластера GlusterFS
- Создание тома GlusterFS
- Монтирование тома GlusterFS на клиентском компьютере
- Тестирование доступа для записи и высокой доступности
- Заключение
GlusterFS или Gluster File System — это бесплатная распределенная файловая система с открытым исходным кодом, разработанная RedHat. GlusterFS — это масштабируемая файловая система, сформированная из нескольких серверов в единую файловую систему, которая позволяет пользователям подключаться и монтировать том GlusterFS.
GlusterFS — это современная файловая система, которая может обрабатывать петабайты данных, а также проста в установке и обслуживании, а также легко масштабируется.
В этом руководстве вы узнаете, как установить GlusterFS на две системы Rocky Linux и настроить кластеризацию между двумя серверами. Мы также расскажем, как смонтировать том GlusterFS на клиентской машине.
Предпосылка
- Два сервера Rocky Linux с дополнительным диском на каждом сервере.
- На обоих серверах настроен пароль root.
Настройка полного доменного имени и /etc/hosts
Прежде чем начать, вам нужно будет настроить полное доменное имя и файл /etc/hosts на каждом сервере.
Ниже представлен подробный сервер, который мы будем использовать для создания кластера GlusterFS:
- server1.localdomain.lan с IP-адресом 192.168.10.15
- server2.localdomain.lan с IP-адресом 192.168.10.20
Чтобы настроить полное доменное имя на каждом сервере, выполните приведенную ниже команду hostnamectl.
На server1 выполните приведенную ниже команду hostnamectl.
sudo hostnamectl set-hostname server1.localdomain.lan
И на server2 выполните следующую команду.
sudo hostnamectl set-hostname server2.localdomain.lan
Затем отредактируйте конфигурацию /etc/hosts с помощью редактора nano.
sudo nano /etc/hosts
Вставьте следующую конфигурацию.
192.168.10.15 server1.localdomain.lan
192.168.10.20 server2.localdomain.lan
Сохраните файл, нажав Ctrl+X и введя Y для подтверждения.
Теперь проверьте соединение между server1 и server2, используя приведенную ниже команду ping.
ping -c3 server1.localdomain.lan
ping -c3 server2.localdomain.lan
Каждое локальное доменное имя будет преобразовано в правильный IP-адрес сервера.
Настройка раздела
Для развертывания GlusterFS рекомендуется использовать другое дисковое хранилище, особенно для производственной среды.
В этом руководстве и на server1, и на server2 есть дополнительный диск /dev/vdb1 размером 5 ГБ.
Теперь отредактируйте конфигурацию /etc/fstab с помощью редактора nano, чтобы добавить свой диск.
sudo nano /etc/fstab
Для server1 диск /dev/vda1 будет подключен к каталогу /data/vol1.
/dev/vda1 /data/vol1 ext4 default 0 0
А для server2 диск /dev/vda1 будет подключен к каталогу /data/vol2.
/dev/vda1 /data/vol2 ext4 default 0 0
Затем смонтируйте диск /dev/vda1 с помощью приведенной ниже команды.
sudo mount -a
Если сообщения об ошибке нет, проверьте список подключенных дисков в каждой системе, выполнив команду df, как показано ниже.
sudo df -h
Вы должны увидеть, что диск /dev/vda1 подключен к каталогу /data.
Теперь, прежде чем приступить к установке и настройке кластера GlusterFS, запустите приведенную ниже команду, чтобы создать каталог Brick0 внутри каталога /data.
На server1 выполните приведенную ниже команду.
sudo mkdir -p /data/vol1/brick0
Для server2 выполните приведенную ниже команду.
sudo mkdir -p /data/vol2/brick0
Добавление репозитория GlusterFS для Rocky Linux
После успешной настройки диска теперь вы будете устанавливать пакеты GlusterFS на свои серверы Rocky Linux.
Текущий Rocky Linux по-прежнему не предоставляет серверные пакеты GlusterFS, но вы можете использовать пакеты GlusterFS выпуска CentOS.
Добавьте репозиторий GlusterFS в вашу систему Rocky Linux, используя следующую команду.
sudo dnf install centos-release-gluster9
Введите y, чтобы подтвердить установку, и нажмите ENTER, чтобы продолжить.
Затем перейдите в каталог /etc/yum.repos.d/ и отредактируйте конфигурацию репозитория CentOS-Gluster-9.repo, используя nano. редактор.
cd /etc/yum.repos.d/
sudo nano CentOS-Gluster-9.repo
Измените строку baseurl, используя репозиторий Rocky Linux, и прокомментируйте строку списка зеркал, как показано ниже.
# CentOS-Gluster-9.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/Storage for more
# information
[centos-gluster9]
name=CentOS-$releasever - Gluster 9
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=$releasever&repo=storage-gluster-9
baseurl=https://dl.rockylinux.org/vault/centos/8.5.2111/storage/x86_64/gluster-9/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
[centos-gluster9-test]
name=CentOS-$releasever - Gluster 9 Testing
baseurl=http://buildlogs.centos.org/centos/$releasever/storage/$basearch/gluster-9/
gpgcheck=0
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
Сохраните файл, нажав Ctrl+X и Y для подтверждения.
Теперь проверьте доступный репозиторий в вашей системе Rocky Linux, используя следующую команду.
sudo dnf repolist
Вы увидите репозиторий выпуска CentOS для GlusterFS 9.
Установка сервера GlusterFS
Теперь установите пакеты GlusterFS в системе Rocky Linux с помощью приведенной ниже команды dnf.
sudo dnf install glusterfs glusterfs-libs glusterfs-server
Введите Y, чтобы подтвердить установку, и нажмите ENTER, чтобы продолжить.
После завершения установки запустите службу glusterfsd и добавьте ее в автозагрузку системы с помощью следующей команды.
sudo systemctl enable glusterfsd.service
sudo systemctl start glusterfsd.service
Теперь проверьте статус службы glusterfsd, используя приведенную ниже команду.
sudo systemctl status glusterfsd.service
Вы увидите, что служба glusterfsd активна со статусом exited, что означает, что она запущена, но диспетчер systemd не может найти ни одного демона для мониторинга.
Открытие порта с помощью Firewalld
Прежде чем приступить к настройке кластера GlusterFS, вам необходимо открыть порт для службы GlusterFS.
В операционных системах на базе RHEL Linux приложением брандмауэра по умолчанию является firewalld, которое предоставляет инструмент командной строки firewall-cmd для управления брандмауэром.
Добавьте службу glusterfs в конфигурацию firewalld и перезагрузите firewalld с помощью приведенной ниже команды.
sudo firewall-cmd --add-service=glusterfs --permanent
sudo firewall-cmd --reload
После этого проверьте список служб на брандмауэре с помощью следующей команды.
sudo firewall-cmd --list-services
Вы увидите, что служба glusterfs добавлена в файл firewalld.
Инициализация кластера GlusterFS
Следующим шагом будет инициализация и настройка кластера GlusterFS в системах Rocky Linux.
Сначала инициализируйте кластер GlusterFS с помощью следующей команды. Эта команда должна быть запущена на сервере server1 и может быть запущена только один раз.
Используя эту команду, вы добавите server2.localdomain.lan к одноранговому узлу GlusterFS на server1. Кроме того, server2 будет автоматически инициализирован после выполнения следующей команды.
sudo gluster peer probe server2.localdomain.lan
Теперь вы должны увидеть выходное сообщение peer probe: Success.
Затем проверьте статус однорангового узла на server1 с помощью следующей команды.
sudo gluster peer status
Вы должны увидеть, что на server1 есть только один одноранговый узел.
Кроме того, запустите приведенную ниже команду на server2, чтобы проверить доступные одноранговые узлы на server2.
sudo gluster peer status
Вы должны увидеть, что на server2 есть только один узел.
Создание тома GlusterFS
После успешной инициализации кластера GlusterFS вы создадите новый том GlusterFS, который будет использоваться клиентскими машинами.
В этом руководстве вы создадите новый том с именем myvolume с репликой типа из 2 дисков с server1 и server2.
sudo gluster volume create myvolume replica 2 server1.localdomain.lan:/data/vol1/brick0 server2.localdomain.com:/data/vol2/brick0
Теперь введите y для подтверждения и нажмите ENTER, чтобы создать том GlusterFS.
Когда процесс завершится успешно, вы увидите результат, как на следующем снимке экрана.
Затем запустите том myvolume Glusterfs, используя следующую команду.
sudo gluster volume start myvolume
Вы увидите выходное сообщение volume start: myvolume: Success, что означает, что myvolume запущен.
Теперь выполните приведенную ниже команду, чтобы проверить состояние тома GLusterFS.
sudo gluster volume status
Ниже вы увидите, что статус myvolume подключен к сети и готов к использованию для клиентов.
При желании вы также можете проверить состояние тома GlusterFS, используя следующую команду.
sudo gluster volume info
Вы увидите том myvolume с типом репликации и статусом «запущен». Myvolume основан на диске на серверах server1 и server2.
Монтирование тома GlusterFS на клиентской машине
Теперь вы создали том myvolume GlusterFS. Далее вы узнаете, как настроить компьютер cline и смонтировать том GlusterFS.
В этом уроке мы будем использовать клиентскую машину с именем client.
Отредактируйте конфигурацию /etc/hosts на клиентском компьютере с помощью редактора nano.
sudo nano /etc/hosts
Вставьте следующую конфигурацию.
192.168.10.15 server1.localdomain.lan
192.168.10.20 server2.localdomain.lan
Сохраните файл с помощью Ctrl+X и введите Y для подтверждения.
Чтобы проверить соединение между клиентским компьютером и сервером GlusterFS, выполните приведенную ниже команду ping.
ping -c3 server1.localdomain.lan
вы увидите, что клиентская команда может подключиться к серверу GlusterFS.
Затем установите клиентский пакет GlusterFS из репозитория AppStream Rocky Linux с помощью следующей команды.
sudo dnf install glusterfs-client
Введите y, чтобы подтвердить установку, и нажмите ENTER, чтобы продолжить.
После завершения установки создайте новый каталог монтирования /data с помощью приведенной ниже команды.
sudo mkdir /data
Смонтируйте том myvolume GlusterFS в каталог /data с помощью приведенной ниже команды монтирования.
sudo mount.glusterfs server1.localdomain.lan:/myvolume /data
Если ошибки нет, том GlusterFS успешно подключен к вашей клиентской машине.
Выполните следующую команду, чтобы проверить том GlusterFS.
df -h
Вы увидите, что мой том GlusterFS успешно подключен к каталогу /data на клиентской машине.
Тестирование доступа для записи и высокой доступности
На клиентском компьютере перейдите в каталог /data и создайте новый файл с помощью приведенной ниже команды.
С помощью этой команды вы создадите 5 файлов в каталоге /data.
cd /data
touch file{1..5}.md
Теперь перейдите на server1 и проверьте каталог /data/vol1/brick0 с помощью следующей команды.
ls /data/vol1/brick0
Вы должны увидеть, что файл доступен на server1.
Затем выключите или завершите работу server1 с помощью следующей команды.
sudo shutdown -r now
Снова перейдите на server2 и проверьте состояние GlusterFS на server2 с помощью следующей команды.
sudo gluster peer status
Вы увидите, что одноранговый сервер server1 находится в состоянии отключен.
Проверьте доступные файлы в каталоге /data/vol2/brick0 с server2.
ls /data/vol2/brick0
Вы увидите, что все файлы от клиента также доступны на server2, что означает, что данные реплицируются с однорангового сервера.
Теперь, если вы вернетесь к клиентскому компьютеру, вы увидите, что состояние подключения к серверу GlusterFS все еще активно и работает, даже когда server1 не работает. Это означает, что высокая доступность GlusterFS выполнена успешно.
Заключение
Поздравляем! Вы успешно установили и настроили кластерное хранилище GlusterFS в системах Rocky Linux. Кроме того, вы узнали, как настроить том GlusterFS и смонтировать том GlusterFS на клиентской машине.