我们的服务器遇到了磁盘响应非常慢的问题。我检查了 iostat( iostat -d -x 30
),发现它的解释有些问题:
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 1.04 396.31 6.60 57.44 382.47 3649.21 62.95 10.31 160.87 8.64 55.36
sda 6.26 391.15 16.16 62.75 1810.79 3649.22 69.19 2.97 37.66 1.79 14.13
md0 0.00 0.00 0.55 0.01 16.88 0.08 30.11 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.02 0.07 1.10 0.54 18.31 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.02 0.04 0.13 0.34 8.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 29.48 453.28 2175.15 3643.46 12.05 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 56.15 0.70 81.34 12.00 1110.03 13.68 47.56 600.17 5.23 42.89
sda 0.00 51.02 0.47 81.37 4.53 1059.38 13.00 0.32 3.95 0.69 5.64
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 1.17 47.45 16.53 379.61 8.15 0.00 0.00 0.00 0.00
第一个是初始(历史)统计数据iostat
显示,第二个是 30 秒后的统计数据显示。
为什么await
比sdb
更高sda
?好吧,因为svctm
也更高(svctm
是 的一部分await
,但也影响队列长度)。但是,如果镜像中有 ,为什么呢?它们都是完全相同的磁盘,smartctl 不会报告任何问题或显著的计数器差异:
圣达菲:
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 145 145 021 Pre-fail Always - 9716
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 71
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 080 080 000 Old_age Always - 14623
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 69
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 68
193 Load_Cycle_Count 0x0032 113 113 000 Old_age Always - 262965
194 Temperature_Celsius 0x0022 126 114 000 Old_age Always - 26
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0
深发展:
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 145 145 021 Pre-fail Always - 9708
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 67
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 080 080 000 Old_age Always - 14622
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 65
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 63
193 Load_Cycle_Count 0x0032 113 113 000 Old_age Always - 261839
194 Temperature_Celsius 0x0022 128 115 000 Old_age Always - 24
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0
/etc/fstab
:
proc /proc proc defaults 0 0
/dev/md0 / ext3 relatime,errors=remount-ro 0 1
/dev/md1 /var ext3 relatime 0 2
/dev/md2 none swap sw 0 0
/dev/md3 /vz ext3 relatime 0 3
/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
在高负载下进行一些测量iostat -d -x 2
(每两秒一次)。您可以看到两个磁盘的队列和等待时间都更长,但 sda 成功减少了这一点,而 sdb 的等待时间仍然更长。这很奇怪,因为磁盘是相同的,并且是 RAID-1(镜像)。
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 0.00 0.00 6.00 0.00 6144.00 1024.00 21.40 4545.00 166.67 100.00
sda 0.00 0.00 2.00 1.00 16.00 8.00 8.00 0.49 390.00 75.33 22.60
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 1.50 0.50 12.00 4.00 8.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 1405.00 0.50 23.00 4.00 10632.00 452.60 18.96 1889.62 41.62 97.80
sda 0.50 1401.50 1.50 37.50 120.00 11512.00 298.26 4.29 110.00 3.13 12.20
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 2.50 1439.00 124.00 11512.00 8.07 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 1995.50 0.00 29.00 0.00 5304.00 182.90 13.64 873.31 34.34 99.60
sda 0.50 1986.50 6.50 28.50 512.00 1664.00 62.17 0.57 7.14 1.89 6.60
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 7.00 2046.00 512.00 16368.00 8.22 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 930.00 0.00 18.50 0.00 1192.00 64.43 92.52 859.68 54.05 100.00
sda 0.00 928.50 0.00 35.50 0.00 18192.00 512.45 51.52 701.97 28.17 100.00
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 0.00 946.50 0.00 7572.00 8.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 0.00 0.00 16.00 0.00 8976.00 561.00 56.14 2710.38 62.50 100.00
sda 0.00 0.00 0.00 13.50 0.00 4084.00 302.52 6.26 2457.63 47.56 64.20
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 0.00 0.00 10.00 0.00 10240.00 1024.00 33.75 4877.20 100.00 100.00
sda 0.00 0.00 0.50 0.00 4.00 0.00 8.00 0.01 16.00 16.00 0.80
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 0.50 0.00 4.00 0.00 8.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 3245.50 1.50 31.50 208.00 12756.00 392.85 64.57 2644.30 30.24 99.80
sda 0.00 3245.00 2.00 60.50 108.00 26444.00 424.83 17.03 272.42 4.61 28.80
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 3.50 3305.50 316.00 26444.00 8.09 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 0.00 0.00 8.00 0.00 8192.00 1024.00 74.48 2241.50 125.00 100.00
sda 0.00 0.00 0.00 1.00 0.00 8.00 8.00 0.00 0.00 0.00 0.00
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 0.00 1.00 0.00 8.00 8.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 3.00 0.00 22.50 0.00 5192.00 230.76 58.21 3204.18 44.44 100.00
sda 0.00 3.00 3.50 6.50 48.00 76.00 12.40 0.09 8.00 5.60 5.60
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 4.00 10.00 52.00 80.00 9.43 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.50 4098.50 1.50 31.50 324.00 4160.00 135.88 78.08 3401.39 30.24 99.80
sda 0.50 4084.00 2.00 32.00 216.00 8200.00 247.53 57.79 27.53 15.35 52.20
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 4.00 4173.00 536.00 33384.00 8.12 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 0.00 0.00 20.50 0.00 9228.00 450.15 97.71 1776.78 48.78 100.00
sda 0.00 0.00 0.00 32.00 0.00 13536.00 423.00 72.55 1675.31 31.25 100.00
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 0.00 0.00 13.00 0.00 7220.00 555.38 67.20 3830.46 76.92 100.00
sda 0.00 0.00 0.00 25.50 0.00 11652.00 456.94 38.91 4491.14 39.22 100.00
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 0.50 0.50 4.00 4.00 8.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 0.00 0.00 11.00 0.00 5548.00 504.36 50.62 6367.45 90.91 100.00
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.37 0.00 0.00 100.00
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 0.00 0.00 7.50 0.00 6648.00 886.40 28.48 7513.07 133.33 100.00
sda 0.00 0.00 1.50 3.50 12.00 28.00 8.00 0.24 560.80 20.80 10.40
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 1.50 2.00 12.00 16.00 8.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb 0.00 0.00 0.00 10.00 0.00 4036.00 403.60 12.15 9193.00 100.00 100.00
sda 0.00 0.00 1.00 0.50 8.00 4.00 8.00 0.02 14.67 14.67 2.20
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 1.00 0.50 8.00 4.00 8.00 0.00 0.00 0.00 0.00
答案1
有一个选项-W
,--write-mostly
其描述与您获得的非常相似:“...
这仅对 RAID1 有效,意味着“md”驱动程序将尽可能避免从这些设备读取数据。如果通过慢速链接进行镜像,这将非常有用。
…”—男子mdadm
检查一下。这可能是问题所在。
答案2
我不确定是否真的存在问题。也许你只是对这些 iostat 结果的解读比实际的要多。我进行了一些搜索,发现 iowait 输出似乎令人困惑。
去引用http://us.generation-nt.com/answer/high-await-iostat-help-201223422.html
iowait 是 Linux 中最令人困惑的测量指标之一,因为它与 CPU 使用率无关!相反,它只是告诉你 CPU 没有其他事情要做,并且正在进行 I/O,这是你在移动文件时期望看到的。显然,你应该关心你的其他 CPU 负载指标是否很高,但这不是其中之一
您应该尝试运行或多或少真实的速度测试。试试 bonnie:http://packages.debian.org/squeeze/bonnie++ 另外查看 sysstat: http://packages.debian.org/squeeze/sysstat
并定期来回复制/移动文件。
将结果与具有类似设置的另一个系统进行比较。如果您没有发现明显的速度问题,那么实际上没有问题的可能性并不大。