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

Настройка томов с тонким предоставлением в управлении логическими томами (LVM) — часть IV


Управление логическими томами имеет такие замечательные функции, как снимки и тонкое обеспечение. Ранее в (Часть III) мы видели, как сделать снимок логического тома. В этой статье мы увидим, как настроить тома тонкой подготовки в LVM.

Что такое тонкое обеспечение?

Thin Provisioning используется в lvm для создания виртуальных дисков внутри тонкого пула. Предположим, что на моем сервере имеется 15 ГБ. У меня уже есть 2 клиента, у каждого по 5 ГБ памяти. Вы третий клиент, просили 5Гб памяти. Тогда мы использовали все 5 ГБ (толстый том), но вы можете использовать 2 ГБ из этих 5 ГБ хранилища, а 3 ГБ будут свободными, и вы сможете заполнить их позже.

Но при тонком выделении мы определяем тонкий пул внутри одной из больших групп томов и определяем тонкие тома внутри этого тонкого пула. Таким образом, любые файлы, которые вы пишете, будут сохранены, а объем вашего хранилища будет отображаться как 5 ГБ. Но полные 5Гб не займут весь диск. Тот же процесс будет сделан и для других клиентов. Как я уже сказал, есть 2 клиента, и вы мой третий клиент.

Итак, давайте предположим, сколько всего ГБ я выделил для клиентов? Всего 15Гб уже было заполнено, Если ко мне кто-то придет и попросит 5Гб, могу ли я дать? Ответ: «Да», здесь при тонком выделении я могу выделить 5 ГБ для 4-го клиента, даже если я назначил 15 ГБ.

Внимание: начиная с 15 ГБ, если мы выделяем более 15 ГБ, это называется избыточным выделением.

Как это работает? и как мы предоставляем хранилище новым клиентам?

Я предоставил вам 5 ГБ, но вы можете использовать только 2 ГБ, а остальные 3 ГБ будут бесплатными. В Thick Provisioning мы этого сделать не можем, потому что он сначала сам выделит все пространство.

Если при тонком выделении я определяю для вас 5 ГБ, при определении тома не будет выделяться все дисковое пространство, оно вырастет до 5 ГБ в соответствии с вашими записанными данными. Надеюсь, вы это поняли! Как и вы, другие клиенты тоже не будут использовать полные тома, поэтому будет возможность добавить 5 ГБ новому клиенту. Это называется избыточной инициализацией.

Но следить за каждым ростом объема обязательно, иначе это обернется катастрофой. Хотя избыточное выделение ресурсов выполнено, если все 4 клиента плохо записывают данные на диск, вы можете столкнуться с проблемой, поскольку они заполнят ваши 15 ГБ и переполнятся, чтобы удалить тома.

Требования

  1. Создание дискового хранилища с помощью LVM в Linux – ЧАСТЬ 1
  2. Как расширить/уменьшить LVM в Linux – Часть II
  3. Как создать/восстановить снимок логического тома в LVM – Часть III
Настройка моего сервера
  1. Операционная система — CentOS 6.5 с установкой LVM.
  2. IP сервера – 192.168.0.200

Шаг 1. Настройка тонкого пула и томов

Давайте разберемся практически, как настроить тонкий пул и тонкие тома. Сначала нам нужен большой размер группы томов. Здесь я создаю группу томов с 15 ГБ для демонстрационных целей. Теперь перечислите группу томов, используя команду ниже.

vgcreate -s 32M vg_thin /dev/sdb1

Затем проверьте размер доступного логического тома перед созданием тонкого пула и томов.

vgs
lvs

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

Создание тонкого пула

Чтобы создать тонкий пул на 15 ГБ в группе томов (vg_thin), используйте следующую команду.

lvcreate -L 15G --thinpool tp_tecmint_pool vg_thin
  1. -L – Размер группы томов.
  2. –thinpool – Чтобы создать тонкий пул
  3. tp_tecmint_pool – имя тонкого пула.
  4. vg_thin – имя группы томов, в которой нам нужно создать пул.

Чтобы получить более подробную информацию, мы можем использовать команду «lvdisplay».

lvdisplay vg_thin/tp_tecmint_pool

Здесь мы не создали виртуальные тонкие тома в этом тонком пуле. На изображении мы видим данные выделенного пула, показывающие 0,00%.

Создание тонких томов

Теперь мы можем определить тонкие тома внутри тонкого пула с помощью команды «lvcreate» с опцией -V (Виртуальный).

lvcreate -V 5G --thin -n thin_vol_client1 vg_thin/tp_tecmint_pool

Я создал виртуальный том Thin с именем thin_vol_client1 внутри tp_tecmint_pool в моей группе томов vg_thin. Теперь перечислите логические тома, используя команду ниже.

lvs 

Только что мы создали тонкий объем выше, поэтому нет данных, показывающих, например, 0,00%M.

Хорошо, позвольте мне создать еще 2 тонких тома для двух других клиентов. Здесь вы можете видеть, что в пуле (tp_tecmint_pool) создано 3 тонких тома. Итак, с этого момента мы узнали, что я использовал весь пул в 15 ГБ.

Создание файловой системы

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

mkdir -p /mnt/client1 /mnt/client2 /mnt/client3

Перечислите созданные каталоги.

ls -l /mnt/

Создайте файловую систему для этих созданных тонких томов с помощью команды mkfs.

mkfs.ext4 /dev/vg_thin/thin_vol_client1 && mkfs.ext4 /dev/vg_thin/thin_vol_client2 && mkfs.ext4 /dev/vg_thin/thin_vol_client3

Подключите все три клиентских тома к созданной точке монтирования с помощью команды «mount».

mount /dev/vg_thin/thin_vol_client1 /mnt/client1/ && mount /dev/vg_thin/thin_vol_client2 /mnt/client2/ && mount /dev/vg_thin/thin_vol_client3 /mnt/client3/

Перечислите точки монтирования с помощью команды «df».

df -h

Здесь мы видим, что все три клиентских тома смонтированы, и поэтому в каждом клиентском томе используется только 3% данных. Итак, давайте добавим еще несколько файлов во все три точки монтирования с моего рабочего стола, чтобы заполнить немного места.

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

df -h
lvdisplay vg_thin/tp_tecmint_pool

Приведенная выше команда показывает три точки крепления вместе с их размерами в процентах.

13% of datas used out of 5GB for client1
29% of datas used out of 5GB for client2
49% of datas used out of 5GB for client3

Глядя на тонкий пул, мы видим, что только 30% данных записано полностью. Это сумма трех виртуальных томов клиентов.

Избыточное обеспечение

Теперь ко мне подошел 4-й клиент и попросил 5 ГБ дискового пространства. Могу ли я дать? Потому что я уже предоставил пул по 15 ГБ трем клиентам. Можно ли отдать еще 5Гб другому клиенту? Да, можно подарить. В этом случае мы используем Over Provisioning, что означает предоставление места больше, чем у меня есть.

Позвольте мне создать 5 ГБ для четвертого клиента и проверить размер.

lvcreate -V 5G --thin -n thin_vol_client4 vg_thin/tp_tecmint_pool
lvs

У меня размер пула только 15 ГБ, но я создал 4 тома внутри тонкого пула размером до 20 ГБ. Если все четыре клиента начнут записывать данные в свои тома, чтобы набрать скорость, мы столкнемся с критической ситуацией, в противном случае проблем не будет.

Теперь я создал файловую систему в thin_vol_client4, затем смонтировал в /mnt/client4 и скопировал в нее несколько файлов.

lvs

На рисунке выше мы видим, что общий используемый размер во вновь созданном клиенте 4 составляет 89,34%, а размер тонкого пула - 59,19%. Если все эти пользователи не пишут плохо в том, он не будет переполнен, отбросьте его. Чтобы избежать переполнения, нам нужно увеличить размер тонкого пула.

Важно. Тонкие пулы — это просто логические тома, поэтому, если нам нужно увеличить размер тонкого пула, мы можем использовать ту же команду, которую мы использовали логические тома расширяются, но уменьшить размер тонкого пула мы не можем.

lvextend

Здесь мы можем увидеть, как расширить логический тонкий пул (tp_tecmint_pool).

lvextend -L +15G /dev/vg_thin/tp_tecmint_pool

Далее укажите размер тонкого пула.

lvs

Ранее наш размер tp_tecmint_pool составлял 15 ГБ и 4 тонких тома, что превышало выделенное на 20 ГБ. Теперь он увеличен до 30 ГБ, поэтому избыточное выделение ресурсов нормализовано, а тонкие тома не подвержены переполнению и отбрасыванию. Таким образом, вы можете добавлять в пул все больше тонких томов.

Здесь мы увидели, как создать тонкий пул, используя группу томов большого размера, и создать тонкие тома внутри тонкого пула, используя избыточное обеспечение и расширение пула. В следующей статье мы увидим, как настроить lvm Striping.