我通过以下方式在我的一台机器中分配了磁盘空间。如您所见,它有两个磁盘:sda 和 sdb
根 LVM - vg01-lv_root - 大小为 445.6G ( sda )
主 LVM - vg02-lv_home - 大小为 893.7G (sdb)
我想从 Root LVM 中删除 : 400GB 并将其添加到 Home LVM
有人可以告诉我是否可能以及如何实现这一目标吗?
现在
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 893.8G 0 disk
├─sda1 8:1 0 512M 0 part /boot
└─sda2 8:2 0 893.3G 0 part
├─vg01-lv_swap (dm-0) 253:0 0 89.9G 0 lvm [SWAP]
├─vg01-lv_root (dm-1) 253:1 0 445.6G 0 lvm /
├─vg01-lv_var (dm-3) 253:3 0 178.9G 0 lvm /var
└─vg01-lv_usr (dm-4) 253:4 0 178.9G 0 lvm /usr
sdb 8:16 0 893.8G 0 disk
└─sdb1 8:17 0 893.8G 0 part
└─vg02-lv_home (dm-2) 253:2 0 893.7G 0 lvm /home
期望的
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 893.8G 0 disk
├─sda1 8:1 0 512M 0 part /boot
└─sda2 8:2 0 893.3G 0 part
├─vg01-lv_swap (dm-0) 253:0 0 89.9G 0 lvm [SWAP]
├─vg01-lv_root (dm-1) 253:1 0 45.6G 0 lvm /
├─vg01-lv_var (dm-3) 253:3 0 178.9G 0 lvm /var
└─vg01-lv_usr (dm-4) 253:4 0 178.9G 0 lvm /usr
sdb 8:16 0 893.8G 0 disk
└─sdb1 8:17 0 893.8G 0 part
└─vg02-lv_home (dm-2) 253:2 0 1293.7G 0 lvm /home
谢谢,
马诺吉·库马尔
答案1
简短回答:你不能
长答案:
要释放的数据位于另一个 vg 上的另一个磁盘内。
理论上你必须:
- 收缩文件系统
/
是通过 umounting / (在活动磁盘上启动,使用fsck
,resize2fs
)来完成的,这是最难的部分。 - 缩小逻辑卷 (
lvredure --size -400G lv_root
),您现在有 400 Gb 可用空间vg01
(可用空间更可能位于lv_root
和 之间lv_var
) - 将 vg01 的数据移动到 sda2 的底部(
pvmove --alloc x lv_var
和pvmove --alloc x lv_usr
),您必须找到 x。我不确定这是否可以做到。 - 用于
pvresize
释放 400 GB - 打破 sda 的分区以重新创建
sda2
并创建一个sda3
上面释放了 400 Gb 的空间 (fdisk
)
现在,事情变得容易了
- 创建新的物理磁盘 (
pvcreate /dev/sda3
) - 扩展 VG02 (
vgextend vg02 /dev/sda3
) - 扩展 lv_home (
lvextend +400 Gb lv_home
) - 调整 /home 的大小 (
resize2fs /home
)
如果您不理解这些步骤,请不要执行这些步骤。
步骤1.2.和3.很可能会破坏系统。
第 4 步和第 5 步有风险,但可行。
有计划的重建系统会更容易(而不是紧急情况下破坏/
)