Ubuntu Server mdadm drbd ocfs2 kvm 在大量文件读取时挂起

Ubuntu Server mdadm drbd ocfs2 kvm 在大量文件读取时挂起

我部署了四台 ubuntu 10.04 服务器。它们以集群方式两两连接。两侧都有软件 raid1 磁盘、drbd8 和 OCFS2,顶部还有一些使用 qcow2 磁盘运行的 kvm 机器。

我遵循了这一点:关联

corosync 仅用于 DRBD 和 OCFS,kvm 机器“手动”运行

运行时一切正常:性能良好,I/O 良好,但在给定时间,两个集群中的一个开始挂起。然后我们尝试只打开一台服务器,它还是挂起。当其中一个虚拟机发生大量读取时,即在 rsyn 备份期间,似乎会发生这种情况。当事实发生时,虚拟机不再可访问,真实服务器对 ping 的响应延迟很大,但没有屏幕,也没有 ssh 可用。

我们能做的就是强制关机(按住按钮)并重新启动,当它再次打开时,中继 drbd 正在重新同步的 raid。它一直挂起,我们会看到这样的事实。

经过一周的痛苦,今天早上另一侧集群也挂了,但它有不同的主板、内存、kvm 实例。相似的是两边的 rsync 场景和 Western Digital RAID Edition 磁盘的读取。

有人能给我一些意见来解决这个问题吗?

更新:我将所有图像从 qcow2 转换为 raw,并使用 noatime 和 nodiratime 从虚拟机内部挂载文件系统。我使用 ionice 进行 rsync,但今天早上,当用户从 samba 共享读取大量文件时,它再次挂起。现在我正在将虚拟机图像从 ocfs2 移动到 ext3,但这真是失败……欢迎提出任何想法。

答案1

听起来你需要尝试另一种存储方案(尽管如果你在虚拟机中使用 RAW 预分配磁盘,你将避免一些开销,并且只有在使用快照时才真正需要 qcow2)

仅使用本地磁盘,虚拟机在没有集群的情况下可以稳定运行吗?

您是否尝试过使用 ionice 为 rsync 进程分配更高的良好级别,以便它不会破坏其他一切?

您是否使用 GFS 而不是 ocfs2 进行过测试?结果可能会更好,而且您在发布链接的指南中有一个描述

相关内容