Как заменить неисправный диск в СХД NetApp.
Короткая памятка по замене дисков в СХД NetApp на примере NetApp FAS-2240. Здесь я опишу процесс замены неисправных дисков в системе хранения данных от NetApp, поскольку замена диска в СХД NetApp отличается от замены дисков в обычных серверах.
Итак, случилась оказия — вышли из строя два диска на старенькой СХД FAS-2240, версия OS: ONTAP 8.2.4. Для их замены нужно подключиться к интерфейсу управления по SSH, поскольку большинство действий по настройке и управлению СХД доступны только через командную строку.
Идентификация неисправных дисков.
Для того, чтобы определить неисправные диски я использовал команду aggr status -f
В выводе этой команды нас интересуют имена дисков(в данном случае 0a.00.1 и 0b.01.13). Теперь «подсветим» эти диски на СХД с помощью команды blink_on <DiskName>. Данная команда требует повышенных привилегий, поэтому перед её выполнением перейдем в advanced режим командой priv set advanced. Посмотреть краткую информацию о диске можно командой disk show <DiskName>.
Теперь диск можно заменить, отключить «подсветку»(blink_off <DiskName>) и перейти из привилегированного режима в обычный(priv set).
Действия после замены диска.
В отличие от большинства серверов с рэйд-контроллерами, где восстановление массива начинается автоматически, у NetApp всё немного по-другому. Как я понял, диск после замены не принадлежит никакому участнику кластера(у меня кластер из двух: fas2240-1 и fas2240-2). Посмотреть принадлежность диска до замены можно как раз командой disk show на скрине выше(столбец OWNER). После замены можно посмотреть диски, не имеющие владельца(disk show -n).
Так вот, диску после замены нужно назначить владельца. NetApp сможет сделать это самостоятельно, если установлено свойство дисков auto_assign. Смотрим это командой options disk.
Как видно, у меня эта опция отключена, поэтому будем назначать владельца вручную(Пишут, что включить опцию можно так: options disk.auto_assign on). Вручную владелец диска назначается при помощи команды disk assign <DiskName>. По умолчанию владельцем становится полка, из консоли которой выполняется команда(в моём случае fas2240-1).
Как видно на скриншоте после этого сразу начинается реконструкция массива, поскольку у меня он был в статусе degraded. Смотреть прогресс можно командой aggr status -r.
Замена диска в СХД NetApp. Исправление ошибки bad label.
Если с первым диском всё прошло гладко, то со вторым возникла проблема. Диск должен был стать spare-диском. После замены диска и назначения владельца появилась ошибка и диск был помечен как broken. Так ошибка выглядела в консоли:
В графическом интерфейсе в логах появились вот такие сообщения:
После поиска информации по проблеме нашел на сайте производителя следующую информацию(перевод):
«Это событие происходит, когда мы обнаруживаем, что на диске нет допустимых меток. Диски в системах NetApp всегда должны иметь действительные метки; следовательно, диск без меток означает, что где-то на пути к данным на диске имеется повреждение. (Это наиболее распространенная причина, часто из-за незакрепленных кабелей или недавно добавленной полки.) Возможно, хотя и гораздо менее вероятно, что на самом диске происходит скрытое повреждение данных. Затронутый диск выведен из эксплуатации по причине «плохая метка».
Корректирующее действие
Если диск был добавлен недавно и его действительно следует рассматривать как запасной, команда «disk unfail» пометит диск как запасной. В противном случае, если диск ранее работал нормально, проверьте подключение к диску. Все ли кабели закреплены? Иногда недавно добавленные полки или незакрепленные кабели могут вызвать электрические помехи в шине, которые ухудшают передачу данных. Если соединение с диском хорошее и на диске есть данные файловой системы, обратитесь за помощью в службу технической поддержки NetApp.»
Для исправления проблемы была использована рекомендованная производителем команда disk unfail с параметром -s(что означает, что диск будет spare) и указанием имени диска. Команду нужно выполнять в advanced режиме.
После этого ошибка была устранена, и статус СХД вернулся к нормальному.