На одном из дисков (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}