У меня Cloud Linux Serwer с LVM с двумя дисками (40 + 50). На сегодняшний день мне не нужен второй диск, и я хотел бы отключить его, сохранив LVM на будущее.
# vgdisplay
--- Volume group ---
VG Name system
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 20
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 89.75 GiB
PE Size 4.00 MiB
Total PE 22977
Alloc PE / Size 22977 / 89.75 GiB
Free PE / Size 0 / 0
VG UUID QkkfoN-Ftor-suCL-VF4J-huV2-lhWp-9K5cMx
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/system-root ext4 88G 21G 63G 25% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
udev devtmpfs 485M 4.0K 485M 1% /dev
tmpfs tmpfs 100M 412K 99M 1% /run
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 496M 0 496M 0% /run/shm
none tmpfs 100M 0 100M 0% /run/user
/dev/vda1 ext2 236M 98M 127M 44% /boot
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 40G 0 disk
├─vda1 253:1 0 243M 0 part /boot
├─vda2 253:2 0 1K 0 part
└─vda5 253:5 0 39.8G 0 part
├─system-root (dm-0) 252:0 0 88.8G 0 lvm /
└─system-swap_1 (dm-1) 252:1 0 1G 0 lvm [SWAP]
vdb 253:16 0 50G 0 disk
└─vdb1 253:17 0 50G 0 part
└─system-root (dm-0) 252:0 0 88.8G 0 lvm /
# pvdisplay --maps
--- Physical volume ---
PV Name /dev/vda5
VG Name system
PV Size 39.76 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 10178
Free PE 0
Allocated PE 10178
PV UUID aUQpTn-xi1T-ygwu-emIh-I2CT-w2tp-cRUNjl
--- Physical Segments ---
Physical extent 0 to 9921:
Logical volume /dev/system/root
Logical extents 0 to 9921
Physical extent 9922 to 10177:
Logical volume /dev/system/swap_1
Logical extents 0 to 255
--- Physical volume ---
PV Name /dev/vdb1
VG Name system
PV Size 50.00 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 12799
Free PE 0
Allocated PE 12799
PV UUID 5IbHi7-bS0j-ZDEQ-pPfY-BGW4-PAk0-pEV8VH
--- Physical Segments ---
Physical extent 0 to 12798:
Logical volume /dev/system/root
Logical extents 9922 to 22720
А теперь, если он хочет использовать команду lvresize
# lvresize --size -50G /dev/mapper/system-root
WARNING: Reducing active and open logical volume to 38.75 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Система предупреждает меня о потере данных. Как уменьшить пространство, отключив диск без потери данных?
Перед уменьшением размера логического тома необходимо сжать файловую систему ext4. Вы должны размонтировать корневой раздел, чтобы уменьшить файловую систему, вам нужно загрузить сервер с USB / DVD Linux iso и выполнить режим восстановления.
Пример: https://www.thegeekdiary.com/centos-rhel-how-to-shrink-lvm-root-file-system/
Из ссылка, предложенная NoNoNo выше, resize2fs
+ lvreduce
команды могут быть выполнены в одном лайнере, что, на мой взгляд, лучше всего. Тем более, что lvreduce
иначе выплюнет действительно плохое предупреждение.
ПЕРЕД ПРИМЕНЕНИЕМ ДАННЫХ ИНСТРУКЦИЙ УБЕДИТЕСЬ, ЧТО СОХРАНИЛИ ВАМ ВАЖНЫЕ ДАННЫЕ.
Инструкции можно продолжить, чтобы:
загрузка с live CD / DVD (Linux или GParted Live)
убедитесь, что ваш корневой раздел не смонтирован
umount /dev/[partition-name]
убедитесь, что LVM включен (возможно, не требуется, по крайней мере, в GParted Live)
vgchange -ay
убирать
e2fsck -f /dev/[volumegou]/[logicalvolume]
Повторяйте до тех пор, пока не перестанут возникать ошибки, чтобы повысить вероятность того, что при изменении размера файловой системы все будет работать должным образом.
уменьшить раздел
lvresize --resizefs -L [newlvsize] /dev/[volumegroup]/[logicalvolume]
Из-за --resizefs
то lvresize
займет много времени (при условии, что у вас большой раздел, мой 1,8 ТБ потребовалось около 5 часов, чтобы уменьшить его до 1,1 ТБ). Вы должны получать отзывы в своей консоли.
Примечание. Среда LVM предлагает три команды для изменения размера: lvresize
, lvreduce
, и lvextend
. Изменение размера позволяет изменять размер (больше или меньше), уменьшение допускает только меньшие размеры (т.е. не более X ГБ), а расширение допускает только большие размеры (т.е. не менее X ГБ).