Управление дисками в 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: &lt;OPENBSD, SR RAID 1, 005&gt; SCSI2 0/direct fixed
sd2: 10244MB, 512 bytes/sec, 20980362 sec total

где будет сказано, что мы получили новое блочное устройство sd2 (в данном случае) значит всё прошло хорошо.

Другие задачи, связанные с рэйдом:

Узнать состояние рэйда:

bioctl sd2

Узнать состояние всех рэйдов в системе:

bioctl softraid0

Ребилд сломанного рейда (перед ребилдом, естественно, надо скопировать конфиг с работающего устройства, см. fdisk и disklabel выше)

bioctl -R /dev/имя_нового_устройства имя_массива

Next Post