Есть у нас GNU/Linux-машина, на ней есть диск. Можно ли этот диск представить в виде двух виртуальных дисков, причем так, чтобы приоритет доступа диску одного виртуального диска был выше, чем у другого?
«Зачем тебе это нужно?» - спросите вы в слух, а про себя подумаете: «Грязный извращенец!». Дело в том, что mongodb последовательно и постоянно пишет в журнал и раз в минуту fsync-ает data-файлы, генерируя много random IO. При большой нагрузке (в моем случае 1K tps), fsync забивает запросами диск так, что даже журнал начинает тормозить и все падает. При этом, если смотреть не на две секунды fsync-a, а на производительность в целом, то ее запас велик. Две секунды диск работает на пределе, остальные 58 секунд практически не занят. Хочется, чтобы fsync data-файлов был менее приоритетен, чем запись в журнал.