Электроника, схемотехника, от души и с умом: для начинающих и для бывалых
web-разработка

RAID бесполезен, спасает только резервное копирование

Can RAID save from the disaster?Друзья! Сайты MyElectrons.ru, MyElectrons.com, Cook-Light.com (и ещё кое-что), были недоступны по техническим причинам в течение почти двух недель. К сожалению, так долго мы восстанавливались из-за того, что загружен я нынче весьма плотно, а дельного помощника найти пока не удалось. Все изменения (исправления, комментарии...), что произошли на сайтах в 2016 году, утеряны безвозвратно. Примите мои искренние извинения!

Как это было:

Одной тёмной дождливой сентябрьской ночью... начался форменный кошмар: телефон раскалился от смс уведомлений от Яндекс Метрики о том, что все мои сайты недоступны. Естественно, бдительный ЯМ сообщил об этом не одной пачкой смс-ок, а зудел и будил меня на протяжении нескольких часов к ряду. Утром же обнаружилось следующее сообщение в почте:

Dear Client,

we are sending this notice to inform you that the node PM28 stopped working today at  around 18:30 CEST. First investigation shows corruption of the RAID, so far we were not able to recover anything out of it but we are working around the clock to recover data if it's possible.

If you like to start with a fresh VPS please open a ticket.

We are sorry for the inconvenience.

Мой вольный (эмоционально окрашенный, и посему не шибко близкий к оригиналу) перевод:

Дорогой клиент, спешим Вас порадовать, что один из наших дешёвых компов сдох и все ваши VPS (виртуальные серверы), что крутились на нём, отправились к праотцам. Вы можете получить девственно чистый VPS, пока мы тут круглыми часовыми напильниками чиним мёртвый RAID.

резервное копирование :)В ближайшее время буду организовывать правильно эшелонированный backup.

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

Давайте вместе наверстывать упущенное: пишите, пожалуйста, предлагайте темы, идеи по улучшению сайта, задавайте вопросы!

- С.П.

4 комментария

  1. serge

    Вдогонку: RAID изначально расшифровывался как Redundant Array of Inexpensive Disks. И если твой взгляд, читатель, не слишком замутнён компьютерными туфтологическими аббревиатурами, то первое прочтение получается весьма сообразным: Излишний (бесполезный) Массив Дешёвых Дисков 🙂

    Подозреваю, что теоретики от компютеров сейчас начнут возмущаться в комментариях. Что-ж, буду рад живой дискуссии! В прошлом и по работе, и пытаясь создать надёжное хранилище для своих данных дома, хлебнул я печальки со всевозможными RAID’ами. И восстанавливал, и лечил их, и пересобирал, и на производительность тестировал (всевозможные варианты: 5, 1, 0, 10…). Мой личный опыт последовательно и методично разрушал иллюзию о полезности технологии: шансы на восстановление данных ничтожны (эта дрянь начинала сама что-то там чинить и убивала всё безвозвратно), производительность же была не только ниже ожидаемой, а зачастую даже хуже, чем у отдельно взятого диска (если подумать — это тоже объяснимо: дополнительные позиционирования головок, больше буферов/памяти, доп. операции в драйверах…).

    Программно реализованный RAID — беда (перегруз по I/O шинам, кэш, буфера…). Но дорогущие фирмовые железные реализации, во всяком случае те, что мне попадались — ещё хуже. Этим ведь ещё и диск подавай точно той же модели, что был тот, который вышел из строя. Резервные батарейки в RAID контроллерах в нашей лабе ни разу не спасли данные при авариях питания. А уж если железный контроллер сам ласты склеил (было и такое) — беги покупай точно такой же, ни что другое эти диски, какими бы redundant они ни были — никогда уже не прочитает.

    Сам я по доброй воле давно уже не пользую RAID, так вот догнало у провайдера. Цитатка из Википедии: «In August 2012, Dell posted an advisory against the use of RAID 5 in any configuration…».

    Так что резервное копирование нас спасёт! 🙂 Ну, иногда, если очень хочется, можно ещё с ZFS поиграться… Но толко на его надёжность полагаться тоже не стоит. Ведь всегда остаются такие единичные точки отказа, как блок питания (который может пожечь все диски в корпусе разом), кривые ручки (/# rm -rf *), пожар в конце концов!

    Ещё интересна тема с т.н. «облачными», распределёнными файловыми системами. Но пока я как-то слабо себе представляю, где бы это я смог для дома для семьи взвести резервированный CEPH (лат., читать «СЕФ») кластер 😀

  2. DusterLocuster

    RAID вообще совсем никак не поможет от ситуации когда что-то пошло не так и на все диски записались некорректные данные, например. Или если диск умер не полностью а стал возвращать мусор.

    p.s. ну и сайт лучше содержать на полноценной виртуалке на основе kvm или xen. Так и ОС любая, которая вам удобна в пределах ресурсов, и это не какое-то нестандартное патченое ядро, и для переконфигурирования саппорт не надо пинать. И стоит все это от 2 евро в месяц у некоторых, а приличные фирмы и бэкапы сами делают иногда к тому же. На вот такие случаи.

    В Linux еще btrfs есть. Там RAID сделан своеобразно — и поэтому когда с диска прочлось что-то не то, он по контрольным суммам видит какая из копий кривая. И может восстановить из правильной. Но это уже продвинутости. И не отменяет бэкапы, потому что если взглючит компьютер (сервер) и данные побьются например в памяти — даже контрольные суммы и несколько копий никак не помогут, если данные на момент записи уже были испорчены где-то раньше.

    • serge

      Надо посмотреть, возможно ли взвести виртуалку внутри VPS, что мы пользуем. Пока всё крутится на VPS как он есть, и после настройки NGINX кэша вроде всё весьма шустренько работает.

      Бэкап тяну сам периодически, тот опыт горький научил.

      Всё верно про сохранность данных. Для архивов дома пользую ZFS. С btrfs как-то дружба на задалась, но я его пробовал когда он ещё молодой был, багливый.

      • DusterLocuster

        Если это openvz, там 1 ОС/ядро на всех. Хоть и выглядит как якобы ОС, ваше только поддерево процессов, остальное — иллюзия. В этом случае ядро — которое навяжет администратор, какие-то добавочные модули вгрузить — через саппорт, врядли модуль kvm там есть, к тому же в openvz специфичное и старое ядро, его отдельно допатчивают и это отстает от mainline и дистрибутивных ядер, в них иллюзия не полная, поэтому и гора патчей.

        В случае виртуалки это виртуальный компьютер, с виртуальными железяками. Ему все-равно что за ОС, как она внутри поделит данные ресурсы, какие будут модули, ядра и проч. Вплоть до заливки вон того ISO — «boot from ISO» — ну вы поняли. Все ограничено ресурсами, готовностью ОС работать с (виртуальным) железом и сколько IP готов дать внешний мир (хост и сеть за ним). IPv6 обычно без проблем, а добавочные IPv4, конечно, только за отдельные деньги. Можно и 1 адрес поделить, но это криво.

        Нжинкс и правда рулит. Я вообще на глаз заметил что знакомый перешел на него — картинки на его сайте стали в разы быстрее грузиться. Так что присоединюсь к рекомендации, особенно на виртуалках и вдсках, он cpu и ram в разы меньше потребляет, особенно на отгрузке статики.

        Насчет бэкапов есть админская шутка что люди делятся на 2 типа: те кто пока еще не делает бэкапы и те кто уже делает :). Прелесть RAID в том что если повезло — можно проскочить БЕЗ остановки сервиса и длительного восстановления. Но если не прокатило — увы. Да и бэкапы стоит иногда проверять, а то через несколько лет, когда они наконец понадобятся… очень неприятно обнаружить что бэкап кривой или не читается.

        Что до zfs — у знакомого он отпадал при апгрейде ядра, потому что разрабатывается отдельно и что-то не срослось в стыковке с новым ядром. Мне на системном разделе такое нравится — если не понравилось как апгрейд системы сработал, снапшот за минуту вернуть и порядок, почти как с виртуалками. Но это не получится если ядро вообще файловую систему не смогло прицепить и тут внешний сторонний модуль выглядит риском. А баги btrfs более-менее исправили. Фэйсбук его на свои сервера поставил, миллиарды пользователей сделали свое дело. Так что в ядрах 4 и тем более 5-й серии он уже вроде не страшный.

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

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

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