RAID
RAID (англ. redundant array of independent/inexpensive disks — избыточный массив независимых/недорогих жёстких дисков) — массив из нескольких дисков, управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых внешней системой как единое целое. В зависимости от типа используемого массива может обеспечивать различные степени отказоустойчивости и быстродействия. Служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации (RAID 0).
Мониторинг RAID обычная задача пользователя. Почему пользователя? В настоящее время RAID -массивы стоят на различных устройствах, начиная от NAS для домашнего использования и заканчивая промышленными серверами. Нередко на обычном компьютере стоит RAID.
Виды RAID -массивов
- аппаратные (hardware): полностью аппаратный RAID-контроллер проводит все операции самостоятельно (независимо от процессора), и представляет весь RAID-массив в виде одного диска. Такие устройства оснащаются сложными вычислительными процессорами и собственной памятью. Очень часто аппаратные контроллеры выполняются в виде плат расширения для PCIe ×4 или PCIe ×16. Цена такого устройства вполне сопоставима со стоимостью неплохого системного блока. Adaptec RAID: Adaptec SATA RAID 2410SA; Adaptec ASR-6405; 3ware/LSI Logic: 3ware 9650SE-4LPML SATA, 3ware 3W-9690SA-4I SAS - Serial Attached SCSI.
- программно-аппаратно: часть функций контроллера возлагается на плечи центрального процессора и оперативной памяти посредством драйверов. Как правило, по такому принципу работают все недорогие RAID-контроллеры, включая те, что встраиваются сегодня в материнские платы. Управление данными происходит не на уровне самого «железа», а на уровне микрокода BIOS через драйвер ОС. От сюда и такие понятия как «драйвера» на SATA-RAID (без которых RAID видится как отдельные диски), от сюда и проблемы. Во-первых это несовместимость – сгорела материнская плата, и ищи такую же плату целиком (не контроллер), нужна идентичная плата чтобы добыть свои ценные данные.
- FakeRAID при помощи утилиты dmraid - обнаруживает, активирует, деактивирует и показывает свойства программных RAID-массивов (интегрированных в материнскую плату).
- программные(software):
- mdadm программные RAID массивы для ОС GNU/Linux (Linux Software Raid)
- основанные на GEOM: gstripe (RAID0), gmirror - Зеркалирование (Mirroring) - FreeBSD (RAID1), graid3 (RAID3), gconcat для ОС FreeBSD
- внешние:
- Функции RAID выполняет микропроцессор внешнего, независимого от хоста RAID-контроллера. Внешние RAID-контроллеры размещаются в отдельном корпусе (обычно вместе с самим RAID-массивом), имеющем свой независимый блок питания и управляются через внешний канал SCSI-контроллера, подключенного к системной плате. Внешние RAID-контроллеры обеспечивают самый высокий уровень производительности и надежности из всех типов RAID-контроллеров и их рекомендуют для серверов среднего и верхнего уровней. Наличие же каналов Fibre Channel позволяет разнести сервер и raid массив на значительное расстояние для защиты данных. Единственный недостаток - относительно высокая цена.
Выбор RAID - контроллера
- Аппаратный или программный RAID? Разница между двумя видами RAID заключается не только в цене. Аппаратный RAID-контроллер производит все необходимые вычисления самостоятельно; программный RAID нагружает центральный процессор сервера. Поэтому, если уровень RAID сравнительно простой (RAID 0 или 10), а сервер достаточно производительный, вы можете воспользоваться программной реализацией. Более сложные вычисления, которые выполняются, например, в рамках уровней RAID 5EE или 6, должны желательно выполняться аппаратным RAID-контроллером, поскольку его работа не снизит производительность сервера в целом. Аппаратный RAID также независим от операционной системы, а простые драйверы хост-адаптера, как правило, являются частью ее дистрибутива. Аппаратный RAID-контроллер, при наличии батареи, может работать в режиме обратной записи, добавляя еще один уровень защиты данных.
- Зависимость от операционной системы. Операционные системы постоянно совершенствуются и причины, по которым вы выбираете операционную систему сегодня, могут стать несущественными уже через год. В дополнение к этому, на разных серверах и рабочих станциях могут быть установлены разные операционные системы. RAID-контроллер не должен ограничивать вас ни в выборе ОС, ни в стоимости модернизации ОС.
- Огромный минус аппаратного RAID: HDD отформатированы контроллером и могут работать и читаться только контроллером того же производителя (т.е. каждый производитель 3ware, Adaptec, Intel по политическим соображениям делают свои не совместимые друг с другом контроллеры). Вывод сломался контроллер или нужно найти полностью аналогичный (+ идентичная прошивка) или прощай данные. Бекап может никто и не отменял, но он не всегда целесообразен ведь зачастую информация не важна и важна бесперебойная работа сервера.
Software vs FakeRaid
- при выходе из строя материнки можно использовать любую другую в случае mdadm
- mdadm качественней любого Fakeraid-софта (!!????)
- mdadm нагружает дополнительно ЦП
- в Fakeraid для операций записи-чтения на диски (разбивка на страйпы) используется чип с собственной логикой, в Software эти операции решаются силами процессора. встроенный в мат. плату RAID лучше вообще не использовать, потому что он представлен на самом деле в виде firmware и к нему нужны драйвера, которых может и не быть под Linux.
- если для fakeraid надо использовать линуксовый драйвер dmraid, а для softraid юзается mdadm, то лучше не забивать себе голову лишними вещами и юзать сразу mdadm, к тому же при принесении дисков на любой комп вы сможете сделать mdamd –asseble и заюзать raid
- В разных форумах активно не рекомендует пользоваться встроенной поддержкой fake-raid'а, приводя кучу аргументов, а только soft-raid'ом…потому что fake-raid — это фактически софтовый raid, только у каждого производителя свой собственный формат хранения (а то и несколько). и требуется, чтобы либо dm-raid его понимал, либо вкорячивать в систему малооттестированный блоб от производителя (чаще всего он жёстко привязан к конкретной версии ядра, а если и не жёстко, то совсем не факт, что пересобираемая прослойка соберётся под современными ядрами). не хотите — используйте свободную реализацию soft-raid-а. гораздо более надёжную ввиду лучшей оттестированности.
- Скорость чтения записи raid1 будет одинаково работать на софтварном и аппаратном рейде, ну очень минимальные отличия, так как не надо вычислять контрольные суммы.
В реальном аппаратном рейде контрольные суммы вычисляются на контроллере + там есть проверка на отложенную запись.
Повторяю для особо одарённых: настоящий RAID абсолютно прозрачен для операционных систем (любых), не требует установки драйверов, не даёт увидеть отдельных дисков вместо массива целиком. Всё остальное - software/fake raid.
Поддержка RAID в Linux
Многие контроллеры RAID для своей работы требует драйвера на уровне ядра операционной системы. Для того чтобы выяснить поддерживает ли ядро ваше устройство нужно установить файлы документации.
Для Debian:
# aptitude install linux-doc-2.6.26 user-mode-linux-doc
Для Ubuntu:
# aptitude install linux-doc user-mode-linux-doc
После установки, например поддержка RAID контроллеров Adaptec будет описана в файле aacraid.txt.gz
# mcedit /usr/share/doc/linux-doc/scsi/aacraid.txt.gz
Мониторинг состояния HDD, RAID
- Adaptec RAID: Adaptec SATA RAID 2410SA; Adaptec ASR-6405
- 3ware/LSI Logic: 3ware 9650SE-4LPML SATA, 3ware 3W-9690SA-4I SAS - Serial Attached SCSI
- Мониторинг LSI SAS9211-4i с помощью SNMP
dmesg | grep LSI
Уровни спецификации RAID и таблица сравнения быстродействия RAID
Калифорнийский университет в Беркли представил следующие уровни спецификации RAID, которые были приняты как стандарт де-факто:
- RAID 0 представлен как не отказоустойчивый дисковый массив.
- RAID 1 определён как зеркальный дисковый массив.
- RAID 2 зарезервирован для массивов, которые применяют код Хемминга.
- RAID 3, 4, 5 используют чётность для защиты данных от одиночных неисправностей.
- RAID 6 используют чётность для защиты данных от двойных неисправностей
- Комбинированные уровни
- RAID 0 («Striping») — дисковый массив из двух или более жёстких дисков с отсутствием избыточности. Информация разбивается на блоки данных (Ai) и записывается на оба/несколько дисков одновременно.
(+): За счёт этого существенно повышается производительность (от количества дисков зависит кратность увеличения производительности).
(+): RAID 0 может быть реализован как программно, так и аппаратно.
(−): Страдает надёжность всего массива (при выходе из строя любого из входящих в RAID 0 винчестеров полностью и безвозвратно пропадает вся информация). Надёжность массива RAID 0 заведомо ниже надёжности любого из дисков в отдельности.
- RAID 1 (Mirroring — «зеркалирование»).
(+): Обеспечивает приемлемую скорость записи и выигрыш по скорости чтения при распараллеливании запросов.
(+): Имеет высокую надёжность — работает до тех пор, пока функционирует хотя бы один диск в массиве.
(-): Недостаток заключается в том, что приходится выплачивать стоимость двух жёстких дисков, получая полезный объем одного жёсткого диска (классический случай, когда массив состоит из двух дисков).
Изначально предполагается, что жёсткий диск — вещь надёжная. Соответственно, вероятность выхода из строя сразу двух дисков равна (по формуле) произведению вероятностей отказа каждого диска, то есть ниже на порядок. К сожалению, данная теоретическая модель недостаточно полно отражает процессы, протекающие в реальной жизни. Так, обычно два винчестера берутся из одной партии и работают в одинаковых условиях, а при выходе из строя одного из дисков нагрузка на оставшийся увеличивается, поэтому на практике при выходе из строя одного из дисков следует срочно принимать меры — вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва. Достоинство такого подхода — поддержание постоянной надёжности. Недостаток — ещё большие издержки (то есть стоимость трёх винчестеров для хранения объёма одного диска).
Зеркало на многих дисках — RAID 1+0. При использовании такого уровня зеркальные пары дисков выстраиваются в «цепочку», поэтому объём полученного тома может превосходить ёмкость одного жёсткого диска. Достоинства и недостатки такие же, как и у уровня RAID 0. Как и в других случаях, рекомендуется включать в массив диски горячего резерва из расчёта один резервный на пять рабочих.
Комбинированные уровни RAID
Помимо базовых уровней RAID 0 — RAID 5, описанных в стандарте, существуют комбинированные уровни RAID 1+0, RAID 3+0, RAID 5+0, RAID 1+5, которые различные производители интерпретируют каждый по-своему.
- RAID 1+0 — это сочетание зеркалирования и чередования.
Нынешние контроллеры используют этот режим по умолчанию для RAID 1. То есть, 1 диск основной, 2-й диск — зеркало, причем чтение производится с них поочередно, как для RAID 0. Собственно, сейчас можно считать что RAID 1 и RAID 1+0 — это просто разное название одного и того же метода аппаратного зеркалирования дисков. Но не стоит забывать, что полноценный RAID 1+0 должен содержать как минимум 4 диска.
- RAID 5+0 — это чередование томов 5-го уровня. RAID 1+5 — RAID 5 из зеркалированных пар. И так далее.
Комбинированные уровни наследуют как преимущества, так и недостатки своих «родителей»: появление чередования в уровне RAID 5+0 нисколько не добавляет ему надёжности, но зато положительно отражается на производительности. Уровень RAID 1+5, наверное, очень надёжный, но не самый быстрый и, к тому же, крайне неэкономичный: полезная ёмкость тома меньше половины суммарной ёмкости дисков…
Стоит отметить, что количество жестких дисков в комбинированных массивах также изменится. Например для RAID 5+0 используют 6 или 8 жестких дисков, для RAID 1+0 — 4, 6 или 8.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах