У меня есть сервер под управлением CentOS 6 с двумя твердотельными накопителями Crucial M500, настроенными в mdadm RAID1. Этот сервер также виртуализирован с помощью Xen.
Недавно я начал видеть iowait
проценты ползут в top -c
статистика нашей продукции ВМ. Я решил исследовать и запустить iostat на dom0, чтобы я мог проверить активность на физических дисках (например, / dev / sda и / dev / sdb). Я использовал эту команду: iostat -d -x 3 3
Вот пример полученного мной вывода (прокрутите вправо, чтобы %util
числа):
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.33 0.00 38.67 0.00 337.33 8.72 0.09 2.22 0.00 2.22 1.90 7.33
sdb 0.00 0.33 0.00 38.67 0.00 338.00 8.74 1.08 27.27 0.00 27.27 23.96 92.63
md2 0.00 0.00 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 1.00 0.00 8.00 8.00 0.00 0.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 0.00 0.00
md127 0.00 0.00 0.00 29.33 0.00 312.00 10.64 0.00 0.00 0.00 0.00 0.00 0.00
drbd5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
drbd3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
drbd4 0.00 0.00 0.00 8.67 0.00 77.33 8.92 2.03 230.96 0.00 230.96 26.12 22.63
dm-0 0.00 0.00 0.00 29.67 0.00 317.33 10.70 5.11 171.56 0.00 171.56 23.91 70.93
dm-1 0.00 0.00 0.00 8.67 0.00 77.33 8.92 2.03 230.96 0.00 230.96 26.12 22.63
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-6 0.00 0.00 0.00 20.00 0.00 240.00 12.00 3.03 151.55 0.00 151.55 31.33 62.67
dm-7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-9 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
К моей тревоге, я заметил значительную разницу между /dev/sda
и /dev/sdb
в await
(2 мс против 27 мс) и %util
(7% против 92%). Эти диски являются зеркалами друг друга и представляют собой один и тот же твердотельный накопитель Crucial M500, поэтому я не понимаю, как это могло быть. Нет активности на /dev/sda
этого также не должно происходить на /dev/sdb
.
Я регулярно проверял значения SMART для обоих этих дисков и заметил, что Percent_Lifetime_Used
для /dev/sda
указывает на использование 66%, в то время как /dev/sdb
сообщает о бессмысленных значениях (использовано 454%). До этого момента я не слишком беспокоился, потому что Reallocated_Event_Count
остается относительно низким для обоих приводов и не меняется быстро.
Значения SMART для / dev / sda
Значения SMART для / dev / sdb
Может быть проблема с оборудованием в нашем /dev/sdb
диск? Какие-нибудь другие возможные объяснения?
В конце концов я обнаружил, что эта система не была обрезана должным образом, а также была разделена с недостаточным избыточным выделением ресурсов (хотя Crucial M500 имеет 7% уровень 2 избыточное выделение ресурсов встроенный). Комбинация этих двух привела к тяжелому случаю запись усиления.
Более того, эта система содержит базу данных с очень высокой активностью записи, что приводит к очень большому количеству небольших случайных записей. У такого рода операций ввода-вывода есть очень плохой результат с усилением записи.
Я все еще не уверен на 100%, почему /dev/sda
работал лучше, чем /dev/sdb
в iostat - возможно, это было что-то вроде силиконовая лотерея где /dev/sda
был незначительно лучше /dev/sdb
так /dev/sdb
сначала узкое место.
Для нас два основных вывода: