LVM: перераспределение разделов
Уменьшить root, увеличить home
Задача: уменьшить ubuntu–vg-root, а на освободившееся место увеличить ubuntu–vg-home.
Чтобы проверить всю схему, надо сначала выполнить на ВМ.
Смотрим, что у нас имеется:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 365.4M 1 loop /run/archiso/sfs/airootfs
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 487M 0 part
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 29.5G 0 part
├─ubuntu--vg-root 254:0 0 10G 0 lvm
├─ubuntu--vg-swap_1 254:1 0 1G 0 lvm
└─ubuntu--vg-home 254:2 0 18.5G 0 lvm
sr0 11:0 1 476M 0 rom /run/archiso/bootmnt
Есть три раздела LVM.
Проверяем разделы, все должны быть ACTIVE:
# lvscan
ACTIVE '/dev/ubuntu-vg/root' [10.00 GiB] inherit
ACTIVE '/dev/ubuntu-vg/swap_1' [1.00 GiB] inherit
ACTIVE '/dev/ubuntu-vg/home' [18.52 GiB] inherit
Начнём с root.
Порядок действий:
- уменьшить размер файловой системы
- уменьшить раздел logical volume
Проверяем целостность ФС:
# e2fsck -f /dev/ubuntu-vg/root
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/ubuntu-vg/root: 97684/654080 files (0.2% non-contiguous), 506679/2621440 blocks
Уменьшаем размер файловой системы до 5 GB:
i# resize2fs /dev/ubuntu-vg/root 5G
resize2fs 1.43.4 (31-Jan-2017)
Resizing the filesystem on /dev/ubuntu-vg/root to 1310720 (4k) blocks.
The filesystem on /dev/ubuntu-vg/root is now 1310720 (4k) blocks long.
Уменьшаем размер тома до 5 Gb:
# lvreduce -L 5G /dev/ubuntu-vg/root
WARNING: Reducing active logical volume to 5.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce ubuntu-vg/root? [y/n]: y
Size of logical volume ubuntu-vg/root changed from 10.00 GiB (2560 extents) to 5.00 GiB (1280 extents).
Logical volume ubuntu-vg/root successfully resized.
Проверяем:
# lsblk /dev/sda5
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda5 8:5 0 29.5G 0 part
├─ubuntu--vg-root 254:0 0 5G 0 lvm
├─ubuntu--vg-swap_1 254:1 0 1G 0 lvm
└─ubuntu--vg-home 254:2 0 18.5G 0 lvm
Теперь приступаем к изменению раздела /home.
С помощью lvextend
— увеличиваем размер ubuntu--vg-home
на 5G:
# lvextend -L +5G /dev/ubuntu-vg/home
Size of logical volume ubuntu-vg/home changed from 18.52 GiB (4741 extents) to 23.52 GiB (6021 extents).
Logical volume ubuntu-vg/home successfully resized.
Проверяем ФС:
# e2fsck -f /dev/ubuntu-vg/home
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/ubuntu-vg/home: 11/1215840 files (0.0% non-contiguous), 120370/4854784 blocks
Не указываем размер, что бы занять 100% свободного места:
# resize2fs -p /dev/ubuntu-vg/home
resize2fs 1.43.4 (31-Jan-2017)
Resizing the filesystem on /dev/ubuntu-vg/home to 6165504 (4k) blocks.
Begin pass 1 (max = 40)
Extending the inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-
The filesystem on /dev/ubuntu-vg/home is now 6165504 (4k) blocks long.
Проверяем:
# /dev/sda5
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda5 8:5 0 29.5G 0 part
├─ubuntu--vg-root 254:0 0 5G 0 lvm
├─ubuntu--vg-swap_1 254:1 0 1G 0 lvm
└─ubuntu--vg-home 254:2 0 23.5G 0 lvm
Перезагружаем сервер и смотрим:
$ lsblk /dev/sda5
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda5 8:5 0 29.5G 0 part
├─ubuntu--vg-root 252:0 0 5G 0 lvm /
├─ubuntu--vg-swap_1 252:1 0 1G 0 lvm [SWAP]
└─ubuntu--vg-home 252:2 0 23.5G 0 lvm /home
Готово.
Уменьшить home, увеличить swap
План действий:
- уменьшить файловую систему home до 400 гб
- уменьшить home logical volume до 400 гб
- увеличить logical volume swap на 100% освободившегося места.
- увеличить файловую систему swap на 100% освободившегося места.
Начинаем с /dev/vg_arch/home:
# e2fsck -f /dev/vg_arch/home
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg_arch/home: 869974/28696576 files (0.3% non-contiguous), 49206901/114755584 blocks
Уменьшаем размер до 400 гб:
# resize2fs /dev/vg_arch/home 400G
resize2fs 1.43.4 (31-Jan-2017)
Resizing the filesystem on /dev/vg_arch/home to 104857600 (4k) blocks.
The filesystem on /dev/vg_arch/home is now 104857600 (4k) blocks long.
Уменьшаем размер LV до 400 гб:
# lvreduce -L 400G /dev/vg_arch/home
WARNING: Reducing active logical volume to 400.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg_arch/home? [y/n]: y
Size of logical volume vg_arch/home changed from 437.76 GiB (112066 extents) to 400.00 GiB (102400 extents).
Logical volume vg_arch/home successfully resized.
Монтируем, проверяем:
Всё на месте. Переходим к root:
# e2fsck -f /dev/vg_arch/root
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
/lost+found not found. Create<y>? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg_arch/root: ***** FILE SYSTEM WAS MODIFIED *****
Увеличиваем LV на 100%:
# lvextend -l +100%FREE /dev/vg_arch/root
Size of logical volume vg_arch/root changed from 10.00 GiB (2560 extents) to 47.76 GiB (12226 extents).
Logical volume vg_arch/root successfully resized.
Проверяем:
# lvdisplay /dev/vg_arch/root
--- Logical volume ---
LV Path /dev/vg_arch/root
LV Name root
VG Name vg_arch
LV UUID hOB0M9-dFy4-C0wI-Brwe-faqp-5wZr-tzkQFk
LV Write Access read/write
LV Creation host, time archiso, 2016-12-21 09:29:33 +0000
LV Status available
open 0
LV Size 47.76 GiB
Увеличиваем ФС root на 100%. Для этого не надо указывать размер в команде resize2fs
# resize2fs -p /dev/vg_arch/root
resize2fs 1.43.4 (31-Jan-2017)
Resizing the filesystem on /dev/vg_arch/root to 12519424 (4k) blocks.
Begin pass 1 (max = 303)
Extending the inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/vg_arch/root is now 12519424 (4k) blocks long.
Демонтируем home, монтируем root, проверяем:
Перезагружаемся, проверяем:
Готово.
Опубликовано: 21.01.2021