Просто из любопытства у нас есть сервер RHEL с программным RAID. Существует cronjob, который время от времени запускает проверку данных рейда, чтобы проверить целостность массива. Насколько я понимаю, проверка данных будет использовать простаивающую полосу пропускания ввода-вывода, чтобы не мешать нормальной работе сервера.
Как видно из выходных данных iostat ниже, сервер практически простаивает. Почему проверка данных рейда использует только пропускную способность ввода-вывода 6 Мбит / с? Во время первоначальной сборки RAID я видел, что эти машины достигают 320 Мбит / с +. Почему при проверке данных не используются 200 МБ / с, как указано в записи журнала ядра в качестве максимальной пропускной способности?
Ниже приведен вывод журнала с момента последнего запуска проверки данных рейда:
Apr 28 01:00:01 xxxx kernel: md: data-check of RAID array md1
Apr 28 01:00:01 xxxx kernel: md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
Apr 28 01:00:01 xxxx kernel: md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for data-check.
Apr 28 01:00:01 xxxx kernel: md: using 128k window, over a total of 3824596992k.
Apr 28 01:00:07 xxxx kernel: md: delaying data-check of md0 until md1 has finished (they share one or more physical units)
Вот некоторые результаты работы / proc / mdstat, относящиеся к md1:
md1 : active raid10 sdb2[1] sda2[0] sdd2[3] sdg2[6] sdh2[7] sde2[4] sdc2[2] sdf2[5]
3824596992 blocks super 1.1 512K chunks 2 near-copies [8/8] [UUUUUUUU]
[==========>..........] check = 53.4% (2045997824/3824596992) finish=5255.6min speed=5639K/sec
bitmap: 10/29 pages [40KB], 65536KB chunk
Вывод iostat -m:
[root@xxxx ~]# iostat -m
Linux 2.6.32-358.2.1.el6.x86_64 (xxxx) 05/01/2013 _x86_64_ (32 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
2.92 0.07 0.83 1.26 0.00 94.92
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sde 35.25 1.26 0.38 1520624 456526
sdf 33.15 1.21 0.38 1461256 456526
sdb 35.49 1.24 0.38 1485991 460191
sda 36.80 1.28 0.38 1542868 460191
sdc 31.64 1.26 0.36 1519241 429095
sdd 30.00 1.21 0.36 1460629 429095
sdh 30.51 1.21 0.35 1460819 424707
sdg 31.90 1.26 0.35 1519924 424707
md0 2.72 0.01 0.01 8465 12014
md1 177.21 0.38 1.34 453189 1607605
Взгляните на / etc / sysconfig / raid-check. Это позволяет вам установить параметры ionice и nice для этой проверки. Значение по умолчанию - низкий, что дает 5 и снижает ионную мощность. Вы можете настроить это в настройках, если вам это не нравится, и вы хотите настроить его на использование большего количества ресурсов (в противном случае это будет мешать нормальной работе).
На этот вопрос много раз отвечали ... его можно установить с помощью:
echo 50000 > /proc/sys/dev/raid/speed_limit_min
и
echo 50000 > /proc/sys/dev/raid/speed_limit_max