
Чипсет, который я использую, поддерживает технологию Intel RSTe. Это означает, что у меня есть два варианта настройки RAID:
- Обычный программный RAID для Linux, использующий
mdadm
команду. - RSTe (либо через BIOS, либо, опять же, с помощью
mdadm
команды с-e imsm
переключателем).
Учитывая, что это mdadm
можно использовать в обоих случаях, я не могу понять разницу между ними.
- Что дает мне RSTe по сравнению с обычным программным RAID-массивом Linux?
- В режиме RSTe фактический путь ввода-вывода RAID (т. е. зеркалирование и чередование) обрабатывается Linux
md
или BIOS. - В частности, когда я использую «матричный RAID» (т.е. RAID охватывает определенные разделы, а не целые диски), нужно ли мне вручную устанавливать grub на оба MBR?
решение1
Обзор
Существует три распространенных типа RAID:
Software RAID
: Это означает, что ваш BIOS и другие операционные системы думают, что у вас действительно есть два отдельных диска, но чисто на программном уровне ваша операционная система использует некий специфичный для ОС формат на диске для RAID (зеркалирование, чередование, биты четности и т. д.). Вся обработка выполняется ЦП без аппаратной поддержки.BIOS RAID
: Также известный как «Fake RAID» или «Host RAID», это означает, что прошивка вашей материнской платы (точнее, ваш контроллер SATA/SAS) имеет явную поддержку распознавания устройств RAID. На уровне логического устройства (lun
) ваши несколько жестких дисков будут отображаться как один диск для операционной системы. По сути, это контроллер SATA/SAS, который говорит: «У меня на самом деле только один жесткий диск. Ну, на самом деле их два, но тссс, это всего лишь один, поверьте мне». Другими словами, операционная система можетрассказыватьчто это настройка RAID, но операционная система *не отвечает за формат RAID на диске четности/чередования/и т. д. Однако даже в этом режиме ЦП выполняет все вычисления для битов четности и чередования. Материнская плата, BIOS и контроллер SATA имеют достаточно логики, чтобы физически «объединить» устройства и определить формат RAID на диске. Но у них нет выделенного процессора для выполнения вычислений, и они зависят от программного обеспечения в операционной системе, которое сообщает ЦП, что нужно сделать, поэтому вам все равно нужно сообщить Linux о вашем BIOS 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, называемый Dynamic Disks.BIOS RAID привязан к вашей материнской плате. Возможно, можно переместить диски, отформатированные в определенном формате BIOS RAID, на другую материнскую плату с похожим решением BIOS RAID; например, Intel RST на другую систему с RST. Но вам нужно будет тщательно изучить этот вопрос, прежде чем делать перемещение, чтобы убедиться, что он будет совместим, если вы заботитесь о его совместимости.
Аппаратный RAID привязан к конкретному аппаратному контроллеру или серии аппаратных контроллеров, которые производитель явно заявляет как совместимые. Некоторые поставщики поддерживают очень постоянный формат дисков аппаратного RAID, который поддерживается многими поколениями контроллеров; другие меняют формат чаще. Опять же, вам придется исследовать его в каждом конкретном случае.
Производительность
Производительность во многом зависит откаквы настраиваете основные параметры массива RAID и в меньшей степени — конкретное решение. В целом, аппаратные RAID-контроллеры имеют самый высокий «потолок» для максимальной производительности; они также не нагружают ваш процессор так сильно, как другие решения. Но если вы выберете неправильный тип RAID для своей рабочей нагрузки, или неправильный размер полосы, или неправильный подход к кэшированию, аппаратный RAID-контроллер также может быть чрезвычайно медленным, медленнее, чем один из дисков, работающих в режиме не-RAID. То же самое касается и других решений, которые также могут быть чрезвычайно медленными.
Программный RAID больше всего подходит для конфигурации RAID-1, поскольку зеркалирование представляет собой простое копирование одних и тех же данных на два диска, и нет необходимости вычислять биты четности. RAID-5 на программном RAID ужасен.
Производительность BIOS RAID в целом сопоставима с производительностью Software RAID, но некоторые контроллеры BIOS RAID и форматы дисков известны своей глючностью или низкой производительностью. В общем, если вам нужно выбрать между Software 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 на HDD проста.
Диски в RAID (особенно если они одной марки и модели, произведены на одном заводе и работают рядом друг с другом при одной и той же температуре) скорее всего выйдут из строя быстро один за другим. Поэтому если диск вышел из строя, то, вероятно, не стоит просто пожимать плечами, вставлять новый диск и начинать восстановление: есть большая вероятность, что во время восстановления последний диск, содержащий согласованную копию данных, сам выйдет из строя. Именно в этот момент, когда вы доберетесь до последнего оставшегося диска, я бы рекомендовал обратиться к эксперту (или сделать это самостоятельно, если вы разбираетесь в оборудовании), чтобы он извлек пластины из исходного диска, купил новый диск идентичной марки/модели, вставил пластины туда и считывал данные с нового диска. Это дорого и отнимает много времени, но это самый надежный способ сохранить ваши данные.
Итак, вот пять вопросов, на которые я вам ответил; если вы нашли в этой информации какую-либо ценность, пожалуйста, отметьте ответ соответствующим образом. Спасибо.
решение2
Ответ Allquixotic слишком длинный:
- Что дает мне RSTe по сравнению с обычным программным RAID-массивом Linux?
Поддержка загрузки и немного другой набор функций. По сути это формат данных. – Вы даже можете использовать его без RST Option ROM от Intel (тогда у вас нет специальной поддержки загрузки). Что подразумевает формат, написано на mdadm
странице руководства.
- В режиме RSTe фактический путь ввода-вывода RAID (т. е. зеркалирование и чередование) обрабатывается Linux md или BIOS.
Linux md (т.е. ядро целиком).
Это оставляет открытым один вопрос: почему RST от Intel ограничен только некоторыми чипсетами? Они вообще не участвуют в RAID. В лучшем случае они хранят немного, что сообщает Option ROM отказаться от работы на неподдерживаемых чипсетах.
решение3
Хм, один ответ слишком длинный, другой слишком короткий.
RST "raid" в основном используется, если вы используете двойную загрузку рабочей станции, поскольку Intel выпускает драйверы для Windows и Linux, и вы можете настроить raid в BIOS. Вы настраиваете RAID, разбиваете виртуальный диск на разделы и можете выполнить двойную загрузку, при этом обе ОС понимают наличие нескольких разделов.
mdam — если сервер выделен под Linux. Это «лучше», поскольку если вы перестраиваете массив, вы делаете это из ОС, а не из BIOS, поэтому скорость перестройки намного выше. С большими дисками перестройка RAID BIOS может занять несколько ДНЕЙ.
Но реальность такова, что вы выбираете между зеленым и синим экземплярами C. Реальность такова, что программный RAID по сути является «последним шансом» на CYA-рейд.
Если вы потеряете диск в программном RAID-массиве, по сути, это позволяет вам немедленно остановить сервер, сделать полную резервную копию, заменить неисправный диск и, возможно, остальные диски, а затем либо заново создать массив, либо попытаться его перестроить. Довольно часто быстрее заменить диск, затем стереть все на нем и заново создать массив, а затем загрузиться с резервного диска восстановления, а затем восстановиться из резервной копии.
Благодаря аппаратной микросхеме массива все диски можно поместить в лотки с возможностью горячей замены, и если один из них выходит из строя, на неисправном диске загорается красный индикатор. Вы извлекаете его, заменяете новым диском, а затем аппаратная карта RAID автоматически восстанавливает массив, пока сервер все еще работает.
Хотя теоретически это возможно сделать, если у вас есть лотки с возможностью горячей замены и программный массив Linux mdam, на практике вы рискуете столкнуться с паникой, и сервер может легко не загрузиться с оставшегося диска.
Другая проблема касается ТИПА используемых дисков. Обычные диски рабочих станций по мере старения начинают образовывать плохие сектора, которые диск внутренне переназначает в запасные сектора. Проблема в том, что это переназначение происходит только при записи — диск откладывает переназначение, если чтение происходит в плохом секторе, а на некоторых моделях дисков будет многократно перечитывать плохой или неисправный сектор, сравнивая результат каждый раз, пока не решит, что у него есть лучшие данные, которые он может получить из этого сектора, прежде чем переназначать его. Этот процесс может занять около минуты, и в течение этого времени у вас теперь есть 1 диск в массиве, игнорирующий коды команд, поэтому программное обеспечение RAID выйдет из строя и пометит массив как деградировавший. После перезагрузки у вас теперь есть 2 диска с одним и тем же сектором, которые могут иметь разные данные на разных дисках, поэтому теперь менеджер программного RAID не знает, какой из них «хороший», диск, на котором не было ошибок, или диск, который переназначил сектор с наилучшим приближением к имеющимся у него данным. Western Digital выпускает диски "Red", которые должны использоваться в программных RAID-массивах, которые этого не делают, они просто немедленно отказывают в считывании сектора, когда обнаруживают плохой сектор, и переназначают его, чтобы менеджер массива мог взять данные из сектора на хорошем диске и записать их на диск с неисправным сектором. Излишне говорить, что они берут дополнительную плату за эти диски.
Подводя итог, не используйте программный raid для сервера, который не может выдержать некоторое время простоя в случае отказа диска. Он в основном предназначен для рабочих станций, где люди не делают резервное копирование регулярно, и для небольших SOHO-серверов, которые резервируются и могут выдержать день или около того простоя в случае отказа диска.