我正在尝试为一位朋友编写参考资料,他每年都会遇到几次停电,这会影响他们的 Linux 服务器。此人不熟悉 Linux 系统管理,因此我想提供屏幕截图以及对预期结果和应对方法的相当全面的描述。
最常见的问题之一(每年出现几次;他们位于雷电多发地区)是如何从根文件系统中损坏或丢失的超级块中恢复。
我有关于如何修复该问题的文档,但前提是您对 Linux 和基于控制台的系统管理有一定的了解。我想要做的是在我的服务器上设置一个 KVM,故意让根文件系统崩溃,并截取初始发现的屏幕截图以及恢复步骤。
我似乎无法触发丢失/损坏的超级块问题。我一直在尝试以下方法:
(/dev/sda2 是根 LVM 分区所在的位置) dd if=/dev/zero of=/dev/sda2 bs=1024 count=1 seek=1
(/dev/mapper/vg_sys-lv_root 是根 LVM 分区) dd if=/dev/zero of=/dev/mapper/vg_sys-lv_root bs=4096 count=1
这两种方法都不起作用;它们似乎都会造成混乱,但与普通的缺失/损坏的超级块的方式截然不同。
有没有办法在 KVM 客户机上模拟这种情况(即无需设置机器然后拔掉电源线)?
答案1
确保删除所有超级块,包括备份超级块
dumpe2fs /dev/path_to_your_volume | grep -i superblock
从那里你可以踢全部超级街区就像许多玩具一样倒塌了。