27

Используемый чипсет поддерживает технологию Intel RSTe. Это означает, что у меня есть два варианта настройки RAID:

  • Обычный программный RAID- массив Linux, использующий команду mdadm .
  • RSTe (либо через BIOS, либо снова с помощью команды mdadm с -e imsm ).

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

  • Что мне дает RSTe по сравнению с обычным программным RAID-массивом Linux?
  • В режиме RSTe фактический путь ввода-вывода RAID (т. Е. Зеркалирование и чередование) обрабатывается Linux md или BIOS.
  • В частности, когда я использую "матричный RAID" (т. Е. RAID охватывает определенные разделы, а не целые диски), нужно ли вручную устанавливать grub на обе MBR?

3 ответа3

44

обзор

Существует три распространенных типа RAID:

  • Software RAID: это означает, что ваш BIOS и другие операционные системы думают, что у вас действительно есть два отдельных диска, но чисто на программном уровне ваша операционная система использует некоторый специфичный для ОС формат диска для RAID (зеркалирование, чередование, биты четности, без разницы). Вся обработка выполняется процессором без аппаратной поддержки.

  • BIOS RAID: также известный как "Fake RAID" или "Host RAID", это означает, что встроенное программное обеспечение вашей материнской платы (точнее, контроллера SATA/SAS) имеет явную поддержку для распознавания устройств RAID. На уровне логического устройства (lun) ваши несколько жестких дисков будут отображаться как один диск для операционной системы. Это в основном контроллер SATA/SAS, говорящий: «У меня действительно только один жесткий диск. Ну, на самом деле это два, но, шшшш, это всего лишь один, поверь мне ". Другими словами, операционная система может сказать, что это установка RAID, но операционная система * не несет ответственности за формат на диске четности / чередования RAID и т.д. Однако даже в этом режиме процессор выполняет все вычисления для битов четности и чередования. Материнская плата, BIOS и контроллер SATA обладают достаточной логикой, чтобы физически "объединять" устройства и определять формат диска для RAID. Но им не хватает выделенного процессора для выполнения вычислений, и они зависят от программного обеспечения в операционной системе, которое указывает ЦПУ на их выполнение, поэтому вам все равно придется рассказать Linux о вашем RAID RAID. (Intel Matrix / RST - это тип BIOS RAID).

  • Hardware RAID: здесь у вас есть специальный чип, единственной целью которого является обработка данных, необходимых для RAID. Чип может быть довольно мощным; некоторые аппаратные RAID-контроллеры на самом деле имеют двухъядерный процессороподобный чип на плате, хотя он специально оптимизирован для запуска встроенной операционной системы, которая ОЧЕНЬ быстро выполняет вычисления RAID, например биты четности для RAID-5 или чередование для RAID -0. Жесткие диски физически подключены к карте RAID, которая предоставляет контроллер SATA/SAS, обычно кэш-память для чтения и записи в DRAM или Flash, собственную очередь команд и встроенный центральный процессор, который выполняет более математические вычисления. Эти аппаратные микросхемы стоят от 150 долларов на начальном уровне до многих тысяч для промышленных объединительных плат RAID-центров.

Совместимость

В общем, каждый тип RAID "привязан" к какому-то конкретному аспекту, который при изменении этого аспекта приводит к проблемам совместимости.

  • Программный RAID связан с операционной системой, которая определила формат RAID. Иногда между двумя разными версиями одной и той же операционной системы формат RAID нарушается, что приводит к несовместимости. Хотя концептуально возможно, чтобы любой программный формат RAID поддерживался любой другой операционной системой, поскольку на практике это всего лишь программное обеспечение, на практике большинство операционных систем представляют несовместимые форматы RAID, которые может распознавать только эта операционная система. Однако наиболее известной совместимостью являются форматы RAID, изначально используемые ядром Linux (md как вы обсуждали в OP), которые также могут распознавать программный RAID Windows, называемый динамическими дисками.

  • BIOS RAID привязан к вашей материнской плате. Может быть возможно перенести диски, отформатированные с определенным форматом BIOS RAID, на другую материнскую плату с аналогичным решением BIOS RAID; например, Intel RST для другой системы с RST. Но вам нужно будет тщательно изучить это, прежде чем сделать ход, чтобы убедиться, что он будет совместимым, если вы заботитесь о его совместимости.

  • Аппаратный RAID связан с этим конкретным аппаратным контроллером или серией аппаратных контроллеров, которые явно заявлены производителем как совместимые. Некоторые поставщики поддерживают очень согласованный формат аппаратного диска RAID, который поддерживается многими поколениями контроллеров; другие меняют формат чаще. Опять же, вам придется исследовать его в каждом конкретном случае.

Спектакль

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

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

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

  • Производительность аппаратного RAID может быть безумно высокой из-за оптимизированной вычислительной мощности процессора контроллера RAID, который, как я уже говорил, рассчитан на высокую пропускную способность и может фактически выступать в качестве многоядерного чипа - так что это серьезное железо. Основным недостатком является то, что вы теряете гибкость - вы не можете просто вставить диски в другой компьютер без аппаратного RAID-контроллера - и затрат. Аппаратный RAID - лучший уровень для использования RAID-5 или RAID-6, особенно если у вас много дисков (4 или более).

В общем и целом

Хотя BIOS RAID поддерживается Linux, я не рекомендую вам его использовать.

Теперь, чтобы прямо ответить на ваши вопросы, после того как я дал вам многословный ответ:

Что мне дает RSTe по сравнению с обычным программным RAID-массивом Linux?

См. Сравнение выше между программным RAID и BIOS RAID. "RSTe" является экземпляром BIOS RAID; Linux md RAID без -e imsm является экземпляром программного RAID.

В режиме RSTe фактический путь ввода-вывода RAID (т. Е. Зеркалирование и чередование) обрабатывается Linux md или BIOS.

Если вы имеете в виду путь к данным, он всегда обрабатывается ЦП (и, следовательно, операционной системой), если у вас нет выделенной аппаратной карты RAID. Я не думаю, что они будут на каких-либо материнских платах, хотя некоторые высокопроизводительные серверные чипсеты могут меня удивить ...

В частности, когда я использую "матричный RAID" (т. Е. RAID охватывает определенные разделы, а не целые диски), нужно ли вручную устанавливать grub на обе MBR?

Нет. На самом деле вам никогда не нужно устанавливать GRUB на обе MBR. Давайте рассмотрим это в каждом конкретном случае:

  • Программный RAID: просто выберите один диск произвольно, чтобы установить GRUB, и установите его в порядке BIOS, чтобы он загружался первым. Помните, что вы можете зеркалировать отдельные разделы, если хотите, поэтому диски не должны быть бит за битом идентичными в программном RAID. Можно иметь MBR с загрузчиком и ничего не иметь в MBR.

  • BIOS RAID: BIOS скажет вам, что это один "диск" (на самом деле он будет называть его "массив RAID"), поэтому вы не сможете выбрать, где установить GRUB. Когда вы устанавливаете Linux для этого, MBR (включая загрузчик) и любой другой сектор обоих дисков будут скопированы между двумя дисками. Таким образом, в отличие от программного RAID, BIOS RAID требует, чтобы оба диска были одинаковыми, потому что вы не можете разделить их как два логических устройства; контроллер диска говорит, что это ОДНО логическое устройство, а не два. Таким образом, вы не можете просто сказать: «Я хочу записать некоторые данные на диск 0, но не на диск 1». Невозможно. Но это вполне возможно с программным RAID.

  • Аппаратный RAID: BIOS скажет вам, что это один "диск", и что касается BIOS, он даже не осознает, что вы имеете дело с несколькими дисками. RAID-контроллер полностью абстрагирует все детали RAID от операционной системы и BIOS, за исключением того, что вы можете настроить некоторые аппаратные RAID-контроллеры, используя какой-то специальный протокол в операционной системе. Но устройства полностью неотделимы от программного уровня, подобно BIOS RAID.

Изменить: Обновление для получения дополнительных ответов на вопросы

Я все еще не могу понять пару вещей. Во-первых, о BIOS RAID: я могу собрать его с помощью mdadm, чтобы Linux на самом деле не скрывал нижележащие диски от меня.

Это странно и сложно объяснить. В основном диски появляются как один на определенных слоях, и как два на других слоях. Но я уверен, что в BIOS RAID каждый диск не будет иметь своего отдельного узла устройства, например, /dev/sda и /dev/sdb . Если да, то ваш BIOS RAID отличается от того, что я видел.

о grub и MBR: если RAID охватывает разделы, а не диски, то я все еще могу видеть базовые диски. MBR не находится под RAID, и поэтому вам нужно дважды установить загрузчик, чтобы иметь возможность загружаться в случае сбоя диска. Это правильно?

Установка другой копии не повредит , но в случае сбоя диска загрузка будет наименьшей вашей заботой. Короче говоря, продолжайте и делайте это, если хотите, но это вряд ли самая важная вещь. Установить grub с live CD на жесткий диск очень просто.

Диски в RAID (особенно, если они одного производителя и модели, произведены на одном заводе и работают в непосредственной близости друг от друга при одинаковой температуре), скорее всего, выйдут из строя быстро, один за другим. Таким образом, если диск вышел из строя, то, вероятно, не стоит просто пожать плечами, вставить новый диск и начать восстановление: есть большая вероятность, что во время восстановления последний диск, содержащий непротиворечивую копию данных, сам выйдет из строя. Именно в этот момент, когда вы перейдете к последнему оставшемуся диску, я бы порекомендовал нанять эксперта (или сделать это самостоятельно, если вы хорошо разбираетесь в оборудовании), удалить пластинки с исходного диска, купить новый диск идентичной марки / модели. поместите туда диски и считайте данные с нового диска. Это дорого и отнимает много времени, но это самый надежный способ сохранить ваши данные.

Итак, вот пять вопросов, на которые я ответил для вас; Если вы нашли какое-либо значение в этой информации, пожалуйста, отметьте ответ соответствующим образом. Благодарю.

1

Ответ Allquixotic слишком длинный:

  1. Что мне дает RSTe по сравнению с обычным программным RAID-массивом Linux?

Поддержка загрузки и немного другой набор функций. По сути, это формат данных. - Вы даже можете использовать его без RST Option ROM от Intel (тогда у вас нет специальной поддержки загрузки). Что подразумевается в формате, написано на странице руководства mdadm .

  1. В режиме RSTe фактический путь ввода-вывода RAID (т. Е. Зеркалирование и чередование) обрабатывается Linux md или BIOS.

Под Linux md (т.е. ядро целиком).

Это оставляет открытым вопрос: почему Intel RST ограничивается только некоторыми чипсетами? Они не участвуют в RAID вообще. В лучшем случае они хранят немного, что говорит Option ROM об отказе работать на неподдерживаемых чипсетах.

1

Хм, один ответ слишком длинный, другой слишком короткий.

RST "raid" в основном предназначен для использования при двойной загрузке рабочей станции, поскольку Intel выпускает драйверы для Windows и Linux и вы можете настроить raid в BIOS. Вы конфигурируете RAID, разбиваете виртуальный диск и можете выполнять двойную загрузку, так как обе ОС понимают несколько разделов.

mdam для, если сервер выделен для Linux. Это "лучше", поскольку, если вы перестраиваете массив, вы делаете это из ОС, а не из BIOS, поэтому скорость перестроения намного выше. Для больших дисков восстановление BIOS может занять несколько ДНЕЙ.

Но реальность такова, что вы выбираете между зеленой Частью C или синей Частью C. Реальность такова, что программный RAID - это, по сути, рейд "последней канавы CYA".

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

С помощью чипа аппаратного массива все диски могут быть помещены в лотки «горячей» замены, и при сбое одного из них загорается красный индикатор, на отказавшем диске вы извлекаете его, заменяете его новым диском, а затем карта аппаратного контроля автоматически восстанавливает массив, пока сервер еще работает.

Хотя теоретически это можно сделать, если у вас есть лотки горячей замены и программный массив Linux mdam, на практике вы рискуете паникой, и сервер может легко не загрузиться на оставшийся диск.

Другая проблема касается ТИПА используемых дисков. Обычные диски рабочих станций по мере старения начинают создавать поврежденные сектора, которые внутренне перераспределяются диском в резервные сектора. Проблема состоит в том, что это переназначение происходит только при записи - диск будет откладывать переназначение, если чтение происходит в плохом секторе, а на некоторых моделях дисков будет повторно перечитывать плохой или неисправный сектор, сравнивая результат каждый раз, пока не решит его имеет лучшие данные, которые он может получить из этого сектора, прежде чем переназначить его. Этот процесс может занять минуту или около того, и в течение этого времени у вас есть 1 диск в массиве, игнорирующий коды команд, поэтому программное обеспечение Software raid завершится сбоем и пометит массив как поврежденный. При перезагрузке у вас теперь есть 2 диска с одним и тем же сектором, которые могут иметь разные данные между дисками, поэтому теперь программный менеджер RAID не знает, что это "хорошо", диск, на котором не было ошибки, или диск, который переназначил сектор с наилучшим приближением данных, которые у него были. Western Digital делает "красные" диски, которые должны использоваться в программных RAID-массивах, которые этого не делают, они просто сразу не читают сектор, когда обнаруживают неисправный сектор, и перераспределяют его, чтобы менеджер массива мог взять данные из сектора на хорошем диске и запишите его на диск с неисправным сектором. Излишне говорить, что они взимают дополнительную плату за эти диски.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .