Управление дисками в OpenBSD
По мотивам http://www.openbsd.org/faq/faq14.html
Узнать состояние SMART для диска можно с помощью утилиты smartctl
smartctl -d ata /dev/sd0c -i
Собственно управление массивами происходит через подсистему softraid, которая, в свою очередь представляет системе устройства, эмулируя scsi-интерфейс, то есть рэйдовые блочные устройства представляются ещё одним какбэ "физическим" диском, что может вносить определённую путаницу.
OpenBSD умеет загружаться только с Raid-1 или Raid-5, и то не со всех массивов, но это вопрос к драйверам.
Чтобы установить систему на софт-рэйд, до начала установки мы захотим выйти в shell.
Создание рэйда с нуля, при установке системы:
Инсталлятор по-умолчанию создаёт ряд заготовок файлов устройств для sd0, но мы восполним этот список, чтобы он включал и другие диски, которые мы впоследствии соберём в массив.
Создадим устройства в /dev:
cd /dev
sh MAKEDEV sd1
Следующим шагом мы создадим таблицу разделов MBR
fdisk -iy sd0
fdisk -iy sd1
Далее мы создадим таблицу разделов
Замечу, что создаётся т.н. UNIX disk label, от привычной дос-овской таблицы разделов она отличается не только структурой данных, записанных на диск, но и наименованием разделов. Первые 2 раздела (a, b) создаются как обычно, раздел c - особый, это всё блочное устройство, далее вплоть до литеры p также в штатном режиме.
# disklabel -E sd0
Label editor (enter '?' for help at any prompt)
> a a
offset: [2104515]
size: [39825135] *
FS type: [4.2BSD] RAID
> w
> q
No label changes.
Если на диске некие партиции таки есть, то их можно поудалять, для этого мы воспользуемся командой
p
(в контексте утилиты disklabel) которая покажет, что у нас есть из разделов и командой
d <буква_диска>
чтобы удалить разделы
А теперь бессовестно склонируем конфигурацию разделов с первого диска на второй
disklabel sd0 > layout
disklabel -R sd1 layout
rm layout
А дальше нужно, собственно, собрать рэйд
(он всегда собирается на виртуальном контроллере softraid0, даже если этих массивов over9000):
bioctl -c 1 -l sd0a,sd1a softraid0
После чего на экране мы увидим нечто вроде
scsibus1 at softraid0: 1 targets
sd2 at scsibus2 targ 0 lun 0: <OPENBSD, SR RAID 1, 005> SCSI2 0/direct fixed
sd2: 10244MB, 512 bytes/sec, 20980362 sec total
где будет сказано, что мы получили новое блочное устройство sd2 (в данном случае) значит всё прошло хорошо.
Другие задачи, связанные с рэйдом:
Узнать состояние рэйда:
bioctl sd2
Узнать состояние всех рэйдов в системе:
bioctl softraid0
Ребилд сломанного рейда (перед ребилдом, естественно, надо скопировать конфиг с работающего устройства, см. fdisk и disklabel выше)
bioctl -R /dev/имя_нового_устройства имя_массива