我试图了解我在 中看到的内容iostat
,特别是 md 和 sd 设备的输出之间的差异。
我有几台相当大的 Centos Linux 服务器,每台都配有 E3-1230 CPU、16 GB RAM 和 4 个 2TB SATA 磁盘驱动器。大多数是JBOD,但有一种配置为软件RAID 1+0。这些服务器的类型和负载量非常相似,但%util
我在软件突袭中得到的数字iostat
比其他服务器高得多,我试图理解为什么。所有服务器的 CPU 空闲率通常为 80-90%。
iostat
在没有 RAID 的服务器上的示例:
平均 CPU:%user %nice %system %iowait %steal %idle 9.26 0.19 1.15 2.55 0.00 86.84 设备:rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz 等待 svctm %util 深发展 2.48 9.45 10.45 13.08 1977.55 1494.06 147.50 2.37 100.61 3.86 9.08 南达科他州 4.38 24.11 13.25 20.69 1526.18 1289.87 82.97 1.40 41.14 3.94 13.36 标准差 0.06 1.28 1.43 2.50 324.67 587.49 232.32 0.45 113.73 2.77 1.09 标准差 0.28 1.06 1.33 0.97 100.89 61.63 70.45 0.06 27.14 2.46 0.57 dm-0 0.00 0.00 0.17 0.24 4.49 1.96 15.96 0.01 18.09 3.38 0.14 dm-1 0.00 0.00 0.09 0.12 0.74 0.99 8.00 0.00 4.65 0.36 0.01 dm-2 0.00 0.00 1.49 3.34 324.67 587.49 188.75 0.45 93.64 2.25 1.09 dm-3 0.00 0.00 17.73 42.82 1526.17 1289.87 46.50 0.35 5.72 2.21 13.36 dm-4 0.00 0.00 0.11 0.03 0.88 0.79 12.17 0.00 19.48 0.87 0.01 dm-5 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 1.17 1.17 0.00 DM-6 0.00 0.00 12.87 20.44 1976.66 1493.27 104.17 2.77 83.01 2.73 9.08 dm-7 0.00 0.00 1.36 1.58 95.65 58.68 52.52 0.09 29.20 1.55 0.46
iostat
在具有 RAID 1+0 的服务器上的示例:
平均 CPU:%user %nice %system %iowait %steal %idle 7.55 0.25 1.01 3.35 0.00 87.84 设备:rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz 等待 svctm %util 深发展 42.21 31.78 18.47 59.18 8202.18 2040.94 131.91 2.07 26.65 4.02 31.20 南达科他州 44.93 27.92 18.96 55.88 8570.70 1978.15 140.94 2.21 29.48 4.60 34.45 平均海平面上升 45.75 28.69 14.52 55.10 8093.17 1978.16 144.66 0.21 2.95 3.94 27.42 特殊数据 45.05 32.59 18.22 58.37 8471.04 2040.93 137.24 1.57 20.56 5.04 38.59 md1 0.00 0.00 18.17 162.73 3898.45 4013.90 43.74 0.00 0.00 0.00 0.00 MD0 0.00 0.00 0.00 0.00 0.00 0.00 4.89 0.00 0.00 0.00 0.00 dm-0 0.00 0.00 0.07 0.26 3.30 2.13 16.85 0.04 135.54 73.73 2.38 dm-1 0.00 0.00 0.25 0.22 2.04 1.79 8.00 0.24 500.99 11.64 0.56 dm-2 0.00 0.00 15.55 150.63 2136.73 1712.31 23.16 1.77 10.66 2.93 48.76 dm-3 0.00 0.00 2.31 2.37 1756.39 2297.67 867.42 2.30 492.30 13.08 6.11
所以我的问题是:
%util
1)为什么带RAID的服务器与不带RAID的服务器相比会有如此高的性能。
2) 在非 RAID 服务器上,%util
组合的物理设备 (sd*) 与组合的 LVM 设备 (dm-*) 或多或少相同。为什么 RAID 服务器不是这样?
3) 为什么看起来软件 RAID 设备 (md*) 实际上是空闲的,而底层物理设备 (sd*) 却很忙?我的第一个想法是这可能是由 RAID 检查引起的,但/proc/mdadm
显示一切正常。
编辑:抱歉,我认为问题很清楚,但似乎有些混乱。显然,问题不在于%util
一台服务器上的驱动器之间的差异,而在于为什么一台服务器上的总/平均值%util
与另一台服务器上的总/平均值如此不同。希望澄清任何误解。
答案1
非RAID
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
dm-3 0.00 0.00 17.73 42.82 1526.17 1289.87 46.50 0.35 5.72 2.21 13.36
袭击
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
dm-2 0.00 0.00 15.55 150.63 2136.73 1712.31 23.16 1.77 10.66 2.93 48.76
avgrq-sz
越低,w/s
则越高。这显示了大量较小的 I/O 请求。因此,I/O 可能更加“随机”。更多磁盘寻道 = 更慢的 I/O。