Как выявить аппаратную проблему с сервером

Материал из wiki.planetahost.ru
Перейти к: навигация, поиск

Как выявить аппаратную проблему с сервером?

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

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

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

Сервер, являясь электронным прибором, может рано или поздно выйти из строя. Любой современный электронный прибор, и сервер в частности, построен на модульном принципе, что имеет множество преимуществ: взаимозаменяемость, быстрая замена и диагностика без применения специального оборудования. При выходе сервера из эксплуатации, эти преимущества играют огромную роль.

Сервер не отвечает на запросы

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

Для начала необходимо перезагрузить сервер, используя панель управления DCImanager, "Перезагрузить".

Если сервер не загрузился, по прошествии некоторого времени, следует запросить IP-KVM для того, чтобы иметь доступ к консоли сервера и видеть вывод ошибок.

Возможно, идет проверка файловой системы, при худшем раскладе – на консоли ошибки “kernel panic”, ошибки “disk boot failure, insert system disk and press enter”, темный экран. В первом случае вам просто следует подождать, сервер «поднимется». Во втором случае желательно обратиться к техническим специалистам компании.

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

Проверка состояния жестких дисков

В этом поможет технология SMART, встроенная в современные диски. Она позволяет оценить состояние и предсказать выход диска из стоя. Доступ к данным, предоставляемым технологией SMART, осуществляется различными утилитами. В ОС семейства FreeBSD и Linux это – smartctl входящая в пакет утилит smartmontools, адрес официального сайта: http://sourceforge.net/apps/trac/smartmontools/.

Приведу пример вызова утилиты smartctl:

smartctl -a /dev/УСТРОЙСТВО

Для того, чтобы правильно указать УСТРОЙСТВО, которое мы собираемся диагностировать, следует знать, что имя устройства будет зависеть от используемой на сервере операционной системы. Так в случае с FreeBSD существует соглашение по именованию физических дисков: http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/disks-naming.html, позволяющее в зависимости от того, каким образом подключен диск, определить, как он должен называться. А, добавив к имени порядковый номер, получить необходимое для запуска smartctl значение.

В Linux дисковые устройства так же именуются исходя из способа их подключения http://linux.armd.ru/common/linux/Documentation/hd_naming/, но в качестве порядкового номера используется не цифра, а буква.

Например, для FreeBSD команда может выглядеть так:

smartctl -a /dev/ad1 

а для Linux так:

smartctl -a /dev/sda 

Детальное описание можно посмотреть на официальном сайте проекта smartmontools .

Получив данные SMART с диска, следует обратить внимание на следующие показатели:

Reallocated Sectors Count — Показывает количество переназначенных секторов (remaping). Большое число свидетельствует о проблемах с поверхностью дисков. Можно считать ключевым параметром при оценке состояния диска, особенно при постоянном увеличении данного параметра.

Seek Error Rate — Ошибки, связанные с работой магнитных головок диска и их механической частью. Большое значение свидетельствует о наличии проблем с механикой диска.

Current Pending Sector Count - Текущее количество нестабильных секторов. Поле raw value этого атрибута показывает общее количество секторов, которые накопитель в данный момент считает претендентами на переназначение в резервную область (remap). Если в дальнейшем какой-то из этих секторов будет прочитан успешно, то он исключается из списка претендентов. Если же чтение сектора будет сопровождаться ошибками, то накопитель попытается восстановить данные и перенести их в резервную область, а сам сектор пометить как переназначенный (remapped). Постоянно ненулевое значение raw value этого атрибута говорит о низком качестве (отдельной зоны) поверхности диска.

Uncorrectable Sector Count - Количество нескорректированных ошибок. Атрибут показывает общее количество ошибок, возникших при чтении/записи сектора и которые не удалось скорректировать. Рост значения в поле raw value этого атрибута указывает на явные дефекты поверхности и/или проблемы в работе механики накопителя.

Current Pending Sector Count — Текущее количество нестабильных секторов. Поле raw value этого атрибута показывает общее количество секторов, которые накопитель в данный момент считает претендентами на переназначение в резервную область (remap). Если в дальнейшем какой-то из этих секторов будет прочитан успешно, то он исключается из списка претендентов. Если же чтение сектора будет сопровождаться ошибками, то накопитель попытается восстановить данные и перенести их в резервную область, а сам сектор пометить как переназначенный (remapped). Постоянно ненулевое значение raw value этого атрибута говорит о низком качестве (отдельной зоны) поверхности диска.

Uncorrectable Sector Count — Количество нескорректированных ошибок. Атрибут показывает общее количество ошибок, возникших при чтении/записи сектора и которые не удалось скорректировать. Рост значения в поле raw value этого атрибута указывает на явные дефекты поверхности и/или проблемы в работе механики накопителя.

Рассмотрение остальных параметров имеет менее важное значение и не входит в рамки данной статьи. Более детальное описание есть на ресурсе, указанном выше.

В качестве примера рассмотрим вывод утилиты smartctl

В данном случае наблюдается большое значение параметра “Reallocated Sectors Count” указывающее на возможное наличие сбойных секторов(bad blocks) и “Seek_Error_Rate” – ошибки позиционирования считывающих головок диска. В данном примере диск можно считать сбойным и в ближайшее время, возможен выход его из строя.

Как показывает наш опыт в случае если значения Uncorrectable Sector Count, Current Pending Sector Count, UDMA_CRC_Error_Count больше нуля, то жесткий диск требует срочной замены.

При оценке состояния жестких дисков очень важно делать проверку не при возникновении проблем, а с достаточной для оперативной реакции периодичностью. Поможет в этом демон мониторинга жестких дисков smatrd. Его настройка не составит больших трудностей, т.к. он очень хорошо документирован на официальном сайте проекта (см. http://smartmontools.sourceforge.net/man/smartd.8.html и http://smartmontools.sourceforge.net/man/smartd.conf.5.html). Процедура не займет много времени, но при этом позволит всегда знать в каком состоянии находятся жесткие диски ваших серверов, а при появлении ошибок позволит вовремя принять меры и предотвратить потерю данных.

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

Правила подачи запроса в службу поддержки

Информация, необходимая для подачи запроса:

  • Идентификационные данные сбойного диска, при невозможности извлечения, данные о целом диске. Информация будет передана техническим сотрудникам в ДЦ, которые будут заниматься заменой сбойного диска.
  • Результат выполнения команды smartctl -a на проблемном жестком диске.
  • Данные доступа на сервер, для подтверждения состояния дисков сотрудниками компании.

Сообщения, не содержащие данной информации не могут быть приняты к рассмотрению.

Работа утилиты smartctl. Для определения данных о сбойном диске необходим следующий блок информации:

=== START OF INFORMATION SECTION ===

Model Family:     Seagate Momentus 5400.3 series
Device Model:     ST9120822AS
Serial Number:    5LZ71TKQ
Firmware Version: 3.ALC
User Capacity:    120 034 123 776 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Mon Oct 15 06:52:24 2012 IRKT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Пример запроса

Рассмотрим небольшой пример переписки воображаемого клиента К с сотрудником технической поддержки С:

К: У меня вышел из строя диск.В приложении файл с результатом работы команды smartctl -a.
   Можете произвести замену?
С: Да, мы можем заменить ваш диск. Для этого нам необходимы данные целого диска(серийный номер)
   или доступ на сервер.
К: Вот номер целого – 000000000, доступ к серверу — root:PASSWORD
С: Работы выполнены, диск заменен.

Данный диалог можно сократить до запроса о замене диска и ответа о выполнении работ:

Прошу заменить сбойный диск Serial Number: 5LZ71TKQ, Device Model: ST9120822AS. 
В приложении файл с результатом работы команды smartctl -a
Доступ к серверу — root:PASSWORD

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

Возможности по диагностированию оперативной памяти

Данная проблема может проявляться неявно и решение проблемы затянется. Примером могут быть случаи с выходом из строя отдельных ячеек памяти. Сбои в работе сервера будут происходить не часто или проявляться как ошибки чтения/записи по адресу памяти без выхода из строя сервера.

Диагностика данной проблемы проводится тестом Memtest, официальный сайт проекта — http://www.memtest.org/. Идея данного теста проста — проверка ячеек памяти чтением/записью значений, от простого к сложному. Запуск теста можно сделать, заказав IP-KVM и подключение образа с Memtes'ом в техподдержке (нужно будет загрузиться с этого образа). При наличии проблем с памятью, вероятнее всего, тест пройден не будет, что будет отображено на экране (в какой ячейке и при записи какого значения произошел сбой).

Примечание: Тестирование идет в цикле и его завершение производится вручную.
Нужно, чтобы было проведено минимум 3-4 круга тестирования (определяется значением параметра Pass - между Test и Errors).

После выявления проблемы с памятью пишем запрос в службу технической поддержки. В запросе необходимо приложить снимок экрана с ошибкой. Сообщения, не содержащие данной информации не могут быть приняты к рассмотрению. Если ваш провайдер не предоставляет доступ в панель DCImanager, то вам следует сразу написать обращение в службу поддержки с просьбой провести данный тест. При подтверждении ошибки, память будет заменена.

Заключение

Вместо заключения хотелось бы сказать следующее: проблемы выхода винчестеров из строя - явление прогнозируемое и в этом может помочь сервис мониторинга состояния диска smartd, так же включенный в пакет smartmontools . Его настройка и использование неоднократно рассматривались в интернете и не входит в рамки данной статьи. Использование клиентами этого средства мониторинга может спасти от нежелательной потери данных.

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

И последнее — желаем вам, чтобы ваши сервера не ломались, а обращений в службу технической поддержки по данной тематике было меньше.