我的分区详细信息是这样的
/dev/mapper/VolGroup00-LogVol00
57G 8.8G 46G 17% /
/dev/mapper/VolGroup00-LogVol05
259G 7.0G 239G 3% /home
/dev/mapper/VolGroup00-LogVol02
19G 493M 18G 3% /var
/dev/mapper/VolGroup00-LogVol03
19G 458M 18G 3% /tmp
/dev/mapper/VolGroup00-LogVol04
9.5G 152M 8.9G 2% /opt
/dev/sda1 965M 33M 883M 4% /boot
tmpfs 7.7G 3.7G 4.0G 48% /dev/shm
我想通过减少 /home 分区的大小来增加 / 的大小,但不丢失 / 和 home 中的数据。
有人能帮我解决这个问题吗?
答案1
- 使用实时发行版 (lvm 支持) 启动
- 不要挂载你的 lvm 分区
- fsck LogVol00 和 LogVol05(此步骤两次)
- lvreduce -L-xG /dev/VolGroup00/LogVol05
- resize2fs -p /dev/VolGroup00/LogVol05
对 /dev/mapper/VolGroup00-LogVol00 执行相同操作,使用 lvextend 代替 lvreduce
答案2
我同意 vishaal 的回答,但他漏掉了几个步骤,以及你可以用 linux rescue 来做到这一点
- 启动进入 Linux 救援
- 跳过安装
- 运行 lvm vgchange -ay (在救援模式下,在命令前面加上 lvm)
- 使用 ls /dev/VolGroup00/ 验证操作系统的可见性
其余部分与 vishaal 描述的非常相似,但您需要使用 -f 强制执行 e2fsck,即:e2fsck -f /dev/VolGroup00/LogVol..
重要提示,在减少卷之前,请先调整文件系统的大小,因此......
- resize2fs -f /dev/VolGroup00/LogVol.. 40G(如果您希望大小正好是 40G)
- lvm lvreduce -L40G /dev/VolGroup00/LogVol..(同样,如果您希望大小正好是 40G,而不是减少 40G)
我只是对 vishaal 已经给出的建议进行补充。
答案3
对 vishaal 和 Bobby Cox 给出的流程进行细微调整:
- 调整2fs大小将 /home LV 缩小到比你真正想要的要小一点
- lvm lvreduce缩小到你真正想要的尺寸
- 调整2fs大小备份以填充 LV(不指定大小)
这样就留出了安全余地,以防万一两个命令对显式大小的解释不同(我知道lvm命令将范围四舍五入为整数;默认范围大小是如何确定的,我不确定,也不关心。
增加 LV 大小时,过程稍微简单一些:
- lvm lvextend达到你想要的尺寸
- 调整2fs大小填写
答案4
想重申一下:
缩小时,先调整 FS 大小,然后调整 LVM 大小;扩展时,先调整 LVM 大小,然后调整 FS 大小。
缩小时,您需要卸载卷。扩展时,根据您的 Linux 内核,您可以在系统安装时在线执行此操作
收缩时,备份至关重要;扩展时,备份是非常非常非常好的主意(什么时候不备份呢),但不像收缩时那么危险
除此之外,其他人都说得对