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

Хочу поделиться опытом наиболее тяжелых случаев отказа оборудования на администрируемых мною дистанционно root-серверах.

На самом деле, это не такое частое явление, поэтому многие просто вообще машут рукой, считая его вероятность пренебрежимо малой. А ведь потерять можно в некоторых случаях практически все! И вероятность все-таки не настолько мала, чтобы ей можно было пренебречь и ничего не делать.

За мою вот уже почти 8-летнюю практику администрирования root-серверов случаев отказа оборудования было, наверно, раз 8. В среднем, можно сказать, что где-то раз в год. Но это на 4-5 серверах. Значит, для одного сервера, по моим данным такое может случиться раз в 3-5 лет. Далеко не все проекты в Интернет так долго живут 🙂

Из всех случаев отказа один был вызван проблемами с материнской платой. Этот случай оказался самым сложным в дистанционной диагностике, но в принципе, ни к каким потерям он не привел. Материнскую плату заменили, все данные с жестких дисков были подняты после переустановки операционной системы (я работаю в основном с Debian).

Остальные случаи были отказами жестких дисков.

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

Теперь что касается современной эры. Да, SMART действительно в некоторых случаях работает. У меня было пару случаев, когда SMART на достаточно ранней стадии выдал информацию о появившихся ошибках (скорее всего, на самом деле, дефект был заводской, и просто поверхность диска постепенно разрушалась). Мы отправили информацию со SMART в дата-центр и те согласились заменить винчестер, несмотря на то, что в принципе он работал ОК. При переносе информации на новый диск там было несколько сбойных секторов, но ничего критичного. Все прошло в принципе хорошо и без проблем.

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

А самый, пожалуй, вопиющий случай был когда на одном из серверов отказали сразу два жестких диска! При этом SMART ничего не сигналил заранее. А один из дисков умер сразу и вообще 🙂 Второй был системным и система с него стартовать уже не могла. Благо мы до перезагрузки сделали дамп БД. Кроме того, у нас уже были резервные копии на других серверах. Поэтому в принципе после замены дисков основные данные были восстановлены. Но вот на первом диске (который умер вообще) был огромный архив видео (более 2 Тб). Его мы просто физически не могли никуда резервировать. И он был потерян безвозвратно. 🙁

После этого чего мы переехали на новый сервер с 4 HDD, на котором мы настроили RAID level 6. Не многие знают о таком RAID, и о том, что в Linux его можно сделать программно. Этот уровень RAID позволяет продолжать работу при одновременном отказе 2-х дисков из 4-х, 3-х из 5-ти, 4-х из 6-ти и т.д. Надежнее, чем зеркалирование, и места на дисках больше. Единственное, что немного медленнее. Но в реальной работе это не ощущается.

А напоследок о наших последних случаях отказов. В одном сработал алерт по чрезмерной загрузке CPU. Сначала подумали, что опять DDoS-ят, но оказалось, что ресурсы пожирает система ввода-вывода, а точнее, один из зеркальных дисков. После запроса в ДЦ диск заменили, нам нужно было только создать разделы. Все остальное сделал RAID. 🙂 Сервер не работал буквально 2-3 минуты, пока техники поменяли диск (горячей замены в программных RAID-ах, к сожалению, пока нет :() Кстати, SMART при этом показывал, что с диском все ОК!

Во втором аналогичном случае с RAID level 1 SMART также молчал, но наша панель управления сервером начала сообщать, что на диске постоянно появляются системные ошибки при операциях ввод-вывода. Ошибки эти не приводили к отказам и потере данных и, возможно, даже были вызваны системой, а не самим жестким диском. Но мы предпочли заменить, благо техподдержка дата-центра уже идет нам навстречу в таких вопросах. А береженого, как говориться, бог бережет. 🙂

Вот. А теперь вывод. Обязательно используйте хотя бы RAID level 1. И обязательно делайте резервные копии всего, что возможно, регулярно и автоматически. На другие носители или даже на другие сервера. Кстати, в нормальных дата-центрах (например, как у нас ;)) для резервных копий предоставляют специальное место на их дисках по протоколу SFTP.

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

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

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