Я начинаю собирать дома компьютеры, и для их поддержки у меня есть «серверная» Linux-система с RAID-массивом.
В настоящее время mdadm
RAID-1
, собирается, RAID-5
когда у меня будет больше дисков (а потом RAID-6
я надеюсь). Однако я слышал различные истории о повреждении данных на одном диске, и вы никогда не замечали это из-за использования другого диска, вплоть до того момента, когда первый диск вышел из строя, и вы обнаружили, что ваш второй диск также прикручен (и 3-й, 4-й , 5-й диск).
Очевидно, что резервные копии важны, и я тоже об этом позабочусь, однако я знаю, что ранее видел скрипты, которые утверждают, что помогают справиться с этой проблемой и позволяют вам проверять ваш RAID во время его работы. Однако, снова ища эти сценарии, мне трудно найти что-то похожее на то, что я запускал раньше, и я чувствую, что устарел и не понимаю, что изменилось.
Как бы вы проверили работающий RAID, чтобы убедиться, что все диски по-прежнему нормально работают?
Я отслеживаю SMART на всех дисках, а также mdadm
настроил отправку мне электронных писем в случае сбоя, но я хотел бы знать, что мои диски иногда тоже «проверяют» себя.
Ответы:
Смысл RAID с избыточностью заключается в том, что он будет продолжать работать так долго, как может, но, очевидно, он будет обнаруживать ошибки, которые переводят его в ухудшенный режим, например, выходящий из строя диск. Вы можете показать текущее состояние массива с помощью
mdadm -D
:Кроме того, состояние возврата отлично от
mdadm -D
нуля, если есть какая-либо проблема, например, неисправный компонент (1 указывает на ошибку, которую компенсирует режим RAID, а 2 указывает на полный сбой).Вы также можете получить краткую информацию о состоянии всех устройств RAID, посмотрев на
/proc/mdstat
. Вы также можете получить информацию об устройстве RAID/sys/class/block/md*/md/*
; смотритеDocumentation/md.txt
в документации ядра. Некоторые/sys
записи также доступны для записи; например, вы можете запустить полную проверкуmd0
с помощьюecho check >/sys/class/block/md0/md/sync_action
.В дополнение к этим выборочным проверкам mdadm может уведомить вас, как только что-то случится. Убедитесь, что вы
MAILADDR root
в/etc/mdadm.conf
(некоторые дистрибутивы (например, Debian) настроили это автоматически). Затем вы получите уведомление по электронной почте, как только возникнет ошибка (ухудшенный массив) .Убедитесь, что вы получаете отправку почты в корневой каталог на локальном компьютере (некоторые современные дистрибутивы пропускают это, потому что считают, что вся электронная почта проходит через внешних провайдеров, но получение локальной почты необходимо для любого серьезного системного администратора). Проверьте это, посылая корень почту:
echo hello | mail -s test root@localhost
. Обычно для правильной настройки электронной почты требуются две вещи:Перенаправляйте почту, поступающую в системные учетные записи (как минимум
root
), на адрес, который вы регулярно читаете. Это может быть ваша учетная запись на локальном компьютере или внешний адрес электронной почты. В большинстве MTA адрес может быть настроен в/etc/aliases
; у вас должна быть строчка вродедля локальной доставки, или
для удаленной доставки. Если вы выбираете удаленную доставку, убедитесь, что ваш MTA настроен для этого. В зависимости от вашего MTA, вам может потребоваться запустить
newaliases
команду после редактирования/etc/aliases
.источник
Вы можете принудительно проверить весь массив, пока он в сети. Например, чтобы проверить массив
/dev/md0
, запустите от имени пользователя root:У меня также есть задание cron, которое запускает следующую команду раз в месяц:
Это не тщательная проверка самого диска, но она вынуждает систему периодически проверять, что (почти) каждый файл может быть успешно прочитан с диска. Да, некоторые файлы будут считываться из кеша памяти, а не с диска. Но я полагаю, что если файл находится в кеше памяти, то он недавно был успешно прочитан с диска или готов к записи на диск, и любая из этих операций также обнаружит ошибки диска. Во всяком случае, выполнение этой работы проверяет самый важный критерий RAID-массива («Могу ли я успешно прочитать мои данные?»), И за три года работы моего массива один раз у меня вышел из строя диск, это было эта команда, которая обнаружила это.
Одно маленькое предупреждение: если ваша файловая система большая, эта команда займет много времени; моя система занимает около 6 часов / TiB. Я запускаю его
ionice
так, чтобы остальная часть системы не остановилась во время проверки диска:источник
ionice
будет работать, только если вы используете (по умолчанию) планировщик ввода-вывода CFQ.пакет 'mdadm' Debian и Ubuntu содержит файл
который по очереди первое воскресенье каждого месяца будет запускать команду
это проверит все ваши массивы на согласованность (если вы не установите для AUTOCHECK значение false в / etc / default / mdadm ). Отчет будет отправлен пользователю root (убедитесь, что вы получаете такие письма).
источник
Я использую эту простую функцию для проверки
/proc/mdstat
:источник