|
Création du RAID level 1 pour "/" (root)
Introduction
Dans l'exemple la partition root se trouve sur c0t0d0s0, et le miroir sur un slice de taille identique qui se trouve sur c0t1d0s0. Pour le stockage de State Database sont créés 2 partitions sélectionnées d'une taille de 16 Mo : c0t0d0s7 et c0t1d0s7.
Pour augmenter la production il est recommandé de stocker le State Database sur les disques physiques, différents de ceux sur lesquelles sont stockées les partitions réunies en RAID.
Ici, on étudie le cas le plus simple de 2 disques physiques dans le système.
La création de State Database
Avant la création de tous les RAID dans le système Solaris, il est indispensable d'avoir la State Database (SD) où sont stocké la configuration et l'état de tous les RAID dans le système.
Pour le travail de correction Solstice DiskSuite, il faut avoir au moins 2 copies sur SD pour chaque disque.
Pour le stockage de SD dans le cas où il faut créer RAID pour partition root, on utilise des partitions séparées de taille moyenne et dans chacune d'elles on peut stocker quelques copies de SD (les copies s'appellent State Replica). Une State Replica occupe environ 4 Mo.
Exemple :
La création de SD dans 2 partitions sélectionnées (chaque partition a 3 State Replica) :
#metadb -f -c 3 -a c0t0d0s7
#metadb -c 3 -a c0t1d0s7
#metadb
flags first blk block count
...
a u 16 1034 /dev/dsk/c0t0d0s7
a u 1050 1034 /dev/dsk/c0t0d0s7
a u 2084 1034 /dev/dsk/c0t0d0s7
a u 16 1034 /dev/dsk/c0t1d0s7
a u 1050 1034 /dev/dsk/c0t1d0s7
a u 2084 1034 /dev/dsk/c0t1d0s7
La création de RAID
On créé 2 métas d11 et d12, l'un d'eux va contenir la partition root déjà existante, l'autre la partition non initialisée, réunie en RAID.
#metainit -f d11 1 1 c0t0d0s0
d11: Concat/Stripe is setup
#metainit d12 1 1 c0t1d0s0
d12: Concat/Stripe is setup
On créé le miroir d10 (Mirror, égal RAID1), qui ne va contenir qu'un seul méta d11, c'est-à-dire que le miroir réel ne va pas encore exister.
#metainit d10 -m d11
d10: Mirror is setup
Pour que le système ait une bonne configuration de réception de la part du méta, il est nécessaire d'utiliser metaroot qui corrigera éventuellement les fichiers de configuration /etc/vfstab et /etc/system :
#metaroot d10
Ensuite, il est recommandé d'utiliser un lockfs : c'est un mécanisme dont la fonction et l'application ne sont pas décrites (dans Solaris 9 pour effectuer les actes analogiques, il est pas nécessaire) :
#lockfs -fa
On redémarre le système afin d'avoir RAID Level 1, déjà en marche, mais sans le miroir réel pour l'instant.
#init 6
Après le démarrage du système, on branche au miroir le deuxième méta :
#metattach d10 d12
d10: Submirror d12 is attached
Le procès de la création du RAID 1 se lance automatiquement, et on peut le suivre à l'aide du metastat. Il faut attendre que ce processus soit terminé, et donc que le système est prêt.
La préparation du système au démarrage d'un " META " de réserve.
Afin de diminuer le nombre de démarrages du système et du temps des travaux, cette étape peut être effectuée avant la création du massif.
Pour le démarrage du meta de réserve (dans notre cas, c0t1d0) il est nécessaire de connaître son chemin d'accès complet. Donc, c'est :
#ls -l /dev/rdsk/c0t1d0s0
lrwxrwxrwx 1 root root 55 Mar 5 12:54 /dev/rdsk/c0t1d0s0 ->
../../devices/sbus@0,f8000000/esp@1,200000/sd@1,0:a,raw
La partie soulignée est celle dont on a besoin.
Dès qu'on peut aller à OpenBoot (exemple : lors du démarrage sur l'étape de la création du massif), on crée le nom de ce meta et on lui fait la configuration du démarrage automatique en cas où le meta principal tombe en panne :
ok nvalias second_root /sbus@0,f8000000/esp@1,200000/sd@1,0:a
ok printenv boot-device
boot-device = disk net
ok setenv boot-device disk second_root net
boot-device = disk second_root net
ok nvstore
Donc, si le meta c0t0d0 est en panne, le système commence à se démarrer du c0t1d0.
On peut vérifier le démarrage du système du meta de réserve (uniquement après la création entière du massif, et après avoir effectué metattach ainsi que le processus de création du RAID 1 :
ok boot second_root
Si tout a été bien effectué, le système se démarrera sur le meta de réserve aussi bien que sur le principal. Le démarrage suivant sera effectué du meta principal.
|
|
 |