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

Как создать том VDO на устройстве хранения данных в RHEL 8


Представленный RedHat в RHEL 7.5 и более поздних версиях, VDO, сокращение от Virtual Date Optimizer, представляет собой технологию блочной виртуализации, которая обеспечивает встроенная дедупликация и сжатие данных на уровне блочного устройства.

Идея дедупликации довольно проста: удалить копии повторяющихся данных и оставить только одну копию. Когда идентичный файл добавляется на блочное устройство, он помечается как дубликат и вместо этого ссылается на исходный файл. При этом VDO помогает экономить место блочного тома.

В этом руководстве вы узнаете, как создать том VDO на устройстве хранения данных в системе RHEL 8.

Шаг 1. Установите VDO в RHEL 8.

Для начала войдите на свой сервер и обновите RHEL с помощью команды dnf.

sudo dnf update -y

После завершения обновления пакетов и ядра продолжите установку модулей ядра и зависимостей VDO с помощью этой команды.

sudo dnf install kmod-kvdo vdo
  • vdo – это набор инструментов управления для Virtual Data Optimizer.
  • kmod-kvdo – это группа модулей ядра для Virtual Data Optimizer.

После успешной установки запустите, включите и проверьте демон vdo.

sudo systemctl start vdo
sudo systemctl enable vdo
sudo systemctl status vdo

Шаг 2. Создайте том VDO в RHEL 8.

Прежде чем создавать том vdo, убедитесь, что в вашей системе есть дополнительный жесткий диск. В этом уроке мы подключили дополнительный том xvdb . Это можно продемонстрировать, выполнив команду lsblk ниже.

lsblk

Из вывода ясно видно, что второй диск имеет емкость 100 ГБ.

Теперь мы создадим пустой том VDO на диске /dev/xvdb.

sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G

Вы столкнетесь с показанной ошибкой.

Это распространенная ошибка, и ее решение — просто перезагрузить сервер.

sudo reboot

При второй попытке команда будет выполнена, создав пустой том VDO на устройстве /dev/xvdb.

sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G

Давайте разберем команду и посмотрим на используемую опцию:

  • create — инициирует создание тома VDO.
  • –name=vdo1 – это присваивает тому метку, известную как vdo1. Не стесняйтесь присвоить любое имя по вашему выбору.
  • –device=/dev/xvdb – параметр устройства указывает диск, на котором будет создан том.
  • –vdoLogicalSize=300G – указывает эффективную емкость тома, используемую операционной системой, в данном случае 300G.

Шаг 3. Проверка нового тома VDO

Новый том VDO был создан по адресу /dev/mapper/vdo1 на основе вывода, который мы видели на предыдущем шаге. Мы можем использовать команду ls, как показано, для проверки прав доступа и владения файлом.

ls -l /dev/mapper/vdo1

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

vdostats --hu

Флаг --hu отображает информацию в удобочитаемом формате, то есть в формате, который гораздо легче читать и расшифровывать. Мы можем просматривать такие атрибуты, как имя устройства, размер дополнительного диска, используемое и доступное пространство, как использование %.

Обратите внимание, что сохранение % указано как Неприменимо (Н/Д).

Также обратите внимание, что у нас уже есть некоторый объем использования 4,1G, что соответствует 4%, но мы ничего не записывали на этом томе. Почему это? Это связано с тем, что универсальная дедупликация уже записана на диск, и именно она делает дедупликацию возможной.

Команду vdostats можно использовать с флагом --verbose для получения более подробной информации, как показано:

sudo vdostats --verbose /dev/mapper/vdo1 | grep -B6 ‘saving percent’

Вы видите, по сути, те же данные, что и в предыдущем примере, но в другом формате.

Шаг 4. Разбиение тома VDO на разделы

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

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

sudo pvcreate /dev/mapper/vdo1
sudo vgcreate vdo1vg /dev/mapper/vdo1

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

sudo vgdisplay vdo1vg

Теперь мы создадим два логических тома одинакового размера и емкостью 50 ГБ каждый.

sudo lvcreate -n vdo1v01 -L 50G vdo1vg
sudo lvcreate -n vdo1v02 -L 50G vdo1vg

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

sudo lvs

Шаг 4. Форматирование и монтирование файловых систем

Обычно при создании файловой системы на устройстве выполняется операция обрезки. Это нежелательно в случае VDO. При форматировании с помощью команды mkfs используйте параметр -K, чтобы указать команде не отбрасывать блоки во время создания файловой системы.

sudo mkfs.xfs  -K /dev/vdo1vg/vdo1v01
sudo mkfs.xfs  -K /dev/vdo1vg/vdo1v02

Если вы используете файловую систему EXT$, используйте опцию «-E nodiscard».

Создайте точки монтирования для монтирования томов:

sudo mkdir /data/v01
sudo mkdir /data/v02

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

sudo mount -o discard /dev/vdo1vg/vdo1v01  /data/v01
sudo mount -o discard /dev/vdo1vg/vdo1v02  /data/v02

Теперь, когда вы проверите том VDO, вы заметите, что экономия % изменилась до 99%, что весьма впечатляет. Это означает, что дедупликация работает должным образом.

sudo vdostats --hu

Вы можете продолжить расследование с помощью команды df -Th. В нижней части вы увидите файловые системы, смонтированные в /data/v01 и /data/v02 соответственно.

df -hT

В этом руководстве мы продемонстрировали, как создать том VDO из дополнительного устройства хранения данных в RHEL 8. Позже мы пошли дальше и продемонстрировали, как можно создавать дополнительные тома и создавать на их основе файловые системы.