В реализация программного RAID для Linux обнаружена ошибка, которая может привести к повреждению мета-данных

Нейл Браун (Neil Brown), основной разработчик пакета mdadm и подсистемы для обеспечения работы программных RAID-массивов в Linux, опубликовал предупреждение о выявлении серьёзной ошибки в md/raid, которая может привести к обнулению важных мета-данных на дисках, входящих в программный RAID. Например, может быть очищена информация о массиве, о смещениях данных, размерах блоков и роли каждого диска в массиве. Всем пользователям рекомендуется первым делом сохранить на внешнем носителе вывод команды «mdadm -Evvvvs», для обеспечения возможности восстановления в случае проявления ошибки (для восстановления достаточно пересоздать массив через «mdadm —create» с теми же параметрами).

Проблема присутствует в ядрах Linux с 3.4-rc1 по 3.4-rc4, с 3.3.1 по 3.3.3 и с 3.2.14 по 3.2.16. В ядра некоторых дистрибутивов также был портирован код, приводящий к ошибке: в SLES11-SP2 проблеме подвержены ядра 3.0.26-0.7 и 3.0.26-0.8, в Ubuntu — с 3.2.0-22.35 по 3.2.0-24.37. Ошибка проявляется только при перезагрузке, выключении или аварийном завершении работы. В процессе штатного функционирования проблема не всплывает. Ошибка возникает в ситуации, когда в процессе завершения работы массив находится в частично собранном и остановленном состоянии, что может возникнуть, например, при использовании команд «mdadm —incremental» или «mdadm -A». В частности, опасное стечение обстоятельств может наблюдаться в Ubuntu, когда в процессе завершения работы скрипт остановки RAID массива пересечётся с работой udev-скрипта, выполняющего «mdadm —incremental».

Для исключения проявления ошибки в процессе обновления подверженного проблеме ядра рекомендуется перед перезагрузкой убедиться в отсутствии частично собранных RAID-разделов. Например, рекомендуется перед перезапуском выполнить команды «mv /sbin/mdadm /sbin/mdadm.moved; /sbin/mdadm.moved —stop —scan», после чего загрузиться с новым ядром в одиночный режим и восстановить переименованный файл «mv /sbin/mdadm.moved /sbin/mdadm».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.