Solaris ha un sistema particolare di Raid software, sicuro e raffinato. Potrebbe essere configurabile via SMC (Solaris Management Console) ma a mano è più facile e si fa prima.
Ovviamente valgono le regole base di tutti i raid: 2 dischi uguali e partizioni identiche. A differenza di Linux è necessario su Solaris lasciare una slice (tipicamente da 300/400 mb) per le informazioni relative al SVM Replica. Supponiamo quindi che il nostro disco sia così configurato:
slice 0 root
slice 1 swap
slice 3 var
slice 4 Kernel crash dump
slice 7 SVM Replica
Copiamo la tabella delle partizioni dal primo disco (c0t0d0) al secondo disco (c1t0d0)
# prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s – /dev/rdsk/c1t0d0s2
Ora dobbiamo creare il database per la replica, uno sul primo disco e uno sul secondo.
# metadb -a -f -c 2 c0t0d0s7
# metadb -a -c 2 c1t0d0s7
Una considerazione: il raid su Solaris non è mai un raid 1 puro, ma un raid 0+1, quindi è necessario prima attivsare un concat su ogni slice e poi fare il raid 1 delle partizioni in raid 0.
# metainit -f d10 1 1 c0t0d0s0
d10: Concat/Stripe is setup
# metainit -f d11 1 1 c0t0d0s1
d11: Concat/Stripe is setup
# metainit -f d13 1 1 c0t0d0s3
d13: Concat/Stripe is setup
Per il primo disco, e ora per il secondo:
# metainit -f d20 1 1 c1t0d0s0
d20: Concat/Stripe is setup
# metainit -f d21 1 1 c1t0d0s1
d21: Concat/Stripe is setup
# metainit -f d23 1 1 c1t0d0s3
d23: Concat/Stripe is setup
Adesso sempre con il comando metainit inizializziamo il raid 1 inserendo nel mirror solo le varie slice in raid 0 del primo disco:
# metainit d0 -m d10
d0: Mirror is setup
# metainit d1 -m d11
d1: Mirror is setup
# metainit d3 -m d13
d3: Mirror is setup
Utilizzamo il comando metaroot per specificare che il boot va fatto dal raid, mirror d0:
# metaroot d0
Ora dobbiamo modificare il file /etc/vfstab per fare in modoche il sistema monti le partizioni dal mirror e non singolarmente dal disco. Essenzialmente va modificato il device da montare, che non deve più essere il disco ma la posizione mirror del raid:
/dev/md/dsk/d1 – – swap – no -
/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no logging
/dev/md/dsk/d3 /dev/md/rdsk/d3 /var ufs 1 no logging
E’ arrivato il momento atteso. Fate il riavvio del vostro sistema. Incrociate le dita e sperate bene! Una volta fatto il riavvio non vi resta altro da fare che attaccare i raid 0 del secondo disco. Sempre con il comando metainit, come prima, fare:
#metattach d0 d20
#metattach d1 d21
#metattach d3 d23
Adesso il vostro sistema inizierà a mirrorare i dischi. Utilizzate il comando metastat per controllare lo stato del mirroring, in questo modo:
metastat d0
Dovreste ottenere un output simile a questo:
-bash-3.00# metastat d0
d0: Mirror
Submirror 0: d10
State: Okay
Submirror 1: d20
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 14339072 blocks (6.8 GB)d10: Submirror of d0
State: Okay
Size: 14339072 blocks (6.8 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t0d0s0 0 No Okay Yes
d20: Submirror of d0
State: Okay
Size: 14339072 blocks (6.8 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t0d0s0 0 No Okay Yes
Probabilmente voi leggerete Mirroring XX% nello stato del secondo Submirror.
Per ultimo, attivate, la slice di dump per i kernel crash:
# dumpadm -d /dev/dsk/c0t0d0s4
Fine.
Mi raccomando, leggetevi il capitolo Volume Management del Sun Administration Book. E cercate di non fare danni. I dati sono vostri. Un bel backup prima di iniziare.
Recent Comments