答案1
该问题的原因是 mfs 服务器上的 RAM,它开始使用 50% 的交换,当我增加 RAM 时,一切都开始按预期工作,但块服务器上仍然存在高 iowait,我想我们应该从 jbod 转移到某种 raid。
答案2
关于 JBOD,moosefs.com 网站说明如下(在“最佳实践”中):(https://moosefs.com/documentation/best-practices.html#jbod)
用于 Chunkserver 的 JBOD 和 XFS
我们建议连接到 Chunkserver(s) JBOD。只需将驱动器格式化为 XFS 并挂载,
/mnt/chunk01, /mnt/chunk02, ...
然后将这些路径放入/etc/mfs/mfschunkserver.cfg
即可。就这样。我们推荐这样的配置主要有两个原因:
MooseFS 具有检查硬盘是否处于良好状态的机制。MooseFS 可以发现损坏的磁盘,复制数据并将这些磁盘标记为损坏。RAID 的情况有所不同:MooseFS 算法不适用于 RAID,因此损坏的 RAID 阵列可能会被错误地报告为健康/正常。
另一个方面是复制时间。假设您将整个 MooseFS 实例的目标设置为 2。如果一个 2 TiB 驱动器损坏,复制(从另一个副本)将持续约 40-60 分钟。如果一个大 RAID(例如 36 TiB)损坏,复制甚至可以持续 12-18 小时。在复制过程完成之前,您的部分数据处于危险之中,因为您只有一个有效副本。如果在此期间另一个磁盘或 RAID 发生故障,您的部分数据可能会不可挽回地丢失。因此,较长的复制期会使您的数据面临更大的危险。