4 окт. 2011 г.

HP LJ Pro M1132 и mdadm - две проблемы по цене одной.

"Сегодня мы многое поняли..." (с) Стэн Марш
Во-первых, для принтера HP LJ Pro M1132 замечательно подходит драйвер foo2xqx с ppd-файлом от HP LJ M1120. В случае локального usb-подключения необходимости в этой альтернативе нет (да и сканер с ним не подцепится), лучше и правильнее использовать комплект hplip версии 3.10.4 и свежее (согласно этой странице). Но с расшаренными по smb устройствами hplip не работает (для подключения hplip-принтера в CUPS используется путь вида hp://, а при smb:// бакенд, вызываемый ppd-файлом, с треском падает), поэтому приходится искать обходные пути.
Во-вторых, после развала mdadm-массива (RAID1), в случае возникновения ошибки вида md0: no devices found после его восстановления и пересборки, следует обновить ваш initrd командой update-initramfs -t -u. Таким образом полностью методология действий у меня вышла такая (в случае замены сбойного диска, в иных случаях некоторые пункты могут быть опущены):
- узнать, который из дисков отпал (у здорового состояние active sync):
# mdadm --detail /dev/md0
- отломать сбойный диск:
# mdadm /dev/md0 --fail /dev/sdb1
# mdadm /dev/md0 --remove /dev/sdb1
- заменить hdd (пусть новый встал в тот же слот - буква не меняется), добавить новый диск в массив:
# mdadm /dev/md0 --add /dev/sdb1
- наблюдать за процессом сборки:
# mdadm --detail /dev/md0
# cat /proc/mdstat
- обновить initramfs:
# update-initramfs -t -u
Дополнительно стоит отметить, что в случае загрузки с livecd для работы с массивом его нужно собрать (так как init-система ливника знать о нем не может). Для этого нужно:
- собрать информацию о массиве в конфиг:
# mdadm --examine --scan --config=mdadm.conf > /etc/mdadm/mdadm.conf
(если не ошибаюсь, mdadm --detail --scan > /etc/mdadm/mdadm.conf ведет себя аналогично)
- собрать и запустить массив:
# mdadm --assemble --scan
или, если есть необходимость, явно перечислить, что и куда собирается: 
# mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1
Конечно, сами разделы должны понимать, что они raid-разделы (то есть иметь md superblock):
# mdadm --detail /dev/sda1
Оговорюсь, что покурить документацию по mdadm (начиная от man-страницы, заканчивая материалами в Сети) очень стоит, потому что одной неверной командой массив можно запросто убить без возможности восстановления данных на нем. Все перечисленные команды ни в коем случае не являются панацеей, бездумный их ввод может не облегчить ваши страдания, а много-много усложнить жизнь. И я буду не виноват. 
В остальном же - надеюсь, что кого-то изложенные мысли натолкнут на решение собственной проблемы.