Работа с LVM в Linux

Наглядная схема работы LVM для понимания:

sda1     sda2     sdb     sdc       <-- PV
 |        |        |       |
 |        |        |       |
 +--------+- VG00 -+-------+        <-- VG
              |
 +-------+-------+---------+
 |       |       |         |
root    usr     home      var       <-- LV
 |       |       |         | 
ext3 reiserfs reiserfs    xfs       <-- Файловые системы

PV – физические диски или логические разделы
VG – физические диски или логические разделы, объединенные в группу
LV – логические разделы из группы томов, на которых уже создается конечная файловая система.

На работающей и свежеустановленной системе (CentOS 7) уже использовался LVM, но нужно было докинуть один диск на 200 Гб и примонтировать в раздел /home.

Итак, алгоритм действий следующий:

Во многих мануалах рунета пишут, что при создании PV нужно использовать физический диск, а не раздел. Это допустимо, но не совсем правильно! Есть рекомендации и пояснения (кликабельно) в виде TL;DR , например, почему так лучше не делать, т.к. использование всего диска вместо раздела может вызвать проблемы в дальнейшем при администрировании.

Для начала посмотреть физический диск через fdisk -l и убедиться, что он действительно виден системой, пусть это будет /dev/xvdb

Для использования раздела в LVM, нужно снова воспользоваться fdisk:

fdisk /dev/xvdb
n > default > default > default
t > 8e
w

При использовании LVM2, команда t > 8e не обязательна, т.к. LVM распознает PV посредством подписи, генерируемой при его создании.

Теперь, когда раздел типа 8e создан, можно создавать PV:

pvcreate /dev/xvdb1

Далее надо создать группу томов VG (Volume Group) с именем vg01:

vgcreate vg01 /dev/xvdb1

Теперь осталось создать логический том LV (Logical Volume) с именем lv01, отдав ему всё свободное пространство в группе томов VG vg01:

lvcreate -l100%FREE vg01 -n lv01

Теперь, если запустить fdisk -l , диск должен быть виден примерно как /dev/mapper/lv01-vg01

Для работы осталось создать файловую систему (ext4 или xfs, я предпочитаю второй вариант) уже на логическом томе:

mkfs.xfs /dev/vg01/lv01

Хочу заметить, что файловая система создается поверх устройства LVM в /dev/vg_name/lv_name, а не в /dev/mapper/vg_name-lv_name. См. официальную документацию

Узнать UUID созданного LV:

blkid

/dev/mapper/vg_lv01: UUID="e5c06451-d134-416c-9b82-83dc9155bce1" TYPE="xfs" 

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

UUID=e5c06451-d134-416c-9b82-83dc9155bce1 /mnt/u01              xfs  defaults        0 0
mount -a
shutdown -r now

Увеличение раздела

Если необходимо увеличить дисковое пространство в LVM-группе томов, то сначала к серверу добавляется физический диск (при необходимости форматируется через fdisk). После аналогично создается pv:

pvcreate /dev/xvdc1

Созданный pv добавляется в уже существующую группу vg:

vgextend vg_lv01 /dev/xvdc1

И существующий lv расширяется на всё доступное пространство (при необходимости добавляется выборочное количество доступного дискового пространства):

lvextend -l +100%FREE /dev/vg01/lv01 

Если используется файловая система xfs, то её расширение делается командой:

xfs_growfs /dev/vg01/lv01 
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: