Linux
調整 LVM 大小而不失去數據
我有帶 LVM 的 Cloud Linux Serwer 和兩個磁碟(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/[volumegroup]/[logicalvolume]
重複直到不再發生錯誤,以增加在調整文件系統大小時事情按預期工作的機會。 5. 減少分區
lvresize --resizefs -L [newlvsize] /dev/[volumegroup]/[logicalvolume]
因為這
--resizefs
需要lvresize
很長時間(假設你有一個大分區,我的 1.8Tb 需要大約 5 個小時才能減少到大約 1.1Tb)。您應該在控制台中獲得一些回饋。注意:LVM 環境提供三個命令來調整大小:
lvresize
、lvreduce
和lvextend
。resize 讓你改變大小(更大或更小),reduce 只允許更小的大小(即最多 X Gb),而 extend 只允許更大的大小(即至少 X Gb)。