我想调整现有 LVM 分区的大小并将空间添加到另一个 LVM 分区。
[root@dckapstaging ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_dckapstaging-lv_root 50G 50G 0 100% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sda1 485M 91M 369M 20% /boot
/dev/mapper/vg_dckapstaging-lv_home 215G 93G 111G 46% /home
我想从;/dev/mapper/vg_dckapstaging-lv_root
扩展到另外 15 GB/dev/mapper/vg_dckapstaging-lv_home
我该怎么做?
答案1
假设您的卷组已满,并且您无法进一步扩展它,您将需要:
lv_home
使用文件系统的特定工具来缩小文件系统,例如,resize2fs
如果您使用 ext3/4。lv_home
相应地调整大小lvreduce
。- 增加
lv_root
与lvresize
. - 增加文件系统,
lv_root
使其使用 LV 中的所有额外空间。
与往常一样,首先备份数据,调整文件系统的大小始终是一件有风险的事情。
如果您碰巧使用 XFS,则lv_home
需要使用不同的方法,因为 XFS 不支持收缩。在这种情况下:
- 备份数据在
lv_home
- 减少
lv_home
(lvreduce
此时FS被破坏!) lv_home
重新创建较小大小的文件系统- 恢复数据
lv_root
按照上述步骤 3 和 4增加。
答案2
首先,你想要卸载分区有问题。启动 USB 记忆棒或类似设备。在摆弄文件系统之前,始终建议备份重要数据。
首先减少/dev/mapper/vg_dckapstaging-lv_home
.否则,调整 lv 的大小将会丢失数据。执行此操作的方法自然取决于文件系统。resize2fs
适用于 ext2/3/4 文件系统。resize2fs /dev/mapper/vg_dckapstaging-lv_home 200G
缩小文件系统后,运行lvresize -L -15G /dev/mapper/vg_dckapstaging-lv_home
以释放 15GB 并lvresize -L +15G /dev/mapper/vg_dckapstaging-lv_root
扩大lv_root
使用 fs 调整大小工具完成。对于 ext 来说,是将resize2fs /dev/mapper/vg_dckapstaging-lv_root
其扩大到最大可用空间。
编辑:更正了一个拼写错误:分区 - >文件系统
答案3
这是一个有风险的操作
你应该尝试清理
/
(看看/var/log
/var/spool
并删除旧的大文件)继续进行的理论方法包括
fsck -F /dev/mapper/vg_dckapstaging-lv_home lvresize --size -15G /dev/mapper/vg_dckapstaging-lv_home resize2fs /home lvresize --size +15G /dev/mapper/vg_dckapstaging-lv_root resize2fs /
免责声明
3.1.请务必有有效的备份!
3.2.如果这是一个生产系统,请先尝试测试一下。