Дополнительные функции raid-контроллеров
Многие RAID-контроллеры оснащены набором дополнительных функций:
"Горячая" замена (Hot Swap). Если один из дисков массива прикажет долго жить, можно будет заменить винчестер на новый без отключения питания, что особенно актуально для сервера, работу которого не всегда возможно остановить. Впрочем, если приглянувшийся вам контроллер не оснащен такой функцией, то всегда можно докупить специальные салазки, поддерживающие горячую замену.
"Горячая замена" (Hot Spare). Данная "примочка" осуществляет как бы автоматическую замену винчестеров. Работает это так: на ряду со всеми дисками массива RAID включается еще один, резервный HDD. И при обнаружении отказа одного из основных дисков сломавшийся диск автоматически отключается от RAIDа, и вместо сломавшегося харда также автоматически начинает работать резервный винчестер. Останется лишь заменить сломавшийся диск, что уже не требует особенной срочности.
Проверка на стабильность. Некоторые контроллеры способны проверять работоспособность жесткого диска. "А я и так узнаю, если жесткий диск загнется - ведь находящаяся на нем информация не будет загружена", - скажите вы. Да, вы об этом узнаете. Но только в любом случае, кроме RAID 1. Ведь если откажет один диск, то информация будет успешно грузится с зеркала, пока и зеркальный диск не загнется. И вот уже после этого вы окончательно потеряете все данные, хранящиеся в массиве. Так вот для того, чтобы узнать о поломке диска и во время заменить его на работоспособный до отказа зеркального, и нужна такая функция диагностирования.
Программный (англ. Software) raid
Для реализации RAID можно применять не только аппаратные средства, но и полностью программные компоненты (драйверы). Например, в системах на ядре Linux существуют специальные модули ядра, а управлять RAID-устройствами можно с помощью утилиты mdadm. Программный RAID имеет свои достоинства и недостатки. С одной стороны, он ничего не стоит (в отличие от аппаратных RAID-контроллеров, цена которых от $250). С другой стороны, программный RAID использует ресурсы центрального процессора, и в моменты пиковой нагрузки на дисковую систему процессор может значительную часть мощности тратить на обслуживание RAID-устройств.
Ядро Linux 2.6.28 (последнее из вышедших в 2008 году) поддерживает программные RAID следующих уровней: 0, 1, 4, 5, 6, 10. Реализация позволяет создавать RAID на отдельных разделах дисков, что аналогично описанному выше Matrix RAID. Поддерживается загрузка с RAID.
ОС семейства Windows NT, такие как Windows NT 3.1/3.5/3.51/NT4/2000/XP/2003 изначально, с момента проектирования данного семейства, поддерживает программный RAID 0, RAID 1 и RAID 5 (см. Dynamic Disk). Более точно, Windows XP Pro поддерживает RAID 0. Поддержка RAID 1 и RAID 5 заблокирована разработчиками, но, тем не менее, может быть включена, путем редактирования системных бинарных файлов ОС, что запрещено лицензионным соглашением. Windows 7 и Windows Server 2008 программный RAID не поддерживает. Windows Server 2003 — 0, 1 и 5. Windows XP Home RAID не поддерживает.
В ОС FreeBSD есть несколько реализаций программного RAID. Так, atacontrol, может как полностью строить программный RAID, так и может поддерживать полуаппаратный RAID на таких чипах как ICH5R. Во FreeBSD, начиная с версии 5.0, дисковая подсистема управляется встроенным в ядро механизмом GEOM. GEOM предоставляет модульную дисковую структуру, благодаря которой родились такие модули как gstripe (RAID 0), gmirror (RAID 1), graid3 (RAID 3), gconcat (объединение нескольких дисков в единый дисковый раздел). Также существуют устаревшие классы ccd (RAID 0, RAID 1) и gvinum (менеджер логических томов vinum). Начиная с FreeBSD 7.2 поддерживается файловая система ZFS, в которой можно собирать следующие уровни RAID: 0, 1, 5, 6, а также комбинируемые уровни.
OpenSolaris и Solaris 10 используют Solaris Volume Manager, который поддерживает RAID-0, RAID-1, RAID-5 и любые их комбинации как 1+0. Поддержка RAID-6 осуществляется в файловой системе ZFS.
