Go to content Go to menu Go to search

Работа с LVM (шпаргалка)

Вступление / Постановка задачи

Это очень короткая шпаргалка по LVM – основные команды для создания тома.
Имеем виртуальный диск /dev/xvdb нужно сделать на нем том LVM с возможностью снапшотов (т.к. том не должен занять весь физический диск).

Итак:

Создаем раздел тип раздела 8e

fdisk -l /dev/xvdb

Диск /dev/xvdb: 10.7 ГБ, 10737418240 байт
255 heads, 63 sectors/track, 1305 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe90a3c2f

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/xvdb1               1        1305    10482381   8e  Linux LVM

Создаем физический том

pvcreate /dev/xvdb1

Создаем группу томов

vgcreate <имя_группы> /dev/xvdb1

Смотрим какой получился размер у группы томов

число физических экстентов (2558):

~# vgdisplay | grep "Total PE"
  Total PE              2558

размер физического экстента (4,00 MiB):

~# vgdisplay | grep "PE Size"
  PE Size               4,00 MiB

Допустим мы хотим зарезервировать 400Мб под снапшоты, 400Мб = 100 физических экстентов, тогда размер LVM-тома должен быть “Total PE”-100 = 2458.
Создаем LVM-том нужного размера:

lvcreate -l 2458 --name <имя_раздела> <имя_группы>

Узнать есть ли свободное место на физическом томе под снапшоты (400,00 MiB free):

pvscan
  PV /dev/xvdb1   VG mysql   lvm2 [9,99 GiB / 400,00 MiB free]
  Total: 1 [9,99 GiB] / in use: 1 [9,99 GiB] / in no VG: 0 [0   ]

Уменьшить раздел

Сперва нужно проверить файловую систему на ошибки

e2fsck -f /dev/pve/data

Затем уменьшаем файловую систему на размер, меньший, чем будет раздел в итоге.

resize2fs /dev/pve/data 900G

Потом уменьшаем раздел LVM

lvreduce -L 1000G /dev/pve/data

И наконец, расширяем файловую систему до полного размера раздела

resize2fs /dev/pve/data

Thin LVM

Документация:

Должны быть установлены thin-provisioning-tools

apt-get -y install thin-provisioning-tools

Создать пул тонких томов:

lvcreate -L 300G --name data pve
lvconvert --type thin-pool pve/data --poolmetadatasize 10G

Проверить chunksize:

lvs -o+chunksize

Создать тонкий том в пуле:

lvcreate -T -V 100G -n thin-volume pve/data

Отобразить все тома включая скрытые

lvs -a

Ключевые моменты в работе тонких томов:
1. При создании тонкого тома дополнительно к исходному тому создаются два скрытых тома под метаданные (один запасной с названием lvol0_pmspare). Если метаданные испортились их можно попробовать восстановить при помощи lvconvert --repair VG/ThinPoolLV
2. Для метаданных (информация о выделенных блоках) сохраняется на отдельном томе (который автоматически создается), и когда на нем кончается место, то происходит порча метаданных и файловвых систем на тонких томах (т.к. ошибка записи будет).
3. Thin-LVM поддерживает автоувеличение томов, в том числе и тома metadata (что бы увеличить метадату, нужно что бы были свободные екстенты на vg, по этому под нужно всегда оставлять свободное место на VG!!). Автоувеличение настраивается в /etc/lvm.conf (thin_pool_autoextend)

Enjoy


при публикации материалов с данного сайта обратная ссылка на сайт обязательна.
valynkin.ru © no rights reserved