Как на lsi mr9260 посмотреть смарт диска

Обновлено: 07.07.2024

Часто задаваемый вопрос: "есть ли у SAS-дисков SMART и как его посмотреть?"
Да, в некотором виде есть, в виде лог-страниц с различной полезной информацией. В статье будет рассказано о том, как эту информацию получить и интерпретировать.

Хочется подчеркнуть что, речь ниже пойдет не о домашних пользователях, для которых регулярная проверка здоровья и производительности родного железа может быть чем-то вроде хобби. Да и в случае появления признаков неисправности на том же HDD первой мыслью будет не "немедленно списать и заменить", а "сколько он еще протянет и нельзя ли как-нибудь его починить?". Такой подход вполне имеет право на жизнь, ведь ценность "домашних" данных и объем IT-бюджета, как правило, не очень высоки.
Ситуация в корпоративном секторе или в гарантийном отделе поставщика (как раз наш случай) будет немного другой. Хорошему администратору совершенно не должно быть интересно, к примеру, значение SMART-атрибута Seek_Error_Rate на диске. Логика действий проста: получив информацию от RAID-контроллера о проблемах с диском, выкинуть его из массива и запустить ребилд на новый диск (эту процедуру можно и оптимизировать). Подробности сбоя и "нельзя ли как-нибудь его починить?" никого не интересуют - стоимость потери данных и/или возможного простоя просто не позволяют адекватному сотруднику тратить время на подобные вопросы.
И все же дальнейшая судьба сбойнувшего диска - диагностика. В ней может быть заинтересован либо владелец (например, с целью пристроить более-менее живой диск для каких-либо "небоевых" нужд) и, конечно, гарантийный отдел поставщика - при этом диски могут поступать не по 1-2, а десятками. А проверить нужно в ограниченные сроки, т.е. одновременно по нескольку штук, так что времени на последовательную проверку через MHDD, HDDScan, различные утилиты от производителей и format/verify средствами контроллера просто нет.

  • Изначально разрабатывался под Linux, но на данный момент портирован на большое количество платформ, включая различные *BSD и Windows. Кстати, для тех, кто предпочитает GUI - под Linux/FreeBSD/Windows есть отличный фронтенд GSmartControl
  • Выводит подробную информацию о диске, включая не только SMART-атрибуты (с расшифровкой многих нестандартных атрибутов), но и страницы с логами ошибок.
  • Позволяет запускать поддерживаемые современными ATA и SCSI дисками внутренние тесты самодиагностики (short selftest и long selftest).
  • Может работать как при прямом подключении диска, так и через различные USB и Firewire конвертеры. Версии под Linux и FreeBSD позволяют "достучаться" до дисков, подключенных к различным RAID контроллерам (3ware, Areca, HighPoint, HP Smart Array, LSI MegaRAID).
  • Может выводить в удобочитаемом виде некоторые лог-страницы SCSI-дисков (к которым, естественно, относится и SAS) - что нам и нужно.
  • sg_logs - выводит лог-страницы устройства в более подробном виде, чем smartctl. Пример вывода с разъяснениями будет ниже
  • sg_format - выполняет форматирование диска. При очень большом желании можно изменить объем и даже размер сектора.
  • sg_verify - выполняет недеструктивную проверку выбранных блоков командой SCSI VERIFY.
  • sg_reassign - ручной ремап нужных блоков через SCSI-команду REASSIGN BLOCKS с помещением в Grown defect list
  • sg_senddiag - отправка команд на запуск встроенных тестов (то же, что и smartctl --selftest для ATA дисков).

Проверяем
Пациент номер один: относительно 300ГБ старый U320-SCSI диск Fujitsu MAW3300NC. Подключаем и определяем, где его искать (через lsscsi или sg_scan). Далее можно посмотреть на вывод smartctl или sg_logs. Начнем со smartctl:

Примерно тоже можно было бы получить, запустив sg_logs -a, для SAS дисков - с добавкой в виде страницы Protocol Specific port log page for SAS SSP, где перечислены оба phy SAS диска (если он 2-портовыйСразу в глаза бросаются огромное количество ошибок чтения, большое кол-во ремапов (Elements in grown defect list) и предупреждение "SMART Health Status: FIRMWARE IMPENDING FAILURE TOO MANY BLOCK REASSIGNS [asc=5d, ascq=64]". Последнее хранится на странице Informational exceptions в логах диска и говорит нам о том, что дальше его можно и не тестировать: алгоритм, заложенный в firmware уже сделал вывод о предсмертном состоянии диска по большому количеству ремапов.
Отличное от нуля значение счетчика Non-medium error count не всегда указывает на проблемы с диском. Было несколько случаев с SAS-дисками и контроллером Adaptec, когда причиной был некачественный noname кабель.
Можно еще немного помучить диск, запустив самодиагностику, например "длинный" фоновый тест:

Тест прерывается с ошибкой о найденных бэдах, о чем можно узнать, запустив

и посмотрев на соответствующую страницу:
Собственно, при помощи smartctl со SCSI/SAS дисками можно сделать то же, что при запуске sg_logs и sg_senddiag - посмотреть логи и запустить self-test'ы.
Следующий шаг - форматирование. Запускаем

При запуске с этими ключами badblocks совершит 4 пары проходов по диску, записывая и считывая различные паттерны. Занимает очень много времени (5,5 часов для этого диска и почти двое суток для 2ТБ диска).
Итак - 13 бэдов, снова смотрим в логи, видим растущее количество ремапов ошибок чтения. Для очистки совести можно запустить еще раз badblocks или внутренний тест и убедиться в том, что диск по-прежнему находится в совершенно плачевном состоянии. Можно его остановить перед отключением командой

Подскажите, как посмотреть смарт дисков, которые подключены к контроллеру LSI MegaRAID 9341-8i. Есть подозрение на то что один из дисков еле дышит, но как его вычислить не знаю.

r1sh писал(а): Подскажите, как посмотреть смарт дисков, которые подключены к контроллеру LSI MegaRAID 9341-8i. Есть подозрение на то что один из дисков еле дышит, но как его вычислить не знаю.

Table 34 Advanced Drive Properties

Indicates whether the Self-Monitoring Analysis and Reporting Technology (SMART) feature is enabled or disabled on the drive. The SMART feature monitors the internal performance of all motors, heads, and drive electronics to detect predictable drive failures.

А вообще в МСМ смотрим лог, там будет видно, что с каким диском не так.

r1sh писал(а): Подскажите, как посмотреть смарт дисков, которые подключены к контроллеру LSI MegaRAID 9341-8i. Есть подозрение на то что один из дисков еле дышит, но как его вычислить не знаю.

MSM стоит но там в логах ничего нет, просто часто слышал от знакомых админов что контроллер не подавал вида о том что диск умирает пока не посмотрели смарт самого диска.

Я к чему хочу посмотреть состояние дисков, у нас 6х600гб 10000rpm hitachi диски в raid 1+0, на них крутится база ms sql 10гб 1с торговля, работает

60 человек, база mysql

2гб внутреняя crm Битрикс, сам терминальный сервер и всё. При этом последнее время 1С стала жутко тормозить, Битрикс по производительности жалуется на низкую скорость дисков.

Пару месяцев назад такого не было, нагрузка не возрастала, кол-во сотрудников не увеличивалось.

Первая мысль была на деградировавший диск

r1sh
Кто вам под базу посоветовал контроллер без кеша и обычные жесткие диски?
9341 хорошо работает с SSD дисками, т.к. с ними рекомендуется не использовать кеш RAID контроллера.
А с обычными дисками он довольно медленный.
MSM стоит но там в логах ничего нет, просто часто слышал от знакомых админов что контроллер не подавал вида о том что диск умирает пока не посмотрели смарт самого диска. Если на диске есть проблема, то контроллер не увидит ее, пока напрямую не столкнется с ней.
Чтобы избежать этого у всех контроллеров есть опция, которая позволяет запускать проверку целостности массива по расписанию. Такая проверка позволяет выявить назревающие проблемы заранее. msm вроде бы (!) смарт показывает только на уровне "с диском все хорошо" или "меняй диск, т.к. я выкинул его из массива", атрибутов я там не припомню r1sh писал(а): Первая мысль была на деградировавший диск Если бы вылетел диск, контроллер бы сказал. Настройте алерты на емейл и спите спокойно. Если на диске начнутся ББ или что еще, то вам сообщат. Tert писал(а): r1sh
Кто вам под базу посоветовал контроллер без кеша и обычные жесткие диски?
9341 хорошо работает с SSD дисками, т.к. с ними рекомендуется не использовать кеш RAID контроллера.
А с обычными дисками он довольно медленный.
MSM стоит но там в логах ничего нет, просто часто слышал от знакомых админов что контроллер не подавал вида о том что диск умирает пока не посмотрели смарт самого диска. Если на диске есть проблема, то контроллер не увидит ее, пока напрямую не столкнется с ней.
Чтобы избежать этого у всех контроллеров есть опция, которая позволяет запускать проверку целостности массива по расписанию. Такая проверка позволяет выявить назревающие проблемы заранее.

вы имеете ввиду, что контроллер без батарейки? кэш у него по идее есть?
диски sas 10k, обычные sata 7.2k
во многом был ограничен бюджет, я изначально настаивал на sas 15k но там цена была на 30% выше, по этому руководство отказало, подбирали по большей части в бюджет.

если честно, я в raid-контроллерах не очень хорошо разбираюсь, делал выборку на официаьлных сайтах адаптека и lsi, но там выдавал кучу вариантов, при том что raid 1+0 есть почти на каждом контроллере, по этому самому мне было сложно выбрать контроллер, доверился поставщику.

подскажите, эта проверка выявит "слабый" диск?

r1sh писал(а): Первая мысль была на деградировавший диск Если бы вылетел диск, контроллер бы сказал. Настройте алерты на емейл и спите спокойно. Если на диске начнутся ББ или что еще, то вам сообщат. точно насчёт ББ сообщат? коллеги сталкивались с тем что контроллеры adaptec не оповещали пока через smartctl не смотрели смарт и не видели что там всё печально. Понятно что смарт это не панацея и тот еще способ диагностики)

OS: CentOS 6.3, но могу поменять если надо



как мониторят умирание диска в рейде без перезагрузки сервера

Наверно никак. Скорее всего сам рейд мониторит и выдаёт что-то. А бородатый одмин идёт на звук зуммера и машинально меняет винт.


Если Интел и LSI Megaraid, то что-то вида `smartctl -a -d megaraid,0 /dev/sda`. Обычно в /dev есть какой-то девайс вида sgX или /dev/megaraid и т.д. У меня пока что проблем небыло с определением и мониторингом.
А еще нормальные железки поставляют софт линуксовый для мониторинга. Ты вот привел линки на железки, так там прям на странице можно скачать Storage Manager. Чем не устраивает?

У того же adaptec есть фирменная cli утилита для *nix, и вот уже через неё можно смотреть в S.M.A.R.T. - В общем всё зависит от производителя RAID, думаю все нормальные производители позвляют делать базовые операции через свои фирменные утилиты.


Видел другую картинку, под виндой не было видно смарт и фирменных утилит ни фига не было, загружали с диска линукс и смотрели. Похоже как повезёт, но точно не в принципиальной невозможности.


Наверно никак. Скорее всего сам рейд мониторит и выдаёт что-то. А бородатый одмин идёт на звук зуммера и машинально меняет винт.

А я думал что сервера в шумной холодной серверной у черта на куличках куда никто лазить из админов не хочет/не может. Пищалку не услышать, да и сработает она после смерти диска в большинстве случаев

Навожу короткую инструкция по мониторингу физических дисков под хардварным LSI 2108 RAID контроллером. Так же эта инструкция может пригодиться для мониторинга дисков под HP/Compaq Smart Array Controller, Areca SATA[/SAS] RAID controller и другими, используя инструмент smart в сочетании с специализированными программами. Перечень контроллеров, за которыми можно мониторить физические диски используя smartctl наведен здесь.

Немного о HDD интерфейсах

SAS

SATA

ATA

С интерфейсами все понятно, переходим к практике.

Мониторинг дисков используя megacli

Смотрим какие у нас есть диски.

Как видим, у нас LSI SAS MegaRAID контроллер, диски которого можно мониторить используя smartctl или же используя специализированную утилиту megacli. Для начала присмотримся к megacli. В стандартных репозиториях ее нет, но можно скачать с официального сайта и собрать с исходников. Но я рекомендую использовать специальный репозиторий (за который хочу сказать ОГРОМНОЕ спасибо) в котором есть почти весь набор специализированных утилиты под любой тип аппаратных рейдов.

Перечень всех доступных в репозитории утилит наведен здесь
Проверяем на ошибки физический диск megaraid используя megacli.

Теперь напишем маленький скрипт для мониторинга всех нужных параметров включая BBU.

Как видим у нас проблема с батареей (BBU) и ее нужно заменить.
По роботе с magacli есть целая книга-руководство.
Из полезных команд:

Мониторинг дисков используя smartctl

Для этого нам понадобиться тот же megacli, используя который, мы узнаем ID физических дисков и соответствующие им логические носители. Начнем.
Узнаем ID всех физических дисков за мегарейд контроллером ну и номера соответствующих логических дисков.

Расшифрую эту команду:

Теперь видно, что у нас три логических(виртуальных) диска в которые входят по несколько физических дисков с соответствующими ID. Посмотрим на сервере, сколько у нас есть дисков:

Все верно, у нас три логических диска в системе. Проводим аналогию с выводом команды megacli:

    Virtual Drive: 0 == /dev/sda и в него входит 4 физических диска с Drive: 1 == /dev/sdb и в него входит 2 физических диска с Drive: 2 == /dev/sdc и в него входит 6 физических дисков с >Теперь нам осталось запустить SMART проверку по каждому с дисков используя собранные данные.

К примеру возьмем первый диск.

Каждая из ошибок имеет различные коды. Оригинал описания кодов взято из мануала по SCSI Seagate дискам:

Gigabytes processed [Total bytes processed: 05h]. This parameter code specifies the counter that counts the total number of bytes either successfully or unsuccessfully read, written or verified (depending on the log page) from the drive. If a transfer terminates early because of an unrecoverable error, only the logical blocks up to and including the one with the uncorrected data are counted. [smartmontools divides this counter by 10^9 before displaying it with three digits to the right of the decimal point. This makes this 64 bit counter easier to read.]

Total uncorrected errors [Total uncorrected errors: 06h]. This parameter code specifies the counter that contains the total number of blocks for which an uncorrected data error has occurred.

С всего этого нас интересует параметр Total uncorrected errors который показывает количество не исправленных ошибок. Если это число велико, то нужно запускать long тест и проверить, дополнительно, параметры физического диска в Megaraid контроллере.

Мониторинг дисков используя smartd

Читайте также: