KVM 主机与存储失去连接

KVM 主机与存储失去连接

我非常希望得到一些关于如何解决这个问题的建议。我有一个 Debian KVM-Host,上面运行着 9 个 Debian VMS。虚拟机通过 iSCSI 在我的小型存储上运行。

现在,我的交换机暂时断电,主机与存储之间的连接也随之中断。现在我的主机上满是 VMS,它们处于暂停模式,因为它们无法处理这种突然中断。

我感觉我可能已经损坏了我所有虚拟机的磁盘。有人知道虚拟机是否还有恢复的希望吗?

编辑:我通过保存虚拟机的状态并重新启动主机,重新激活了与 iSCSI 目标的连接。磁盘上的操作系统仍然崩溃。您是否知道硬重启是否安全,或者是否有其他方法可以解决该状态?它们都使用 EXT4 格式化。

答案1

现代操作系统和文件系统对损坏的抵御能力更强,MySQL 也是如此(尤其是与 InnoDB 表一起使用时)。

基本上,任何使用语义写入磁盘的内容sync/fsync都应该是崩溃安全的,因为写入操作只有在数据处于稳定存储中时才会返回。此外,InnoDB 使用内部日志来确保不会写入部分记录。

简而言之,虽然有时会发生少量数据丢失,但如果现代(2.6.33+)Linux 安装在崩溃后变得完全错误,我会感到非常惊讶。

答案2

Qemu 的设计使虚拟机在发生 io 错误时暂停,这样您就可以避免磁盘损坏。您所要做的就是恢复 iscsi 连接并运行/取消暂停虚拟机

答案3

编辑:即使交换机恢复供电并且存储可用,虚拟机仍然处于无响应的崩溃状态。它们对任何输入都没有反应,迫使我逐个进行硬重置,依靠文件系统日志来修复损坏。我很幸运它起作用了,没有出现任何问题。

据我所知,我很幸运,因为 fsck 只删除/修复了错误的引用,而不考虑数据完整性。MySQL 服务器似乎运行良好,但如果一切正常,那就是另一个问题了。我希望得到一些关于如何更好地处理这个问题的评论(除了集群、更频繁地备份和类似的预防措施)。

相关内容