У меня следующая установка:
/dev/sda
dm-0
при поддержке /dev/sda2
dm-0
dm-1
, dm-2
в вышеупомянутой группе томов в формате ext4
Что происходит, когда один процесс начинает массовую запись на логический том, все другие процессы сильно страдают от недостатка ввода-вывода - система перестает отвечать (с задержками до 30 секунд, когда задействован ввод-вывод).
Я думал, что планировщик ввода-вывода отвечает за то, чтобы этого не произошло. я вижу это sda
использует cfq
:
# cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
Но все остальные целевые устройства сопоставления устройств сообщают об отсутствии планировщика ввода-вывода:
# cat /sys/block/dm-0/queue/scheduler
none
# cat /sys/block/dm-1/queue/scheduler
none
# cat /sys/block/dm-2/queue/scheduler
none
У меня вопрос: почему нет планирования ввода-вывода для целевых устройств сопоставления устройств, могу ли я его включить или как я могу иначе заставить эту систему реагировать при большой нагрузке ввода-вывода?
Во-первых, совершенно нормально, что Устройства DM не имеют планировщика ввода-вывода, as (с некоторыми исключениями)
Что касается записанной вами низкой производительности, учтите, что ваш контроллер H310 не только не имеет кеша, но и даже отключает кэш DRAM физического диска, что означает, что ваша система не может снизить задержку с помощью кэширования.
Сочетание этого с шифрованием, где чтение-изменение-запись является обычным поведением (из-за невыровненного доступа для записи в зашифрованный контейнер), приводит к исключительно низкой производительности ввода-вывода при записи.