Какая у вас типичная конфигурация диска веб-сервера? Обычно у меня есть диск для ОС и диск для данных. Диск с данными обычно представляет собой RAID 5, но я не могу вспомнить, что я раньше рекомендовал для диска ОС. Подходит ли для этого RAID 1?
Я работаю в крупной хостинговой компании, и чаще всего я вижу в своем корпоративном сегменте (не обязательно то, что я рекомендую, но то, что я вижу), предполагая, что сервер является автономным / использует локальное хранилище, - это массив ОС RAID 1, и массив данных RAID5.
Теперь, когда жесткие диски становятся больше, RAID 5 действительно становится менее идеальным, поскольку вероятность срабатывания URE во время восстановления одного диска довольно высока.
Но поскольку вы, кажется, конкретно спрашиваете о диске с ОС, да, RAID 1 является стандартным и обычно достаточным, если вы не собираетесь запускать другие приложения с этого диска.
Я управляю центром обработки данных и являюсь техническим директором крупного хостинга. МЫ НАСТОЯЩИЕ НАРОДЫ НИКОГДА НЕ ИСПОЛЬЗУЮТ RAID 5.
ИСПОЛЬЗУЙТЕ ХОРОШИЙ SAN везде, где это возможно
RAID5 использует ТОЛЬКО ОДИН диск с четностью на полосу, а многие массивы RAID5 - это 5 (если ваши подсчеты отличаются, скорректируйте вычисления соответствующим образом) дисков (4 данных и 1 четность, хотя это не один диск, который удерживает всю четность, как в RAID 3 & 4, но читайте дальше).
RAID 5 ТРАЧЕН, НО ТАК И RAID 10 и 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 и будут записаны на Диск 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 делать BTW, и оба работают лучше для баз данных, чем RAID5 для загрузки), когда вы записываете сектор мусора, будет вычислена четность мусора, и целостность вашего RAID5 будет потеряна! Точно так же, если диск выходит из строя и один из оставшихся дисков нестабилен, замена будет восстановлена с мусором, что также приведет к распространению проблемы на два блока, а не только на один.
Нужно больше? Во время восстановления производительность чтения для массива RAID5 снижается на 80%. Некоторые расширенные массивы позволяют настроить предпочтение в большей степени в сторону восстановления или производительности. Однако это увеличит время восстановления и повысит вероятность потери второго диска в массиве до завершения восстановления, что приведет к катастрофической потере данных. С другой стороны, RAID10 будет восстанавливать только один диск из 4 или более пар с ухудшенной производительностью ТОЛЬКО чтения из восстанавливаемой пары, что приведет к снижению производительности всего массива всего на 20%! Кроме того, при восстановлении не используется время вычисления четности - это прямая копия данных.
Что насчет потери второго диска? Что ж, с RAID10 нет опасности, если только одно восстанавливающееся зеркало также не выйдет из строя, а это на 80% или более менее вероятно, чем отказ любого другого диска в массиве RAID5! А поскольку большинство отказов нескольких дисков вызваны необнаруженными производственными дефектами, вы можете свести даже эту возможность к исчезающе малой, убедившись, что зеркалируете каждый диск с одним из партий другого производителя. («О», вы скажете, «это сценарий маловероятен!» Пух, мы потеряли 50 дисков за две недели, когда партия из 200 дисков IBM начала выходить из строя. IBM обнаружила, что единственная партия дисков будет иметь подшипники шпинделя. зависают после стольких часов работы. К счастью, отчасти из-за RAID10, а отчасти благодаря титаническим усилиям специалистов DG и наших сотрудников в течение двух недель никакие данные не были потеряны. ОДНАКО одна файловая система RAID5 была полностью утеряна после сбоя второго диска во время восстановления К счастью, все было на магнитной ленте.
Вывод? Для безопасности и производительности отдавайте предпочтение RAID10 первым, RAID3 вторым, RAID4 третьим и RAID5 последним! Первоначальная причина появления спецификаций RAID2-5 заключалась в том, что высокая стоимость дисков делала RAID1, зеркалирование, непрактичным. Это уже не так! Диски продаются по обычной цене, даже самые быстрые диски в абсолютном выражении дешевле, чем диски тогда, а стоимость одного Мбайт составляет ничтожную долю от того, что было раньше. Имеет ли RAID5 какой-то смысл? Очевидно, я думаю, что нет.
Для сравнения: если диск стоит 1000 долларов США (а большинство из них намного дешевле), то переход с 4-парного массива RAID10 на 5-дисковый массив RAID5 сэкономит 3 диска или 3000 долларов США. Какова стоимость сверхурочных, износа технических специалистов, администраторов баз данных, менеджеров и клиентов даже в случае страха восстановления? Какова цена снижения производительности и, возможно, снижения удовлетворенности клиентов? Наконец, какова стоимость потерянного бизнеса, если данные невозможно восстановить?
Скопировано с веб-сайта BAARF - но это точно стоит отметить.
По возможности используйте RAID 10 - тратьте на дополнительный диск.
Если предположить, что приложения не запускаются с него, а на нем просто размещаются файлы ОС, RAID 1 должен быть вполне достаточным.
Если вы запускаете какие-либо дополнительные приложения на томе ОС, вам необходимо учитывать нагрузку.
Для наших серверов мы запускаем ОС на C: (RAID 1), приложения на D: (RAID 1) и журналы / данные на E: (RAID 1). Если есть что-то, что требует резервирования, оно отправляется на диск SAN.
Если скорость и надежность важна, RAID0 + 1 должен обеспечивать наилучшую производительность (без четности для расчета) с отказоустойчивостью до двух дисков. Но не все контроллеры это поддерживают.
Это зависит! Если это простой статический веб-сайт, тогда подойдет пара дисков RAID 1, поскольку, по-видимому, содержимое диска все равно будет кэшировано в ОЗУ.
Если это сложный веб-сайт, управляемый базой данных, то у меня все равно будет пара RAID 1 для ОС (о чем вы на самом деле спрашивали), но у меня будет другая конфигурация диска для данных (базы).
Типичная конфигурация хранилища веб-серверов в моей организации выглядит следующим образом.
Операционная система = Raid 1
Бревна = Рейд 1 или Рейд 10
Данные = Raid 5 или Raid 10 (Тип массива здесь зависит от требований к производительности.)
Надеюсь, это поможет.