Linux не видит массив рейдов

Обновлено: 04.07.2024

Аппаратный RAID настраивается на физических серверах, которые используют выделенный RAID-контроллер для управления конфигурацией RAID.

Контроллер RAID управляет всеми задачами, связанными с RAID, и выполняет их независимо от операционной системы. Это означает, что операционная система не требует никаких ресурсов для выполнения задач, связанных с рейдом.

RAID означает избыточный массив недорогих дисков. Он объединяет несколько физических жестких дисков в один или несколько логических дисков для повышения производительности и надежности.

В этом руководстве мы покажем вам, как проверить аппаратный RAID, настроенный на серверах HP ProLiant, из Linux.

Как проверить конфигурацию аппаратного RAID на серверах HP ProLiant

Используйте команду lspci, чтобы проверить, есть ли в вашей системе физический RAID-контроллер или нет, в большинстве случаев физические серверы используют аппаратный RAID-контроллер.

Выходные данные ниже показывают, что RAID-контроллер присутствует в системе, что не означает, что мы уже настроили RAID на сервере.

cciss — это блочный драйвер для старых RAID-контроллеров HP Smart Array. Чтобы просмотреть конфигурацию каждого контроллера, используйте следующую команду.

Вы можете определить имя устройства с помощью команды df, как показано ниже:

Выходные данные ниже ясно показывают, что «RAID 1» ​​настроен на контроллере массива «cciss0».

Схема именования устройств следующая:

  • /dev/cciss/c0d0 — контроллер 0, диск 0, все устройство
  • /dev/cciss/c0d0p1 — контроллер 0, диск 0, раздел 1

Проверка конфигурации аппаратного RAID на серверах HP ProLiant с помощью инструмента hpacucli

Используйте инструмент hpacucli (он же HP Array Configuration Utility) для проверки других конфигураций контроллеров HP Smart Array, таких как список жестких дисков, состояние жесткого диска, уровень рейда, расположение дискового отсека и т. д.

  • Добавлены два физических диска, размер каждого из которых составляет 146 ГБ.
  • Физические диски находятся в отсеках 1 и 2.
  • Оба диска исправны, поэтому отображается "ОК".
  • RAID-1 настроен

Как проверить статус зеркалирования дисков на серверах HP ProLiant с помощью инструмента hpacucli

Вы получите письмо от HPSIM о любых аппаратных сбоях, поскольку вы должны были настроить это во время сборки сервера. Например, если жесткий диск выйдет из строя, вы получите предупреждение от HPSIM.

Если у вас есть запасной диск, вы можете легко заменить его, поскольку он использует жесткие диски с возможностью горячей замены. Когда вы вставляете новый диск, он автоматически запускает зеркалирование, и вы можете увидеть состояние зеркалирования жесткого диска с помощью команды hpacucli, как показано ниже:

Заключительные мысли

В этом руководстве мы описали, как проверить конфигурацию аппаратного RAID и статус восстановления жесткого диска на серверах HP ProLiant из Linux.

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

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

Здесь нет тайны. Достаточно беглого просмотра стандартного журнала и файлов статистики, чтобы заметить сбой диска.

Каталог /var/log/messages всегда должен заполнять экран множеством сообщений об ошибках, независимо от того, что произошло. Но когда речь идет о сбое диска, сообщается об огромном количестве ошибок ядра. Несколько неприятных примеров для мазохистов. Чаще всего сбои дисков выглядят так или так. И, как и ожидалось, классический вид /proc/mdstat также выявит проблемы. Позже в этом разделе мы узнаем, как отслеживать RAID с помощью mdadm, поэтому мы можем получать оповещения о сбоях диска. Теперь пришло время узнать больше об интерпретации /proc/mdstat.

Порядок, в котором устройства отображаются в выходных данных /proc/mdstat, ничего не значит.

Наконец, помните, что вы всегда можете использовать raidtools или mdadm для проверки массивов. Эти команды громко и четко покажут резервные и неисправные диски.

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

Коротко о том, что вы не можете, за исключением, возможно, того, чтобы проткнуть накопитель пожарным топором, на котором вы хотите «симулировать» неисправность. Вы никогда не можете знать, что произойдет, если диск умрет. Он может электрически захватить шину, к которой он подключен, делая все диски на этой шине недоступными. Я никогда не слышал о том, что это происходит, хотя, но это вполне возможно. Диск также может просто сообщить об ошибке чтения/записи на уровень SCSI/IDE, что, в свою очередь, позволит уровню RAID изящно справиться с этой ситуацией. К счастью, так часто бывает.

Помните, что вы должны использовать RAID, чтобы ваш массив мог пережить сбой диска. Линейный или RAID-0 полностью выйдет из строя, если устройство отсутствует.

Принудительный отказ оборудования

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

Загляните в системный журнал и загляните в /proc/mdstat, чтобы узнать, как работает RAID. Сработало?

Неисправные диски должны быть отмечены значком (F), если вы посмотрите на /proc/mdstat . Кроме того, пользователи mdadm должны видеть состояние устройства как ошибочное.

Когда вы снова подключите диск (с выключенным питанием, конечно, помните), вы можете снова добавить «новое» устройство в RAID с помощью команды raidhotadd.

Принудительный сбой с помощью программного обеспечения

В новых версиях raidtools есть команда raidsetfaulty. Используя raidsetfaulty, вы можете просто имитировать сбой диска, не отключая его от сети.

Просто запуска команды должно быть достаточно, чтобы вывести из строя диск /dev/sdc2 массива /dev/md1. Если вы используете mdadm, просто введите Теперь все движется вверх, и появляется веселье. Во-первых, вы должны увидеть что-то вроде первой строки в системном журнале. Что-то вроде второй строки появится, если у вас настроены запасные диски. Проверка /proc/mdstat покажет поврежденный массив. Если бы был доступен запасной диск, реконструкция должна была начаться.

Еще одна новая утилита в новейших рейдтулах — lsraid. Попробуйте с пользователями mdadm запустить команду и насладиться просмотром.

Теперь вы видели, что происходит, когда устройство выходит из строя. Давайте все исправим.

Сначала мы удалим неисправный диск из массива. Запустите команду Пользователи mdadm могут запустить команду. Обратите внимание, что raidhotremove не может извлечь диск из работающего массива. По понятным причинам горячим удалением из массива подлежат только битые диски (запуск рейдстопа и размонтирование устройства не поможет).

Теперь у нас есть /dev/md1, который только что потерял устройство. Это может быть поврежденный RAID или, возможно, система, находящаяся в процессе реконструкции. Мы ждем завершения восстановления, прежде чем вернуть все в нормальное состояние.

Поэтому путешествие заканчивается, когда мы отправляем /dev/sdc2 домой. Как обычно, вы можете использовать mdadm вместо raidtools. Это должна быть команда Когда блудный сын вернется в массив, мы увидим, что он станет активным членом /dev/md1, если это необходимо. В противном случае он будет помечен как запасной диск. Управление стало проще.

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

RAID не может и не должен защищать от повреждения данных на носителе. Следовательно, также не имеет никакого смысла намеренно повреждать данные (например, с помощью dd) на диске, чтобы посмотреть, как система RAID справится с этим. Скорее всего (если вы не повредите суперблок RAID), уровень RAID никогда не узнает о повреждении, но ваша файловая система на устройстве RAID будет повреждена.

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

Вы можете запустить mdadm в качестве демона, используя режим Follow-Monitor. При необходимости это заставит mdadm отправлять оповещения по электронной почте системному администратору, когда массивы обнаруживают ошибки или сбои. Кроме того, режим отслеживания можно использовать для запуска команд на случай непредвиденных обстоятельств в случае сбоя диска, например, дать второй шанс неисправному диску, удалив и повторно вставив его, чтобы можно было автоматически устранить нефатальный сбой.

Давайте рассмотрим простой пример. Запуск должен выпустить демон mdadm для мониторинга /dev/md2. Параметр задержки означает, что опрос будет производиться с интервалом в 1800 секунд. Наконец, о критических событиях и фатальных ошибках следует сообщать системному администратору по электронной почте. Мониторинг RAID стал проще.

Наконец, параметры --program или --alert указывают программу, которая будет запускаться при обнаружении события.

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

Использование mdadm для мониторинга массива RAID просто и эффективно. Однако при таком мониторинге возникают фундаментальные проблемы — что произойдет, например, если демон mdadm остановится? Чтобы преодолеть эту проблему, следует искать «настоящие» решения для мониторинга. Существует ряд доступных бесплатных программ, решений с открытым исходным кодом и коммерческих решений, которые можно использовать для мониторинга программного RAID в Linux. Поиск на FreshMeat должен дать достаточное количество совпадений.

Когда я работаю в Linux, я могу получить следующую информацию от lsblk (ненужные диски удалены из вывода):

Когда я вручную извлекаю диски из сервера, я могу сказать, что физически использую следующие диски:

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

Есть ли способ определить, использую ли я аппаратный RAID внутри Linux, и выяснить всю информацию об этом (например, тип RAID, доступные диски), не переключая отключить сервер, физически вытащить диски и прочитать их этикетки?

Можно ли собрать эту информацию изнутри Linux или цель аппаратного RAID состоит в том, чтобы сделать базовую систему «невидимой» для операционной системы?

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

Разное оборудование выполняет RAID по-разному и имеет разные драйверы. Во многих случаях вам не нужно выключать систему, но, по крайней мере, вам нужно знать, какая модель контроллера или набора микросхем у вас есть, чтобы вы могли найти команды для запроса контроллера из операционной системы.

Обычно информацию о контроллере или наборе микросхем можно найти с помощью dmesg, dmidecode, lspci и других подобных утилит. Если это встроенный RAID на материнской плате, знание производителя и модели материнской платы поможет вам в 99% случаев.

добавляет ответ, объясняющий, как выяснить, какой RAID-контроллер используется изнутри Linux — @IQAndreas, но это не вопрос. Ответы на serverfault должны быть ответом на заданный вопрос. Если у вас есть другой вопрос, вы должны отредактировать свой вопрос. На этот вопрос почти наверняка можно ответить самостоятельно, потратив несколько минут на поиск в Google. В любом случае, ответ на этот вопрос — lshw .

6 ответов 6

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

Чтобы узнать, какой RAID-контроллер вы используете, попробуйте выполнить одну из следующих команд:

lspci

Здесь искомая информация называется "3ware Inc 9690SA SAS/SATA-II RAID PCIe".

lsscsi

Эта команда недоступна в Debian и Ubuntu, но быстрый sudo apt-get install lsscsi доставит ее из репозиториев. Обратите внимание: если вы не используете RAID-контроллер, вместо этого здесь будут отображаться производитель и номер модели вашего жесткого диска.

Здесь мы видим, что производитель "AMCC", а номер модели карты RAID — "9690SA-8I". Быстрый поиск в Google показывает, что эта карта также известна как "AMCC 3Ware 9690SA-8I".

Третий метод (который дает довольно много выходных данных) заключается в использовании команды lshw. Запустите lshw -class disk от имени пользователя root, чтобы отображались только сведения о жестких дисках (включая информацию о RAID).

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

Если производитель указан в этом списке, дополнительные сведения о том, как получить информацию о RAID для вашей карты, см. в этих ответах:

Запустите что-нибудь вроде lspci -knn | grep 'Контроллер шины RAID' .

Используя этот вывод, Google (например) для LSI Logic / Symbios Logic MegaRAID SAS 2208 .

Обнаружьте, что он использует утилиту storcli для опроса RAID-контроллера.

Скачать и установить.

storcli64 show показывает конкретную модель контроллера, а также индекс контроллера, количество групп дисков и виртуальных дисков.

storcli64 /c0/d0 show показывает первый контроллер, первую группу дисков. Сообщает вам уровни рейда, включая вложенность.

storcli64 /c0/eall/sall show all показывает всю информацию обо всех дисках.

Это все, что вам нужно сделать. Просто используйте обычную проверку оборудования в Linux, затем Google, а затем загрузите и установите сопутствующие утилиты.

Предложения и комментарии @Gene абсолютно точны.

Этот ответ полностью относится к выходным данным, которые вы получаете от команды lspci, и способности вашего поиска Google идентифицировать производителя и получить правильный инструмент командной строки.

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

Поскольку ответ на мой вопрос будет зависеть от аппаратного обеспечения, я добавил вики-ответ сообщества о том, как узнать, какой RAID-контроллер вы используете.Затем этот ответ содержит ссылки на ответы (в том числе и ваши), содержащие сведения о конкретных контроллерах или производителях.

Если вы хотите изменить формат своего ответа, чтобы отразить это, было бы неплохо, но не обязательно.

Чтобы создать профиль хранилища, я бы сделал следующее перед запуском lspci или загрузкой чего-либо.

Это не универсальный ответ, и он не дает вам всей необходимой информации, но мы использовали его на одном аппаратном RAID-контроллере Adaptec. Это дало некоторый доступ к самим дискам через специальные устройства /dev/sg1 , /dev/sg2 и т.д.

Мы могли бы запустить smartctl -a /dev/sg1, чтобы получить много информации об этом физическом диске, включая производителя, номер модели, интерфейс, серийный номер, размер и другие данные.

Что касается выяснения того, какой контроллер используется, я согласен с комментарием Джина о dmidecode , dmesg и lspci — я бы тоже попробовал их в первую очередь.


В дополнение к методам lspci и lshw, описанным в другом ответе, вы можете проанализировать dmesg и использовать smartctl для получения информации о физических дисках. Например, взгляните на этот сервер с контроллером PERC H710p:

Вы видите два определенных массива: sda и sdb . Запуск smartctl для таких виртуальных устройств приводит к следующему результату:

Чтобы проверить значения работоспособности физического диска, вы можете использовать синтаксис smartctl --all -d , . Например, чтобы проверить первый диск второго массива:

Наконец, для получения информации о структуре массива (т. е. о типе RAID, запасных дисках и т. д.) нужно было использовать специальные инструменты. megacli — это универсальный инструмент для карт на основе LSI, но также существуют специализированные инструменты (например, omreport storage vdisk). Например, на сервере DELL:


Это было протестировано на следующих RAID-контроллерах: 9690SA-8I

Пожалуйста, дайте мне знать в комментариях, работает ли это для вашего конкретного контроллера или инструкции нуждаются в обновлении для вашей модели.

Скачивание

Во-первых, вам нужно загрузить инструмент tw_cli. Его можно найти на веб-сайте Avago Technologies*:

Введите tw_cli в строку поиска, а затем перемещайтесь, пока не найдете загрузку с именем CLI Linux — из кодовых наборов 10.2.2.1/9.5.5.1 (номер последней версии может отличаться от указанного здесь)

Распакуйте zip-файл, и в x86 или x86_64 вы найдете нужный вам двоичный файл tw_cli. Сохраните этот двоичный файл на свой сервер или компьютер.

Запуск tw_cli

ПРИМЕЧАНИЕ. (1) Утилита командной строки может потребоваться для запуска от имени пользователя root. (2) Запустите его, как и любой другой двоичный файл, либо добавив его в путь, либо запустив его непосредственно из текущего каталога с помощью ./tw_cli .

Сначала запустите tw_cli show, чтобы получить список RAID-контроллеров, доступных в вашей системе:

Здесь мы видим, что подключен один контроллер с идентификатором c2 (запомните этот идентификатор!), к которому подключено 6 физических дисков. Чтобы получить более подробную информацию о том, какие диски подключены к устройству, запустите tw_cli /c2 show (заменив /c2 идентификатором вашего контроллера):

В первой группе показаны используемые настройки RAID. Вторая группа показывает, какие диски в данный момент физически подключены к серверу.

В данном конкретном случае у меня есть две конфигурации RAID:

  • u0 -> Диски p0 и p1 — это диски емкостью 300 ГБ от одного и того же производителя, настроенные на использование RAID-1 (точные зеркала друг друга)
  • u1 -> У меня есть четыре диска Hitachi емкостью 1 ТБ (от p2 до p5), настроенных с использованием RAID-5 («один из дисков» используется для обеспечения сохранности данных в случае отказа любого из других дисков). Это означает (как мы видим сверху), у u1 есть 3 ТБ (или, скорее, 2793,94 ГБ) полезных данных.

Еще больше информации о состоянии и работоспособности дисков можно получить, запустив tw_cli /c2/u0 show или tw_cli /c2/p0 show . Дополнительные сведения и команды можно найти на справочных страницах.

В этой главе описывается избыточный массив независимых дисков (RAID). Пользователь может использовать RAID для хранения данных на нескольких дисках. Это также помогает избежать потери данных в случае сбоя диска.

19.1. Резервный массив независимых дисков (RAID)

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

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

RAID распределяет данные по каждому устройству в массиве, разбивая их на фрагменты одинакового размера (обычно 256 КБ или 512 КБ, хотя допустимы и другие значения). Каждый фрагмент затем записывается на жесткий диск в массиве RAID в соответствии с используемым уровнем RAID. Когда данные считываются, происходит обратный процесс, создавая иллюзию того, что несколько устройств в массиве на самом деле являются одним большим диском.

Системные администраторы и другие лица, управляющие большими объемами данных, могут извлечь выгоду из использования технологии RAID. Основные причины для развертывания RAID:

  • Повышает скорость
  • Увеличение емкости хранилища с помощью одного виртуального диска.
  • Сводит к минимуму потерю данных из-за сбоя диска.
  • Макет RAID и онлайн-преобразование уровня

19.2. Типы RAID

Существует три возможных подхода к RAID: встроенный RAID, аппаратный RAID и программный RAID.

Прошивка RAID

Прошивка RAID , также известная как ATARAID, представляет собой тип программного RAID, в котором наборы RAID можно настроить с помощью меню встроенного ПО. Микропрограмма, используемая этим типом RAID, также подключается к BIOS, позволяя вам загружаться с его наборов RAID. Различные поставщики используют разные форматы метаданных на диске для маркировки членов набора RAID. Intel Matrix RAID — хороший пример встроенной RAID-системы.

Аппаратный RAID

Аппаратный массив управляет подсистемой RAID независимо от хоста. Он может представлять хосту несколько устройств на RAID-массив.

Аппаратные RAID-устройства могут быть внутренними или внешними по отношению к системе. Внутренние устройства, обычно состоящие из специализированной платы контроллера, которая прозрачно для операционной системы обрабатывает задачи RAID. Внешние устройства обычно подключаются к системе через SCSI, Fibre Channel, iSCSI, InfiniBand или другое высокоскоростное сетевое соединение и представляют в систему тома, такие как логические единицы.

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

Программный RAID

Программный RAID реализует различные уровни RAID в коде блочного устройства ядра. Он предлагает самое дешевое решение, поскольку не требуются дорогие платы контроллера дисков или шасси с возможностью «горячей» замены [1]. Программный RAID также работает с любыми блочными хранилищами, поддерживаемыми ядром Linux, такими как SATA, SCSI и NVMe. С современными более быстрыми процессорами программный RAID также обычно превосходит аппаратный RAID, если только вы не используете устройства хранения высокого класса.

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

Ключевые особенности программного RAID-стека Linux:

  • Многопоточный дизайн
  • Переносимость массивов между машинами Linux без реконструкции
  • Реконструкция массива в фоновом режиме с использованием свободных системных ресурсов
  • Поддержка дисков с возможностью горячей замены
  • Автоматическое определение ЦП для использования определенных функций ЦП, таких как поддержка потоковой передачи данных с несколькими инструкциями (SIMD)
  • Автоматическое исправление поврежденных секторов на дисках в массиве
  • Регулярные проверки согласованности данных RAID для обеспечения работоспособности массива
  • Проактивный мониторинг массивов с оповещениями по электронной почте, отправляемыми на указанный адрес электронной почты о важных событиях

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

Обратите внимание, что повторная синхронизация — это процесс синхронизации данных на устройствах в существующем RAID для обеспечения избыточности

19.3. Уровни RAID и линейная поддержка

RAID поддерживает различные конфигурации, включая уровни 0, 1, 4, 5, 6, 10 и линейный. Эти типы RAID определяются следующим образом:

Уровень RAID 0, часто называемый чередованием , – это метод сопоставления данных с чередованием, ориентированный на производительность. Это означает, что данные, записываемые в массив, разбиваются на полосы и записываются на диски-члены массива, что обеспечивает высокую производительность ввода-вывода при низких внутренних затратах, но не обеспечивает избыточности.

Многие реализации RAID уровня 0 распределяют данные по устройствам-членам только до размера наименьшего устройства в массиве.Это означает, что если у вас есть несколько устройств с немного разными размерами, каждое устройство обрабатывается так, как если бы оно было того же размера, что и самый маленький диск. Таким образом, общая емкость хранилища массива уровня 0 равна емкости наименьшего диска в аппаратном RAID или емкости наименьшего раздела в программном RAID, умноженной на количество дисков или разделов в массиве.

Уровень RAID 1, или зеркалирование, обеспечивает избыточность путем записи идентичных данных на каждый диск-член массива, оставляя «зеркальную» копию на каждом диске. Зеркалирование остается популярным благодаря своей простоте и высокому уровню доступности данных. Уровень 1 работает с двумя или более дисками и обеспечивает очень хорошую надежность данных и повышает производительность для приложений с интенсивным чтением, но при относительно высокой стоимости.

Уровень RAID 1 обходится дорого, поскольку вы записываете одну и ту же информацию на все диски в массиве, что обеспечивает надежность данных, но гораздо менее эффективно использует пространство, чем уровни RAID на основе четности, такие как уровень 5. Однако , эта неэффективность пространства дает преимущество в производительности: уровни RAID на основе четности потребляют значительно больше ресурсов ЦП для создания четности, в то время как уровень RAID 1 просто записывает одни и те же данные более одного раза в несколько членов RAID с очень небольшой нагрузкой на ЦП. Таким образом, уровень RAID 1 может превзойти уровни RAID на основе четности на машинах, где используется программный RAID, а ресурсы ЦП на машине постоянно нагружаются операциями, отличными от действий RAID.

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

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

Поскольку выделенный диск контроля четности представляет собой неотъемлемое узкое место для всех транзакций записи в массив RAID, уровень 4 редко используется без сопутствующих технологий, таких как кэширование с обратной записью, или в определенных обстоятельствах, когда системный администратор намеренно разрабатывает программный RAID. устройство с учетом этого узкого места (например, массив, в котором практически не будет транзакций записи после заполнения массива данными). Уровень RAID 4 настолько редко используется, что он недоступен в качестве опции в Anaconda. Однако при необходимости пользователь может создать его вручную.

Емкость аппаратного массива RAID уровня 4 равна емкости наименьшего членского раздела, умноженной на количество разделов минус один . Производительность массива RAID уровня 4 всегда асимметрична, то есть чтение опережает запись. Это связано с тем, что запись потребляет дополнительную пропускную способность ЦП и основной памяти при создании четности, а затем также потребляет дополнительную пропускную способность шины при записи фактических данных на диски, поскольку вы записываете не только данные, но и четность. При чтении необходимо только прочитать данные, а не четность, если только массив не находится в ухудшенном состоянии. В результате операции чтения генерируют меньший трафик на диски и шины компьютера при том же объеме передаваемых данных в нормальных условиях работы.

Это наиболее распространенный тип RAID. Распределяя четность по всем дискам-членам массива, уровень RAID 5 устраняет узкое место записи, характерное для уровня 4. Единственным узким местом производительности является сам процесс вычисления четности. С современными процессорами и программным RAID это обычно не является узким местом, поскольку современные процессоры могут очень быстро генерировать контроль четности. Однако, если у вас есть достаточно большое количество устройств-членов в программном массиве RAID5, так что общая совокупная скорость передачи данных между всеми устройствами достаточно высока, это узкое место может начать играть роль.

Как и уровень 4, уровень 5 имеет асимметричную производительность и значительно опережает операции записи. Емкость хранилища RAID уровня 5 рассчитывается так же, как и для уровня 4.

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

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

Этот уровень RAID пытается совместить преимущества производительности уровня 0 с избыточностью уровня 1. Он также помогает сократить часть пространства, занимаемого впустую в массивах уровня 1 с более чем двумя устройствами. На уровне 10 можно, например, создать массив из 3 дисков, сконфигурированный для хранения только 2 копий каждого фрагмента данных, что позволяет общему размеру массива в 1,5 раза превышать размер самых маленьких устройств, а не равняться только наименьшее устройство (как это было бы с массивом 1 уровня из 3 устройств). Это позволяет избежать использования процессорного процесса для вычисления четности, как в случае с RAID уровня 6, но менее эффективно использует пространство.

Создание RAID уровня 10 не поддерживается во время установки. Его можно создать вручную после установки.

Линейный RAID — это группировка дисков для создания виртуального диска большего размера.

В линейном RAID фрагменты выделяются последовательно с одного диска-участника, переходя к следующему диску только тогда, когда первый полностью заполнен. Эта группировка не дает выигрыша в производительности, так как маловероятно, что какие-либо операции ввода-вывода будут разделены между дисками-участниками. Линейный RAID также не обеспечивает избыточности и снижает надежность. Если какой-либо один диск выходит из строя, весь массив не может быть использован. Емкость — это сумма всех дисков-участников.

Читайте также: