我真的很感激一些build议如何解决这个问题。 我有一个运行9个Debian VMS的Debian KVM-Host。 虚拟机通过iSCSI在我的小存储上运行。
现在,我的交换机暂时断电,连接断开,从主机到存储。 现在,我有一台主机处于暂停模式,因为它们无法处理突然中断。
我有一种感觉,我可能已经损坏了我的所有虚拟机的磁盘。 你们有没有人知道虚拟机是否还有希望恢复?
编辑:通过保存虚拟机的状态并重新启动主机,我再次连接到iSCSI目标。 磁盘上的操作系统仍然崩溃。 你知道如果是保存硬盘重新启动,或者有其他方式来解决这个状态? 它们都是用EXT4格式化的。
现代操作系统和文件系统对腐败的适应性要强大得多,对于MySQL来说也是如此(特别是在与InnoDB表一起使用时)。
基本上,使用sync/fsync语义写入磁盘的任何内容都应该是安全的,因为在数据稳定存储之前写操作不会返回。 而且,InnoDB使用内部日志来确保没有写入任何部分logging。
简而言之,虽然轻微的数据丢失有时可能发生,但如果现代(2.6.33以上)的Linux安装在崩溃后完全错误,我将感到非常惊讶。
Qemu通过devise让虚拟机暂停io错误,以避免损坏的磁盘。 您只需要恢复iscsi连接并运行/取消暂停虚拟机
编辑:即使交换机再次通电,存储可用,虚拟机仍处于无响应的崩溃状态。 他们没有任何反应,强迫我一个接一个的进行硬重置,依靠文件系统日志来修复损坏。 我很幸运,它工作,没有什么borked。
据我所知,我很幸运,因为fsck只是删除/修复错误的引用,而没有保持数据的完整性。 MySQL服务器似乎工作正常,但如果一切仍然到位,那是另一个问题。 我会很欣赏一些关于如何更好地处理这个问题的评论(除了集群,更频繁的备份和类似的操作)。