Рекомендуемая конфигурация диска для веб-сервера

Рекомендуемая конфигурация диска для веб-сервера

Какова типичная конфигурация дисков вашего веб-сервера? Обычно у меня есть диск для ОС и диск для данных. Диск с данными обычно представляет собой RAID 5, но я не помню, что я рекомендовал для диска ОС. Идеален ли RAID 1 для этого?

решение1

Я работаю в крупной хостинговой компании, и чаще всего в корпоративном сегменте (не обязательно то, что я рекомендую, но то, что я вижу) при условии, что сервер автономный/использует локальное хранилище, я вижу массив ОС RAID 1 и массив данных RAID5.

Теперь, когда жесткие диски становятся больше, RAID 5 становится все менее идеальным, поскольку вероятность возникновения ошибки URE во время восстановления одного диска довольно высока.

Но поскольку вы, судя по всему, спрашиваете конкретно о диске ОС, да, RAID 1 является стандартным и обычно достаточным, если только вы не собираетесь запускать другие приложения с этого диска.

решение2

Я управляю центром обработки данных и являюсь техническим директором крупной хостинговой компании. МЫ НАСТОЯТЕЛЬНО РЕКОМЕНДУЕМ ЛЮДЯМ НИКОГДА НЕ ИСПОЛЬЗОВАТЬ RAID 5.

ИСПОЛЬЗУЙТЕ ХОРОШИЙ SAN ВЕЗДЕ, ГДЕ ВОЗМОЖНО


RAID5 использует ТОЛЬКО ОДИН диск четности на полосу, и многие массивы RAID5 состоят из 5 (если у вас результаты отличаются, скорректируйте расчеты соответствующим образом) дисков (4 для данных и 1 для четности, хотя это не один диск, который хранит всю четность, как в RAID 3 и 4, а продолжает чтение).

RAID 5 — ЭТО РАСХОДОМЕР, НО ТАКЖЕ И RAID 10, и RAID 1: Если у вас 10 дисков или, скажем, по 20 ГБ каждый для 200 ГБ, RAID5 будет использовать 20% для четности (при условии, что вы настроили его как два массива по 5 дисков), поэтому у вас будет 160 ГБ хранилища.

Теперь, поскольку RAID10, как и зеркалирование (RAID1), использует 1 (или более) зеркальный диск для каждого основного диска, вы используете 50% для избыточности, поэтому для получения тех же 160 ГБ хранилища вам понадобится 8 пар или 16 - 20 ГБ дисков, поэтому RAID5 так популярен. Это введение просто для того, чтобы представить все в перспективе.

RAID5 физически представляет собой набор полос, как RAID0, но с возможностью восстановления данных. RAID5 резервирует один дисковый блок из каждого блока полосы для данных четности. Блок четности содержит код исправления ошибок, который может исправить любую ошибку в блоке RAID5, по сути, он используется в сочетании с оставшимися блоками данных для воссоздания любого отдельного отсутствующего блока, потерянного из-за отказа диска. Инновация RAID5 по сравнению с RAID3 и RAID4 заключается в том, что четность распределяется по принципу циклического перебора, так что может быть независимое чтение разных блоков с нескольких дисков. Вот почему RAID5 стал более популярным, чем RAID3 и RAID4, которые должны синхронно считывать один и тот же блок со всех дисков вместе. Таким образом, если Drive2 выходит из строя, блоки 1, 2, 4, 5, 6 и 7 являются блоками данных на этом диске, а блоки 3 и 8 являются блоками четности на этом диске. Это означает, что четность на Drive5 будет использоваться для воссоздания блока данных с Disk2, если блок 1 запрашивается до замены Drive2 новым диском или во время перестройки новой замены Drive2. Аналогично четность на Drive1 будет использоваться для восстановления блока 2, а четность на Drive3 — для восстановления блока 4 и т. д. Для блока 2 все данные находятся в безопасности на оставшихся дисках, но во время перестройки замены Drive2 новый блок четности будет рассчитан из данных блока 2 и записан на Drive 2.

ШТРАФ НА ЧТЕНИЕ-ЗАПИСЬ RAID 5:Теперь, когда блок диска считывается из массива, программное обеспечение/прошивка RAID вычисляет, какой блок RAID содержит блок диска, на каком диске находится блок диска и какой диск содержит блок четности для этого блока RAID, и считывает ТОЛЬКО один диск данных. Он возвращает блок данных. Если вы позже измените блок данных, он пересчитает четность, вычитая старый блок и добавляя новую версию, затем в двух отдельных операциях он записывает блок данных, за которым следует новый блок четности. Для этого он должен сначала прочитать блок четности с того диска, который содержит четность для этого блока полосы, и перечитать неизмененные данные для обновленного блока с исходного диска.Это чтение-чтение-запись-запись известно как штраф за запись RAID5, поскольку эти две записи последовательны и синхронны, системный вызов записи не может вернуться, пока не будут завершены повторное чтение и обе записи, в целях безопасности, поэтому запись в RAID5 выполняется на 50% медленнее, чем в RAID0 для массива той же емкости. (Некоторые программные RAID5 избегают повторного чтения, сохраняя в памяти немодифицированную копию исходного блока.)

RAID10 — это одна из возможных комбинаций RAID1 (зеркалирование) и RAID0 (чередование). Раньше существовала путаница относительно того, что означают RAID01 или RAID10, и разные поставщики RAID определяли их по-разному. Около пяти лет назад я предложил следующий стандартный язык, который, похоже, прижился. Когда N зеркальных пар чередуются вместе, это называется RAID10, потому что зеркалирование (RAID1) применяется до чередования (RAID0). Другой вариант — создать два набора чередований и зеркалировать их друг на друга, это известно как RAID01 (потому что RAID0 применяется первым). В системе RAID01 или RAID10 каждый блок диска полностью дублируется на зеркале своего диска. С точки зрения производительности и RAID01, и RAID10 функционально эквивалентны. Разница проявляется во время восстановления, когда RAID01 страдает от некоторых из тех же проблем, которые я опишу, влияющих на RAID5, а RAID10 — нет.

Теперь, если диск в массиве RAID5 умирает, удаляется или отключается, данные возвращаются путем чтения блоков с оставшихся дисков и вычисления недостающих данных с использованием четности, предполагая, что неисправный диск не является диском с блоком четности для этого блока RAID. Обратите внимание, что для замены отсутствующего блока диска (для массива из 5 дисков) требуется 4 физических чтения для четырех из каждых пяти блоков диска, что приводит к снижению производительности на 64%, пока проблема не будет обнаружена и новый диск не будет сопоставлен для начала восстановления. Производительность еще больше снижается во время восстановления, поскольку все диски активно используются для восстановления заменяющего диска (см. ниже).

Если диск в массиве RAID10 выходит из строя, данные восстанавливаются с его зеркального диска за одну операцию чтения с незначительным (в среднем на 6,25% для массива из 4 пар в целом) снижением производительности, когда из поврежденной пары требуются два несмежных блока (поскольку два блока невозможно считывать параллельно с обоих дисков), и ни с каким другим способом.

Начинаешь понимать, что происходит и почему мне не нравится RAID5, но, как говорят в ночных рекламных роликах, это еще не все.

Что не так, кроме некоторой потери производительности, о которой я даже не знаю?

Хорошо, это приводит нас к последнему вопросу дня: в чем проблема RAID5? Он ведь восстанавливает неисправный диск, верно? Так что запись происходит медленнее, я не так много пишу, чтобы беспокоиться об этом, и кэш также очень помогает, у меня МНОГО кэша! Проблема в том, что, несмотря на повышенную надежность современных дисков и улучшенные коды исправления ошибок на большинстве дисков, и даже несмотря на дополнительные 8 байт исправления ошибок, которые EMC помещает на каждый дисковый блок диска Clariion (если вам повезло использовать системы EMC), вполне вероятно, что диск станет нестабильным и начнет возвращать мусор. Это известно как частичный отказ носителя. Сейчас контроллеры SCSI резервируют несколько сотен дисковых блоков для переназначения, чтобы заменить выцветающие секторы неиспользуемыми, но если диск выходит из строя, они не прослужат долго и закончатся, а SCSI НЕ сообщает об исправимых ошибках обратно в ОС! Поэтому вы не узнаете, что диск становится нестабильным, пока не станет слишком поздно, и не останется больше сменных секторов, и диск не начнет возвращать мусор. [Обратите внимание, что популярные в последнее время диски IDE/ATA не (TMK) включают в себя переназначение плохих секторов в своем оборудовании, поэтому мусор возвращается гораздо раньше.] Когда диск возвращает мусор, поскольку RAID5 НИКОГДА не проверяет четность при чтении (RAID3 и RAID4, кстати, проверяют, и оба работают лучше для баз данных, чем RAID5 для загрузки), когда вы записываете мусорный сектор обратно, четность мусора будет рассчитана, и целостность вашего RAID5 будет потеряна! Аналогично, если диск выйдет из строя, а один из оставшихся дисков будет нестабильным, замена будет перестроена с мусором, также распространяя проблему на два блока вместо одного.

Нужно больше? Во время восстановления производительность чтения для массива RAID5 снижается на целых 80%. Некоторые продвинутые массивы позволяют вам настроить предпочтение больше в сторону восстановления или производительности. Однако это увеличит время восстановления и увеличит вероятность потери второго диска в массиве до завершения восстановления, что приведет к катастрофической потере данных. RAID10, с другой стороны, будет восстанавливать только один диск из 4 или более пар, при этом производительность ТОЛЬКО чтения из восстанавливаемой пары ухудшится, что приведет к общему падению производительности массива всего на 20%! Плюс, во время восстановления не используется время расчета четности — это прямое копирование данных.

А как насчет потери второго диска? Ну, с RAID10 нет никакой опасности, если только одно зеркало, которое восстанавливается, также не выйдет из строя, а это на 80% или более менее вероятно, чем выход из строя любого другого диска в массиве RAID5! И поскольку большинство отказов нескольких дисков вызваны необнаруженными производственными дефектами, вы можете сделать эту вероятность исчезающе малой, убедившись, что зеркалируете каждый диск одним из партии другого производителя. («О, — скажете вы, — эта схема кажется маловероятной!» Фу, мы потеряли 50 дисков за две недели, когда партия из 200 дисков IBM начала выходить из строя. IBM обнаружила, что у одной партии дисков заклинивали подшипники шпинделя после стольких часов работы. К счастью, отчасти благодаря RAID10, а отчасти благодаря титаническим усилиям технических специалистов DG и наших собственных людей за 2 недели не было потеряно никаких данных. ОДНАКО одна файловая система RAID5 была полностью потеряна после того, как второй диск вышел из строя во время восстановления. К счастью, все было на ленте.

Вывод? Для безопасности и производительности отдайте предпочтение RAID10 в первую очередь, RAID3 во вторую, RAID4 в третью и RAID5 в последнюю очередь! Первоначальная причина спецификаций RAID2-5 заключалась в том, что высокая стоимость дисков делала RAID1, зеркалирование, непрактичным. Теперь это уже не так! Диски имеют цену товара, даже самые большие и быстрые диски дешевле в абсолютных долларах, чем диски тогда, а стоимость за МБ составляет ничтожную часть от того, что было. Имеет ли RAID5 КАКОЙ-ЛИБО смысл еще? Я думаю, что, очевидно, нет.

Чтобы представить ситуацию в перспективе: если диск стоит 1000 долларов США (а большинство стоят гораздо дешевле), то переход с 4-парного массива RAID10 на 5-дисковый массив RAID5 сэкономит 3 диска или 3000 долларов США. Каковы расходы на сверхурочную работу, износ и изнашивание технических специалистов, администраторов баз данных, менеджеров и клиентов даже в случае страха перед восстановлением? Каковы расходы на снижение производительности и, возможно, снижение удовлетворенности клиентов? Наконец, каковы расходы на потерянный бизнес, если данные невозможно восстановить?

Скопировано с сайта BAARF, но, безусловно, заслуживает внимания.

Используйте RAID 10 везде, где это возможно — потратьте деньги на дополнительный диск.

решение3

Если предположить, что на нем не запускаются приложения и он просто хранит файлы ОС, то RAID 1 будет вполне достаточно.

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

решение4

Если скоростьинадежность важна, RAID0+1 должен обеспечить наилучшую производительность (нет необходимости в расчетах четности) с возможностью выживания при отказе двух дисков. Но не все контроллеры поддерживают это.

Связанный контент