В данной статье рассматривается способ добавления дискового пространства для ОС Linux с размещением данных на томах под управлением LVM2. Можно рассмотреть два несколько случаев, когда необходимо выполнить данную процедуру.
Данное руководство предоставляется как есть. Ни автор ни компания NetPoint не несут никакой ответственности за последствия, с которыми столкнулся пользователь, используя данное руководство. Пользователь принимает на себя полную ответственность за все последствия.
-
добавление нового физического тома;
-
добавление свободного дискового пространства после блочного переноса на большее устройство;
-
расширение диска виртуальной машины.
Для дальнейшего изложения определимся с исходными данными. Будем рассматривать две ситуации:
-
добавился новый диск (/dev/sdb) (I);
-
изменился размер диска (/dev/sdb) (II) в большую сторону.
В случае виртуальных машин диски могут называться vda, vdb и т.д., а не sda, sdb…
Итак, напомним структуру LVM2:
-
PV (физические тома — физические устройства /dev/sd{a,b,c,d} или их разделы /dev/sd{a,b,c}{1,2…}
-
VG — группы томов, на которых будут размещаться логические тома (у нас vg);
-
LV — логические тома, на которых хранятся данные (у нас sys, swap).
Сначала рассмотрим случай I для уровня PV:
# pvs
root@cloud-controller:~
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda
vg lvm2 a- 136,46g 20,00m
Подключим /dev/sdb к физическим томам LVM2:
# cfdisk /dev/sdb
# pvcreate /dev/sdb1
# pvs
root@cloud-controller:~
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda1
vg lvm2 a- 136,46g 20,00m
/dev/sdb1
lvm2 a- 136,46g 20,00m
Теперь рассмотрим случай II для уровня PV:
# pvs
root@cloud-controller:~
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda1
vg lvm2 a- 136,46g 20,00m
/dev/sdb1
vg lvm2 a- 136,46g 20,00m
Подключим свободное пространство /dev/sdb к физическим томам LVM2. Для этого с помощью cfdisk необходимо добавить раздел /dev/sdb2 к диску /dev/sdb.
# cfdisk /dev/sdb
# pvcreate /dev/sdb2
# pvs
root@cloud-controller:~
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda1
vg lvm2 a- 136,46g 20,00m
/dev/sdb1
vg lvm2 a- 136,46g 20,00m
/dev/sdb2
lvm2 a- 200g 0m
Далее необходимо подключить данный физический том к группе томов. В нашем случае к группе vg.
Сначала рассмотрим случай I для уровня VG:
# vgextend vg /dev/sdb1
# vgs
Вы должны увидеть, что размер доступного места в группе увеличился.
Теперь рассмотрим случай II для уровня VG:
# vgextend vg /dev/sdb2
# vgs
Вы должны увидеть, что размер доступного места в группе увеличился.На следующем шаге мы добавим все свободное место к тому vg/sys.
# lvs
# lvextend -n vg/sys -l+100%FREE
# lvs
Теперь осталось выполнить только изменение размера файловой системы:
# resize2fs /dev/vg/sys