我有一个完全标准的单硬盘 Fedora 23 桌面。双引导安装程序将 Linux 分区设置为 LVM,包含 root、swap 和 home 逻辑卷; root 和 home 都是 ext4。最近添加了额外的 4 GB 内存,我决定通过将主卷缩小 4 GB 然后将其添加到交换来扩展交换卷。一切似乎都很顺利,我的电脑运行了几天没有出现任何问题。
然而我做完上面的操作后并没有重启或者关机,然后就出现了断电的情况。当我下次启动时,由于主 ext4 卷已损坏,我进入紧急恢复模式。我尝试使用fsck
多次,但无法完全修复问题。我最终重新格式化了主卷并从最近的备份中恢复。
我的问题:
损坏是由于我搞砸了交换大小调整,还是由于调整大小后没有立即重新启动?当我将主文件系统缩小 4 GB 时,它有大约 240 GB 的可用空间,之后几天它仍然可以使用,所以我思考我没有搞砸,但那是我第一次使用 LVM。
如果我正确地执行了 LVM 操作并且问题是由于电源故障造成的,那么我是否可以发出任何 LVM 命令来刷新对硬盘驱动器的更改,或者是在更改后重新启动的唯一正确方法?
答案1
调整大小后无需运行任何操作,但即使已卸载逻辑卷上的文件系统,也不能仅调整逻辑卷的大小。您首先需要调整文件系统的大小(对于 ext4,您可以使用resize2fs
),以确保有没用过逻辑卷中可以释放的块(传输到交换区)。这通常需要进行一些计算,并且您不应将文件系统缩小到比要缩小的 LV 更少的 Gb。
为了防止计算和可能的错误,我会做以下事情。如果文件系统原本是 100Gb,而你想将其缩小 4Gb:
resize2fs /dev/mapper/vg0-home 95G
lvreduce -L 96G /dev/mapper/vg0-home
# resize to fill available space
resize2fs -p /dev/mapper/vg0-home
(vg0-home
根据自己的实际LV调整)