inonice не работает должным образом в xen dom0
У меня есть Xen Dom0 (3.2) с кучей домиков (паравирт). VBD DomU находятся на локальных томах LVM. Теперь я хочу получить резервные копии томов LVM с помощью снимков. Я использую rsync ioniced для простоя (ionice -c3).
Я проверил, что процессы rsync действительно находятся в режиме ожидания и blkback
Потоки ядра находятся на лучшем уровне (-c2 -n4).
Как я понимаю, система планирования ввода-вывода, так настроенный процесс rsync никогда не сможет украсть пропускную способность ввода-вывода из blkback
процессы и, следовательно, влияние на дом должно быть нулевым.
Но это не то, что я вижу. В домах vmstat
показывает до 20% ожидания ввода-вывода при работе с rsync filelist и около 10% при передаче данных rsync:
r b swpd free buff cache si so bi bo in cs us sy id wa
1 3 456 48468 103004 1550936 0 0 75 484 2112 1741 3 0 81 16
Без запуска rsync ожидание ввода-вывода составляет около 1%:
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 456 43876 105564 1553224 0 0 19 365 2063 1718 4 0 95 1
dom0 показывает стабильное ожидание ввода-вывода 11% при работе с rsync и списком файлов 5% при передаче данных:
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 23536 220220 73256 558856 0 0 1471 239 5271 310 0 0 89 11
Итак, кто-нибудь имеет представление о том, что здесь происходит? Ionice просто сломан или я ожидаю неправильных эффектов?
Спасибо за любую подсказку.
Тим
1 ответ
Какой дистрибутив вы используете?
Какую файловую систему вы используете?
Какой планировщик ввода / вывода (CFQ, крайний срок, упреждающий, noop) вы используете?
Во время тяжелых файловых операций ожидание ввода-вывода 0% не является разумным ожиданием. Будут некоторые ожидания ввода-вывода с вращающимися дисками, несмотря ни на что. Некоторые файловые системы немного уменьшают этот эффект, иногда может помочь настройка или изменение планировщика ввода / вывода, иногда вам просто придется немного подождать с вводом / выводом. Около 10-20% - это НЕ ЭТО много, если вы не заметите это как резкое замедление работы вашего сервера. В случае резкого замедления вы можете получить подсказку о том, что происходит с такими инструментами, как btrace
, который показывает отдельные запросы ввода-вывода, их состояние и общую статистику планировщика ввода-вывода / блочного устройства.