在 EXT4 linux 系统上模拟丢失的超级块错误

jdc*_*sey 6 linux lvm kvm-virtualization

我正在尝试为一位朋友写参考资料,他每年都会停电几次,这会影响他们的 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 来宾上模拟这种情况(即无需设置机器然后将电源线拔出)?

Wes*_*ley 2

确保删除所有超级块,包括备份超级块

dumpe2fs /dev/path_to_your_volume | grep -i superblock

从那里,你可以像许多修补玩具一样踢掉所有的超级方块。