- Управление на основе пула
- Тонкая подготовка
- Снимки файловой системы
- Мониторинг
Stratisd - это демон, стоящий за Stratis, который помогает в настройке компонентов хранилища в файловой системе XFS и подсистеме сопоставления устройств. На данный момент Stratis поддерживает Логические тома LVM, жесткие диски, SSD, NVMe, а также ISCI устройства хранения данных.
А теперь давайте окунемся в некоторые основные ключевые термины
- Blockdev: Это терминология, относящаяся к блочным устройствам.
- Бассейн: Пул может состоять как из одного, так и из нескольких блочных устройств. Размер стратис-пула будет эквивалентен сумме блочных устройств, составляющих пул.
- Файловая система: Файловая система - это тонко подготовленный уровень, размер которого увеличивается по мере добавления дополнительной информации или данных. Stratis автоматически увеличивает размер файловой системы по мере того, как объем данных увеличивается почти до размера виртуальной файловой системы.
Стратис состоит из:
- Демон Stratisd: Демон, который позволяет пользователю управлять блочными устройствами.
- Стратис-кли: Утилита командной строки, входящая в состав Stratis.
Установка Stratis на RHEL 8
Кратко представив Stratis, то, что он делает, и его компоненты, давайте теперь установим Stratis на RHEL 8
Чтобы установить Stratis на RHEL 8, войдите в систему как пользователь root и выполните команду:
# dnf install stratisd stratis-cli
При появлении запроса введите y, чтобы продолжить установку. Если все прошло хорошо, вы сможете получить приведенный ниже результат, подтверждающий, что все прошло хорошо.
Чтобы подтвердить установку пакетов stratis, выполните команду:
# rpm -q stratisd stratis-cli
Запуск службы Stratis на RHEL 8
Чтобы запустить сервис Stratis, выполните команду:
# systemctl enable --now stratisdЗатем проверьте статус Stratis, выполнив команду:
# systemctl status stratisd
Из выходных данных выше видно, что Stratis запущен и работает.
Создание пула Stratis
Прежде чем приступить к созданию пула Stratis, убедитесь, что на блочных устройствах в вашей системе не менее 1 ГБ. Кроме того, эти устройства необходимо размонтировать и простаивать. Кроме того, должен быть запущен демон stratisd. в нашей настройке, помимо основного раздела, есть 5 блочных устройств:
- / dev / xvdb
- / dev / xvdc
- / dev / xvdd
- / dev / xvde
- / dev / xvdf
Вы можете получить представление о существующих блочных устройствах, выполнив команду:
# lsblk
Кроме того, очень важно убедиться, что у блочных устройств нет существующей таблицы разделов.
Подтвердите это с помощью синтаксиса:
# blkid -p /Например
# blkid -p / dev / xvdb
Отсутствие вывода означает, что на блочных устройствах нет таблицы разделов. Однако, если таблица разделов существует на одном из устройств, вы можете стереть раздел, используя команду:
# wipefs -a /Создание пула Stratis из одного блочного устройства
Вы можете создать пул Stratis из одноблочного устройства, используя синтаксис:
# stratis pool createНапример для создания пула бассейн_1 с блочного устройства / dev / xvdb запустить:
# stratis pool create pool_1 / dev / xvdbЧтобы вывести список созданного пула, запустите:
# список пула stratis
Из вышеприведенного вывода мы ясно видим, что новый пул, бассейн_1 был создан.
Создайте пул Stratis из нескольких блочных устройств
Чтобы создать пул из нескольких устройств, используйте приведенный ниже синтаксис, в котором перечислены все устройства в одной строке
# stratis pool createЧтобы создать пул из / dev / xvdc а также / dev / xvdd запустите команду:
# stratis pool create pool_2 / dev / xvdc / dev / xvdd /Еще раз перечислите доступные пулы с помощью команды:
# список пула stratisНа данный момент у вас должно быть 2 пула: бассейн_1 и бассейн_2
Из выходных данных выше мы можем ясно отметить, что размер pool_2 в два раза больше, чем pool_1, потому что он состоит из двух блочных устройств, каждое из которых имеет физический объем 10 ГБ.
Создание файловой системы из пула
Из одного из ранее созданных пулов Stratis вы можете создать файловую систему, используя синтаксис ниже:
# stratis fs createНапример, чтобы создать файловую систему fs_1 из бассейн_1 выполнить команду:
# stratis fs создать pool_1 fs_1Также вы можете создать более 1 файловой системы из одного пула. Во втором пуле мы создадим 2 файловые системы:
fs_2& fs_3
# stratis fs создать pool_2 fs_2
# stratis fs создать pool_2 fs_3
Теперь, чтобы отобразить новые файловые системы, выполните:
# stratis fs list
Чтобы перечислить файловые системы в данном пуле, используйте синтаксис
# stratis fs listНапример, чтобы просмотреть файловые системы, существующие в pool_1, выполните команду:
# stratis fs list pool_1
Для pool_2 запустите:
# stratis fs list pool_2
Как и ожидалось, у нас есть 2 файловые системы во втором пуле.
На этом этапе запускается lsblk команда выдаст результат, аналогичный приведенному ниже:
Как смонтировать файловую систему Stratis
Чтобы получить доступ к файловым системам, нам нужно, прежде всего, смонтировать их. Первым шагом будет создание точек монтирования для каждой файловой системы. Это кратко изложено в таблице ниже
Файловая система | Точка монтирования |
fs_1 | /место хранения |
fs_2 | /база данных |
fs_3 | /резервное копирование |
Итак, создайте первую точку монтирования для файловой системы в бассейн_1
# mkdir / хранилищеДалее монтируем файловую систему
# mount / Stratis / pool_1 / fs_1 / storage
Чтобы смонтировать вторую файловую систему, выполните ту же процедуру:
# mkdir / databaseСмонтируйте файловую систему:
# mount / stratis / pool_2 / fs_2 / database
И, наконец, последняя файловая система:
# mkdir / backupСмонтируйте файловую систему:
# mount / stratis / pool_2 / fs_3 / backup
Подтвердить существование точек монтирования можно с помощью команды:
# df -Th | grep stratis
Сделайте файловые системы stratis постоянными
Файловые системы, которые мы только что создали, не выдержат перезагрузки. Чтобы сделать их постоянными, нам нужно добавить их в / etc / fstab файл.
Во-первых, давайте получим UUID файловых систем, как показано
# blkid -p / stratis / pool_1 / fs_1# blkid -p / stratis / pool_2 / fs_2
# blkid -p / stratis / pool_2 / fs_3
# echo "UUID = 9161da55-6c4b-4761-9da9-1b3999945964 / хранилище
xfs по умолчанию 0 0 "| sudo tee -a / etc / fstab
# echo "UUID = ddfa4252-a9d6-4c10-8981-e7dbd56450ee / database
xfs по умолчанию 0 0 "| sudo tee -a / etc / fstab
# echo "UUID = 512bc0b7-182e-46ed-9fbd-d5be4d055fcf / backup
xfs по умолчанию 0 0 "| sudo tee -a / etc / fstab
Вы можете подтвердить добавление файловых систем в / etc / fstab как показано:
Чтобы изменения вступили в силу в системе, выполните команду:
# systemctl daemon-reloadЗатем смонтируйте все файловые системы
# mount -a
Добавление блочного устройства в пул Stratis
Чтобы добавить блочное устройство в существующий пул Stratis, выполните команду:
# дополнительные данные пула stratisНапример, чтобы добавить объем блока / dev / xvde к бассейн_1 запустите команду:
# stratis pool add-data pool_1 / dev / xvdeТеперь проверьте размер бассейн_1
# список пула stratis
Как было замечено, размер бассейн_1 увеличился вдвое в результате добавления блочного устройства.
Создание снимка Stratis
Файловая система Stratis - это точная копия или реплика другой файловой системы Stratis. Содержит то же содержимое, что и исходная файловая система. Однако моментальный снимок позже может быть изменен, и после этого будут существовать различия между моментальным снимком и исходной файловой системой.
Вот несколько вещей, которые вам также следует знать:
- Снимок файловой системы - это просто еще одна реплика файловой системы.
- Вам не нужно монтировать файловую систему, чтобы создать из нее моментальный снимок.
- Моментальная файловая система может пережить исходную файловую систему, из которой она была создана
Чтобы создать снимок, используйте синтаксис:
# stratis fs снимокНапример, чтобы создать снимок с именем снимок_1 в бассейн_1 запустите команду
# stratis fs snapshot pool_1 fs_1 snapshot_1Это займет около 30 секунд.
Чтобы подтвердить создание снимка, выполните:
# список файловых систем stratisВ этом случае команда будет такой:
# stratis filesystem list pool_1
Дополнительно вы можете добавить атрибут даты (-$ (дата +% Y-% m-% d) чтобы легко определить, когда был создан снимок. Создадим еще один снимок, используя второй пул.
# stratis fs snapshot pool_2 fs_2 snapshot_2 - $ (дата +% Y-% m-% d)Чтобы отобразить только что созданный снимок Stratis, введите команду:
# stratis filesystem list pool_2
Из вывода выше мы видим снимок, созданный в бассейн_2 с меткой даты.
Как вернуться к предыдущему снимку с помощью файловой системы
Чтобы вернуться к предыдущему моментальному снимку с использованием файловой системы, вам необходимо сначала размонтировать и уничтожить исходную файловую систему.
# umount / stratis /Например, в бассейн_2 вернуться к снимок_2 размонтировать файловую систему fs_2
# umount / stratis / pool_2 / fs_2Затем создайте копию снимка из исходной файловой системы
# снимок файловой системы stratisмоментальный снимок fs-mountpoint
Команда будет такой:
# stratis file system snapshot pool_2 snapshot_2-2019-11-15 база данных
Наконец, смонтируйте снимок, используя точку монтирования файловой системы
# mount / stratis / pool_2 / fs_2 / database
Удаление снимка Stratis
Чтобы удалить снимок Stratis, прежде всего, размонтируйте снимок.
# umount / snapshot_mountpointЧтобы удалить снимок, созданный в бассейн_2, размонтируйте точку монтирования, как показано
# umount / база данныхЗатем продолжаем и уничтожаем снимок:
# уничтожение файловой системы stratisКоманда будет такой:
# stratis filesystem destroy pool_2 snapshot_2-2019-11-15Теперь попробуйте перечислить файловые системы в pool_2. Вы заметите, что снимок исчез.
# stratis filesystem list pool_2
Удаление файловой системы Stratis
Чтобы избавиться от файловой системы, сначала отключите файловую систему, используя синтаксис ниже:
# umount / stratis / пул / файловая системаНапример, чтобы удалить файловую систему fs_1 в бассейн_1, сначала размонтируйте его, как показано:
# umount / stratis / pool_1 / fs_1Затем уничтожьте файловую систему, используя синтаксис ниже:
# stratis файловая система уничтожает пул fsВ нашем сценарии команда будет такой:
# stratis filesystem destroy pool_1 fs_1
Чтобы убедиться, что файловая система была успешно удалена, выполните команду:
# stratis filesystem list pool_1
Как видите, файловая система больше не существует.
Удаление пула Stratis
Наконец, давайте посмотрим, как удалить пул Stratis.
Чтобы удалить пул stratis, вам необходимо размонтировать и уничтожить все файловые системы и моментальные снимки в пуле, как мы видели в предыдущих подразделах.
Поскольку в pool_1 остается снимок, мы сначала удалим его, сначала удалив точку монтирования, связанную со снимком
# umount / хранилищеДалее уничтожаем файловую систему.
# stratis filesystem destroy pool_1 snapshot_1Теперь, когда снимок удален, удалите pool_1 с помощью команды
# stratis pool destroy pool_1
Теперь перечислите доступные пулы:
# список пула stratis
Удалять бассейн_2 , давайте сначала перечислим файловые системы
# stratis filesystem list pool_2
Размонтируйте и уничтожьте файловые системы, как показано
# umount / stratis / pool_2 / fs_3# stratis filesystem destroy pool_2 fs_3
# stratis файловая система уничтожает базу данных pool_2
Затем уничтожьте пул и перечислите пулы
# stratis pool destroy pool_2# список пула stratis
Идеально ! все бассейны исчезли. Мы вернулись туда, откуда начали ! Вы можете подтвердить еще раз, перечислив устройства блокировки с помощью команды:
и как вы можете использовать его для управления блочными устройствами, создания снимков, файловых систем и пулов, а также их удаления. Ваши мысли и отзывы приветствуются.
Рекомендации:
- https: // доступ.Красная шляпа.com / documentation / en-us / red_hat_enterprise_linux / 8 / html / manage_file_systems / management-Layered-local-storage-with-stratis_managing-file-systems
- https: // www.Tecmint.com / install-stratis-to-manage-Layered-local-storage-on-rhel /