Oracle Solaris 10. Solaris Volume Manager

Описание создания RAID-массивов в операционной системе Solaris. Процедура меня лично заинтересовала на определенном этапе создания кластера (Configuration Steps For Using SVM из EIS Installation Checklist for SunCluster Systems). Необходимо создать software RAID-1 (mirror). Имеется 2 одинаковых диска, разметка одного из них показана ниже…

ФС для будущей ноды:

/ c0t0d0s0
/var c0t0d0s1
overlap c0t0d0s2
swap c0t0d0s3
/export c0t0d0s4
/opt c0t0d0s5
c0t0d0s6
c0t0d0s7 69MB (for metadb)

Копируем таблицу разделов:

prtvtoc /dev/dsk/c0t0d0s2 | fmthard -s – /dev/rdsk/c0t1d0s2

"Metadevices MUST be unique within the cluster"
"Recommendation: Place replica on slice7"

Перед созданием любых RAID-массивов в системе Solaris необходимо иметь State Database (далее – SD), в которой хранится конфигурация и состояние всех RAID в системе. Для работы SVM обязательным требованием является наличие одной копии базы структуры SVM. Для хранения SD используются отдельные небольшие разделы, в каждом из которых может храниться несколько копий SD (копии называются State Database Replica). Одна replica занимает около 4 Мбайт. Оптимальным решением является создание 3 реплик на каждом дисковом носителе. 4Мб x 3=12Mb. Я разметил 7ой слайс с размером 64Мб на всякий случай.

vi /etc/system
set md:mirrored_root_flag=1

metadb -afc 3 c0t0d0s7 c0t1d0s7

For root FS:

metainit -f d1 1 1 c0t0d0s0
metainit d2 1 1 c0t1d0s0
metainit d0 -m d1
metaroot d0
lockfs -fa
metastat -c d0 – ждем пока произойдет синхронизация
shutdown -i 6 -g 0 -y
metattach d0 d2
metastat -c d0 – ждем пока произойдет синхронизация

For /var FS: (Пример создания зеркала для файловой системы которая не может быть отмонтирована)

metainit -f d4 1 1 c0t0d0s1
metainit d3 -m d4
vi /etc/vfstab
cat /etc/vfstab | grep var
/dev/md/dsk/d3 /dev/md/rdsk/d3 /var ufs 1 no –
lockfs -fa
metastat -c d3 – ждем пока произойдет синхронизация
shutdown -i 6 -g 0 -y
metainit -f d5 1 1 c3t1d0s1
metattach d3 d5
metastat -c d3 – ждем пока произойдет синхронизация

For /var FS (Пример создания зеркала для раздела который может быть размонтирован):

umount /opt
metainit -f d7 1 1 c0t0d0s5
metainit d6 -m d7
vi /etc/vfstab
cat /etc/vfstab |grep opt
#to mount to fsck point type pass at boot options
/dev/md/dsk/d6 /dev/md/rdsk/d6 /opt ufs 2 yes –
mount /opt
metainit -f d8 1 1 c0t1d0s5
metattach d6 d8
metastat -c d6 – ждем пока произойдет синхронизация

For swap (Пример создания зеркала для swap ):

metainit -f d10 1 1 c0t0d0s3
metainit d11 1 1 c0t1d0s3
metainit d9 -m d10
vi /etc/vfstab
cat /etc/vfstab |grep opt
#to mount to fsck point type pass at boot options
/dev/md/dsk/9 – – swap – no –
metastat -c d9 – ждем пока произойдет синхронизация
shutdown -i 6 -g 0 -y
metattach d9 d11
metastat -c d9 – ждем пока произойдет синхронизация
vi /etc/dumpadm.conf:
DUMPADM_DEVICE=/dev/md/dsk/d9

Для того чтобы можно было загружаться с вторичного зеркала, необходимо установить в него загрузочную область (bootblk) и в OpenBoot прописать альтернативное загрузочное устройство:

installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c3t1d0s0

OBP:
eeprom boot-device
init 0
devalias
setenv boot-device disk0:a disk1:a
boot-device = disk0:a disk1:a

У меня немного по-другому:

use-nvramrc?=true
boot-device="boot_disk1 boot_disk2"
nvramrc="devalias boot_disk1 /pci@1c,600000/scsi@2/disk@1,0:a devalias boot_disk2 /pci@1c,600000/scsi@2/disk@2,0:a"

Пример того, что должна показать команда metastat -c dN:
d3 m 9.8GB d4 d5 (resync-2%)
d4 s 9.8GB c0t0d0s1
d5 s 9.8GB c0t1d0s1

Ссылки:
http://www.opennet.ru/docs/RUS/svm_raid/
http://www.unixdoc.ru/index.php?mode=2&podmode=1&arcicle_id=163&theme=RAID%20Solaris
http://surgutnet.ru/page.php?id=12
http://truewaytags.blogspot.com/2010/04/raid-solaris.html

Leave a comment

You must be logged in to post a comment.