大家好,

这周迁移基本停滞,因为我们发现 lxc 中的 rootfs 读写速度非常慢。I/O
latency 一直在 1s 左右,最差的时候会达到 7s.

肖骐做了一轮测试,发现在 xen 的 dom0 上(没有 I/O overhead) 硬盘 sda 的
速度也低于 30MB/s.

最初樊栖江严重怀疑是 btrfs 的问题,徐亮最早也引述过 btrfs fsync 特别慢的
观察。续本达以为这是由 copy-on-write 所致,但是在把频繁更新的文件如rrd数
据库都设为 nocow 之后,latency 没有丝毫改观。

我们把 rrd 数据库放在了 sdc 的 ext4 分区上时,读写速度很快。为了确认它确
实是 btrfs 的问题,我们又在 sda 上建了一个 ext4 分区,但测试结果却是:比
btrfs 还慢。

续本达开始认真怀疑是硬盘的问题,于是我们开始集中在 dom0 上做测试。

把 sdc 上的 ext4 分区挂在 dom0 上,dd 测写入速度,与 sda 的 ext4 和
btrfs 比较。结果都是,速度只与硬盘有关,与分区格式无关。

随后我们查了 sda 的 SMART 记录,发现了很高的 Seek Error Rate ,大约在千分
之一左右。这是导致 sda 写入慢的直接原因。同时,两轮 SMART selftest,sda
并未报错。

接下来的问题是,为什么新硬盘会有这么高的 Seek Error Rate.

在这一点上我们出现了分歧:

续本达觉得硬盘质量有问题,没必要再软件测试了。唯一可以排查的是到机房看一
下数据线的连接以及主板的接口。但是 Seek Error 一般跟硬盘的伺服电机有关,
不大可能是传输线或主板接口的问题。不过既然是新的,那么最简单的解决方法是
返厂。

肖骐觉得 btrfs 的某种未被发现的写入规则让 sda 不堪重负,提前坏了,或者频
繁寻道诱导出 Seek Error。需要进一步测试验证 btrfs 与 Seek Error 的关联。
但是这几天他各方面任务很重,测试暂放下了。

----

最后在假设返厂的前提下,我提出一个具体返厂的方案:

1. 再买一块 seagate 3T 的硬盘作 rootfs。樊栖江已经指出现在的 10几T 硬盘不够用,那
   么就再买一块吧。

   或者买一块小一点但更可靠,速度更快的硬盘作 rootfs? 上 SSD?

   或者谁有闲置的 SATA/SAS 硬盘贡献出来?

2. 装上新硬盘,把 sda 全盘复制过来。

3. 拆下 sda ,向陈渝汇报并返厂。返厂后的硬盘为仓库所用。

这个方案缺人,跑几次机房可能总共要花一整天的时间,请同学们给力举手出面主
持工作。

-- 

--- 
您收到此邮件是因为您订阅了 Google 网上论坛的“TUNA 主邮件列表”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 [email protected]。
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。

回复