LVM – расширить раздел на новый диск

На одном из дисков (sdb – 160G) кончилось место. Добавил новый (sda – 500G). Нужно расширить том на оба диска. Для этого воспользуюсь свойствами LVM.

Для начала:

# pvcreate /dev/sda
WARNING: xfs signature detected on /dev/sda at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sda.
Physical volume "/dev/sda" successfully created.
# pvscan
PV /dev/sdc2 VG centos lvm2 [<1,82 TiB / 4,00 MiB free]
PV /dev/sda lvm2 [465,76 GiB]
Total: 2 [2,27 TiB] / in use: 1 [<1,82 TiB] / in no VG: 1 [465,76 GiB]
# pvdisplay
--- Physical volume ---
PV Name /dev/sdc2
VG Name centos
PV Size <1,82 TiB / not usable 4,00 MiB
Allocatable yes
PE Size 4,00 MiB
Total PE 476675
Free PE 1
Allocated PE 476674
PV UUID 2cvGc2-stYN-fyDh-3ulB-jcTz-ROZB-UFgcNR

"/dev/sda" is a new physical volume of "465,76 GiB"
--- NEW Physical volume ---
PV Name /dev/sda
VG Name
PV Size 465,76 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 96YndX-qAsF-XvKe-jPjh-Z1hC-FrzF-fXp9JS

Смотрим свободное место:

# vgs vg_box
VG     #PV #LV #SN Attr   VSize    VFree
vg_box   1   0   0 wz--n- <465,76g <465,76g

Создаем размер сознательно указав завышенный размер – система подсказала правельный:

# lvcreate -l 160000 -n lv_box vg_box
Volume group "vg_box" has insufficient free space (119234 extents): 160000 required.
# lvcreate -l 119234 -n lv_box vg_box
Logical volume "lv_box" created.

Проверяем свободное место:

# vgs vg_box
VG    #PV #LV #SN Attr   VSize    VFree
vg_box  1   1   0 wz--n- <465,76g 0

Теперь такая картина:

# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0 465,8G 0  disk
└─vg_box-lv_box 253:3    0 465,8G 0  lvm  /home/box
sdb               8:16   0 149,1G 0  disk /home/data
sdc               8:32   0   1,8T 0  disk
├─sdc1            8:33   0     1G 0  part /boot
└─sdc2            8:34   0   1,8T 0  part
  ├─centos-root 253:0    0    20G 0  lvm  /
  ├─centos-swap 253:1    0     2G 0  lvm  [SWAP]
  └─centos-home 253:2    0   1,8T 0  lvm  /home

Правим smb.conf (у меня на data привязана одна из шар), копируем старые данные на новый диск и потом отключаем его:

# umount /home/data

Инициализируем его для работы LVM:

# pvcreate /dev/sdb
WARNING: xfs signature detected on /dev/sdb at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sdb.
Physical volume "/dev/sdb" successfully created.
# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0 465,8G 0  disk
└─vg_box-lv_box 253:3    0 465,8G 0  lvm  /home/box
sdb               8:16   0 149,1G 0  disk
sdc               8:32   0   1,8T 0  disk
├─sdc1            8:33   0     1G 0  part /boot
└─sdc2            8:34   0   1,8T 0  part
  ├─centos-root 253:0    0    20G 0  lvm  /
  ├─centos-swap 253:1    0     2G 0  lvm  [SWAP]
  └─centos-home 253:2    0   1,8T 0  lvm  /home

Расширяем группу томов:

# vgextend vg_box /dev/sdb
Volume group "vg_box" successfully extended
# vgs
VG     #PV #LV #SN Attr   VSize   VFree
centos   1   3   0 wz--n-  <1,82t 4,00m
vg_box   2   1   0 wz--n- 614,80g <149,05g
# lvs
LV     VG     Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
home   centos -wi-ao----   <1,80t
root   centos -wi-ao----   20,00g
swap   centos -wi-ao----    2,00g
lv_box vg_box -wi-ao---- <465,76g
# pvs
PV         VG     Fmt  Attr PSize       PFree
/dev/sda   vg_box lvm2 a--  <465,76g       0
/dev/sdb   vg_box lvm2 a--  <149,05g <149,05g
/dev/sdc2  centos lvm2 a--    <1,82t    4,00m

Расширяем логический том lv_box:

# lvextend -L +149,05G /dev/vg_box/lv_box
Rounding size to boundary between physical extents: 149,05 GiB.
Insufficient free space: 38157 extents needed, but only 38156 available

Промазали, исправляем и повторяем:

# lvextend -L +149,04G /dev/vg_box/lv_box
Rounding size to boundary between physical extents: 149,04 GiB.
Size of logical volume vg_box/lv_box changed from <465,76 GiB (119234 extents) to 614,80 GiB (157389 extents).
Logical volume vg_box/lv_box successfully resized.

Что бы не мучаться с подсчетами можно увеличить сразу на все свободное место:

# lvextend -l +100%FREE  /dev/vg_box/lv_box
# df -h
Файловая система          Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/centos-root      20G         3,4G   17G           17% /
devtmpfs                    1,4G            0  1,4G            0% /dev
tmpfs                       1,4G            0  1,4G            0% /dev/shm
tmpfs                       1,4G         8,9M  1,4G            1% /run
tmpfs                       1,4G            0  1,4G            0% /sys/fs/cgroup
/dev/sdc1                  1014M         325M  690M           33% /boot
/dev/mapper/centos-home     1,8T         1,8T   95G           95% /home
tmpfs                       282M            0  282M            0% /run/user/1000
/dev/mapper/vg_box-lv_box   466G         145G  322G           31% /home/box

Осталось увеличить файловую систему и все:

# xfs_growfs /dev/vg_box/lv_box
meta-data=/dev/mapper/vg_box-lv_box isize=512 agcount=4, agsize=30523904 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=122095616, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=59617, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 122095616 to 161166336

Проверяем:

# df -h
Файловая система          Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/centos-root      20G         3,4G   17G           17% /
devtmpfs                    1,4G            0  1,4G            0% /dev
tmpfs                       1,4G            0  1,4G            0% /dev/shm
tmpfs                       1,4G         8,9M  1,4G            1% /run
tmpfs                       1,4G            0  1,4G            0% /sys/fs/cgroup
/dev/sdc1                  1014M         325M  690M           33% /boot
/dev/mapper/centos-home     1,8T         1,8T   95G           95% /home
tmpfs                       282M            0  282M            0% /run/user/1000
/dev/mapper/vg_box-lv_box   615G         145G  471G           24% /home/box

Отмонтируем новую точку и подмонтируем на старое место:

# umount /home/box
# mount /dev/vg_box/lv_box /home/data
# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0 465,8G  0 disk
└─vg_box-lv_box 253:3    0 614,8G  0 lvm  /home/data
sdb               8:16   0 149,1G  0 disk
└─vg_box-lv_box 253:3    0 614,8G  0 lvm  /home/data
sdc               8:32   0   1,8T  0 disk
├─sdc1            8:33   0     1G  0 part /boot
└─sdc2            8:34   0   1,8T  0 part
  ├─centos-root 253:0    0    20G  0 lvm  /
  ├─centos-swap 253:1    0     2G  0 lvm  [SWAP]
  └─centos-home 253:2    0   1,8T  0 lvm  /home

Убираем коментарии с  блока “data”

# vi /etc/samba/smb.conf
# systemctl reload {smb,nmb}

 

image_pdfimage_print

Leave a Reply

Your email address will not be published. Required fields are marked *