Поиск по сайту:

Как установить Stratis для управления многоуровневым локальным хранилищем в RHEL 8


Stratis — одна из новых функций, поставляемых с дистрибутивом RHEL 8. Stratis — это решение для управления локальным хранилищем, которое обеспечивает простоту и удобство использования и в то же время предоставляет доступ к расширенным функциям хранения. Он использует файловую систему XFS и предоставляет вам доступ к расширенным возможностям хранения, таким как:

  • Тонкое обеспечение
  • Снимки файловой системы
  • Многоуровневое распределение
  • Управление на базе пула
  • Мониторинг

По сути, Stratis — это пул носителей, созданный из одного или нескольких локальных дисков или дисковых разделов. Stratis помогает системному администратору настраивать и управлять сложными конфигурациями хранилища.

Прежде чем мы продолжим, давайте взглянем на некоторые технические термины, с которыми вы обязательно столкнетесь по мере продвижения:

  • пул. Пул состоит из одного или нескольких блочных устройств. Общий размер пула равен сумме блочных устройств.
  • blockdev: Как вы могли догадаться, это относится к блочным устройствам, таким как разделы диска.
  • Файловая система. Файловая система представляет собой тонко подготовленный уровень, размер которого не имеет фиксированного размера. Фактический размер файловой системы увеличивается по мере добавления данных. Stratis автоматически увеличивает размер файловой системы, когда размер данных приближается к виртуальному размеру файловой системы.

Блочные устройства, которые вы можете использовать со Stratis, включают:

  1. Логические тома LVM
  2. ЛЮКС
  3. SSD (твердотельные накопители)
  4. Многопутевое устройство сопоставления устройств
  5. iSCSI
  6. HDD (жесткие диски)
  7. мдраид
  8. Устройства хранения данных NVMe

Программные компоненты Stratis

Stratis предоставляет две программные утилиты:

  • Stratis-cli: это инструмент командной строки, входящий в состав Stratis.
  • Демон Stratisd: это демон, который создает блочные устройства и управляет ими, а также играет роль в предоставлении API DBUS.

Как установить Stratis на RHEL 8

Рассмотрев, что такое Stratis, и определив несколько терминов. Давайте теперь установим и настроим Stratis в дистрибутиве RHEL 8 (также работает в CentOS 8).

Установите Stratis на RHEL 8

Давайте посмотрим, как вы можете установить Stratis в своей системе RHEL 8, войти в систему как пользователь root и запустить команду.

dnf install stratisd stratis-cli

Чтобы найти дополнительную информацию об установленных пакетах, выполните команду.

rpm -qi stratisd stratis-cli

После успешной установки Stratis запустите службу, выполнив команду.

systemctl enable --now stratisd

Чтобы проверить статус Stratis, выполните команду.

systemctl status stratisd

Создайте пул Stratis

Чтобы создать пул Stratis, вам необходимо заблокировать устройства, которые не используются и не монтируются. Кроме того, предполагается, что служба Stratisd запущена и работает. Кроме того, размер блочных устройств, которые вы собираетесь использовать, должен быть не менее 1 ГБ.

В нашей системе RHEL 8 есть четыре дополнительных блочных устройства: /dev/xvdb, /dev/xvdc, /dev/ xvdd, /dev/xvde. Чтобы отобразить блочные устройства, выполните команду lsblk.

lsblk

Ни одно из этих блочных устройств не должно иметь таблицу разделов. Вы можете подтвердить это с помощью команды.

blkid -p /dev/xvdb

Если вы не получаете никаких выходных данных, это означает, что на ваших блочных устройствах нет таблицы разделов. Однако в случае, если таблица разделов существует, вы можете стереть ее с помощью команды:

wipefs -a /<device-path>

Создайте пул Stratis из одного блочного устройства

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

stratis pool create <pool-name> <block-device>

Например, чтобы создать пул из /dev/xvdb, выполните команду.

stratis pool create my_pool_1 /dev/xvdb

Для подтверждения созданного пула запустите.

stratis pool list

Создайте пул Stratis из нескольких блочных устройств

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

stratis pool create <pool_name> device-1 device-2 device-n

Чтобы создать пул из /dev/xvdc, /dev/xvdd и /dev/xvde, выполните команду.

stratis pool create my_pool_2 /dev/xvdc /dev/xvdd/ /dev/xvde

Еще раз перечислите доступные пулы с помощью команды.

stratis pool list

На этом этапе у вас должно быть два пула: my_pool_1 и my_pool_2.

Как вы можете видеть выше, пространство на жестком диске, занимаемое пулом my_pool_2, в три раза больше, чем у первого пула, который мы создали только из одного блочного устройства с памятью 10 ГБ.

Создать файловую систему из пула

Создав свою файловую систему, вы можете создать файловую систему из одного из пулов, используя синтаксис.

stratis fs create <poolname> <filesystemname>

Например, чтобы создать filesystem-1 и filesystem-2 из my_pool_1 и my_pool_2 соответственно, выполните команды:

stratis fs create my_pool_1 filesystem-1
stratis fs create my_pool_2 filesystem-2

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

stratis fs list

Чтобы сузить результаты файловой системы до одного пула, выполните команду:

stratis fs list <poolname>

Например, чтобы проверить файловую систему в my_pool_2, выполните команду.

stratis fs list my_pool_2

Теперь, если вы запустите команду lsblk, результат должен быть чем-то похож на пример вывода ниже.

lsblk

Монтирование файловой системы Stratis

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

Для файловой системы в первом пуле выполните команду:

mkdir /data
mount /stratis/my_pool_1/filesystem-1 /data

Для второй файловой системы во втором пуле выполните команду.

mkdir /block
mount /stratis/my_pool_2/filesystem-2 /block

Чтобы проверить существование текущих точек монтирования, выполните команду df:

df -Th | grep  stratis

Идеальный! Мы ясно видим, что наши точки монтирования присутствуют.

Постоянное монтирование файловых систем Stratis

Точки монтирования, которые мы только что создали, не смогут пережить перезагрузку. Чтобы сделать их постоянными, сначала получите UUID каждой файловой системы:

blkid -p /stratis/my_pool_1/filesystem-1
blkid -p /stratis/my_pool_2/filesystem-2

Теперь скопируйте параметры UUID и точки монтирования в /etc/fstab, как показано.

echo "UUID=c632dcf5-3e23-46c8-82b6-b06a4cc9d6a7 /data xfs defaults 0 0" | sudo tee -a /etc/fstab
echo "UUID=b485ce80-be18-4a06-8631-925132bbfd78 /block xfs defaults 0 0" | sudo tee -a /etc/fstab

Чтобы система зарегистрировала новую конфигурацию, выполните команду:

systemctl daemon-reload

Чтобы убедиться, что конфигурация работает должным образом, смонтируйте файловые системы.

mount /data
mount /block

Удаление файловой системы Stratis

Чтобы удалить файловую систему, вам необходимо сначала размонтировать файловую систему, как показано.

umount /mount-point

В этом случае у нас будет.

umount /data

Чтобы уничтожить файловую систему, используйте синтаксис:

stratis filesystem destroy <poolname> <filesystem-name>

Итак, у нас будет:

stratis filesystem destroy my_pool_1 filesystem-1

Чтобы подтвердить удаление файловой системы, введите команду.

stratis filesystem list my_pool_1

Из вывода мы ясно видим, что файловая система, связанная с my_pool_1, была удалена.

Добавление диска в существующий пул Stratis

Добавить диск в существующий пул можно с помощью команды:

stratis pool add-data <poolname> /<devicepath>

Например, чтобы добавить дополнительный диск /dev/xvdf в my_pool_1, выполните команду:

stratis pool add-data my_pool_1 /dev/xvdf

Обратите внимание, что после добавления дополнительного тома размер my_pool_1 увеличился вдвое.

Создание снимков Stratis

Снимок — это операция чтения и записи копии файловой системы с тонким обеспечением в определенный момент времени.

Чтобы создать снимок, выполните команду:

stratis fs snapshot <poolname> <fsname> <snapshotname>

В этом случае команда будет такой:

stratis fs snapshot my_pool_2 filesystem-2 mysnapshot

Вы можете добавить атрибут данных -$ (date +%Y-%m-%d) к снимку, добавив тег даты, как показано на снимке экрана ниже.

Чтобы проверить создание снимка, выполните команду:

stratis filesystem list <poolname>

В этом случае команда будет такой:

stratis filesystem list my_pool_2

Возврат к предыдущему снимку с использованием файловой системы

Чтобы вернуть файловую систему Stratis к ранее созданному снимку, сначала размонтируйте и уничтожьте исходную файловую систему.

umount /stratis/<poolname>/filesystem

В нашем сценарии так и будет.


umount /stratis/my_pool_2/filesystem-2

Затем создайте копию снимка, используя исходную файловую систему:

stratis filesystem snapshot <poolname> filesystem-snapshot filesystem

Команда будет:

stratis filesystem snapshot my_pool_2 mysnapshot-2019-10-24 block

Наконец, смонтируйте снимок.

mount /stratis/my-pool/my-fs mount-point

Удаление снимка Stratis

Чтобы удалить снимок, сначала отключите его.

unmount /stratis/my_pool_2/mysnapshot-2019-10-24

Далее действуйте и уничтожьте снимок:

stratis filesystem destroy my_pool_2 mysnapshot-2019-10-24

Удаление пула Stratis

Чтобы удалить пул Stratis, выполните следующие простые шаги.

1. Перечислите файловые системы, существующие в пуле.

stratis filesystem list <poolname>

2. Затем отключите все файловые системы в пуле.

umount /stratis//filesystem-1
umount /stratis//filesystem-2
umount /stratis//filesystem-3

3. Уничтожьте файловые системы.

stratis filesystem destroy <poolname> fs-1 fs-2

4. А затем избавьтесь от пула.

stratis pool destroy poolname

В этом случае синтаксис будет таким.

stratis pool destroy my_pool_2

Вы можете еще раз проверить список пулов.

stratis pool list

Наконец, удалите записи в /etc/fstab для файловых систем.

Мы подошли к концу руководства. В этом руководстве мы проливаем свет на то, как можно установить и использовать Stratis для управления многоуровневым локальным хранилищем в RHEL. Мы очень надеемся, что вы нашли это полезным. Попробуйте и дайте нам знать, как все прошло.