Сегодня решил ускорить систему посредством bcache и перевести под него свой основной /home раздел под raid1. После того, как отформатировал его под backing device и скопировал на него файлы, все работало нормально, но стоило из деградированного рейда сделать полноценный из двух дисков, как начались странные вещи: процессы, жадные до IO (такие как Firefox и менеджеры создания миниатюр), начали навсегда зависать и оказывались в режиме waiting for IO. Отключить ФС, с которой они работали, невозможно. Перезагрузить систему иначе как через «reboot -n -f» — тоже. Вначале я решил, что дело в том, что весь IO потребляет синхронизация массива, но дождавшись ее завершения все осталось по-прежнему — процессы продолжили зависать.
Ситуация не зависит от того, подключен ли cache к backing device или нет, запущена синхронизация зеркала или она закончилась. В режиме деградированного массива из одного диска все работает нормально.
Ошибок в dmesg нет.
Конфигурация:
- raw disk -> mdraid1 -> bcache -> ext4
- Ядро 3.12.13-gentoo
- bcache-tools 1.0.5
- mdadm 3.2.6-r1
Вопрос: Что делать? Хочется ускорить /home без потери отказоустойчивости.