我有带 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.)
系统警告我数据丢失。如何通过断开磁盘来减少空间而不丢失数据?
答案1
您必须先缩小 ext4 文件系统才能减小逻辑卷大小。您必须卸载根分区,因此为了缩小文件系统,您必须使用 USB/DVD Linux iso 启动服务器并执行救援模式。
例子:https://www.thegeekdiary.com/centos-rhel-how-to-shrink-lvm-root-file-system/
答案2
从NoNoNo 提供的链接上面,resize2fs
+lvreduce
命令可以在一行中完成,我认为这是最好的。特别是因为lvreduce
否则会吐出非常糟糕的警告。
在运行这些指令之前,请确保备份重要数据。
该指令可以恢复为:
在实时 CD/DVD 上启动(Linux 或 GParted Live)
确保你的根分区没有被挂载
umount /dev/[partition-name]
确保 LVM 已启动(可能不是必需的,至少在 GParted Live 上)
vgchange -ay
清理
e2fsck -f /dev/[volumegroup]/[logicalvolume]
重复此操作,直到不再发生错误,以增加调整文件系统大小时一切按预期进行的机会。
减少分区
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)。