OpenBSD en Raid soft

De OpenWikiBSD
Aller à : navigation, rechercher

Afin de garder la sécurité des données sur un serveur low-end ou sur un serveur dédié chez un hébergeur..

source

Contrairement au mdadm de Debian, le Softraid de OpenBSD permet de mettre plusieurs partitions dans un seul volume softraid.

Par conséquent, il vaut mieux mettre l'ensemble du disque.

Résumé des opérations

Par rapport au site de référence, j'ai eu les changements suivants: Les disques sont en sd0 et sd1, la clé USB en sd2 et il faut donc créer le mirroir RAID1 en sd3.

Préparation de la clé uSB :

dd if=./install57.fs of=/dev/sdb bs=1M

Au prompot d'install OpenBSD :

(I)nstall, (U)pgrade or (S)hell? s
cd /dev
sh /dev/MAKEDEV sd0 sd1
fdisk -iy sd0
fdisk -iy sd1
disklabel -E sd0
a a
offset: [64] [ENTER]
size: [976768001] [ENTER]
FS type: [4.2 BSD] RAID
w
q
cd /tmp
disklabel sd0 > protofile
disklabel -R sd1 protofile
bioctl -c 1 -l /dev/sd0a,/dev/sd1a softraid0

Attention si vous gardez rsd2c, vous écrasez la clé USB...

dd if=/dev/zero of=/dev/rsd3c bs=1m count=1
exit

Vous reprenez l'install normale en bossant sur sd3 comme disque dur d'install


Récupération d'un miroir dégradé

Vous avez monté un miroir de démarrage et depuis vous avez perdu un disque.

sd0 est fonctionnel, pas sd1 que vous devez remplacer. Une fois ceci fait.

dmesg | grep sd

sd0: 476940MB, 512 bytes/sector, 976773168 sectors
sd1: 476940MB, 512 bytes/sector, 976773168 sectors
softraid0: trying to bring up sd3 degraded
sd2 at scsibus2 targ 1 lun 0: <OPENBSD, SR RAID 1, 005> SCSI2 0/direct fixed
sd2: 476937MB, 512 bytes/sector, 976767473 sectors
softraid0: volume sd2 is roaming, it used to be sd3, updating metadata
root on sd2a (ea5f22f48f1982da.a) swap on sd2b dump on sd2b

J'ai donc deux disques sd0 et sd1 formant un miroir nommé sd2.

bioctl -ih sd2

Volume      Status               Size Device  
softraid0 0 Degraded             466G sd2     RAID1 
         0 Online               466G 0:0.0   noencl <sd0a>
         1 Offline                0B 0:1.0   noencl <>

On vérifie :

disklabel sd0
#                size           offset  fstype [fsize bsize  cpg]
 a:        976768001               64    RAID                   
 c:        976773168                0  unused          
disklabel sd1
#                size           offset  fstype [fsize bsize  cpg]
 a:        976768001                0  unused                   
 c:        976773168                0  unused          


OK, sd0 est bien configuré, pas l'autre.

On va partitionner sd1 comme sd0 (votre nouveau disque est bien identique à l'ancien, hein ??)

fdisk /dev/rsd0c

Disk: /dev/rsd0c        geometry: 60801/255/63 [976773168 Sectors]
Offset: 0       Signature: 0xAA55
           Starting         Ending         LBA Info:
#: id      C   H   S -      C   H   S [       start:        size ]
-------------------------------------------------------------------------------
0: 00      0   0   0 -      0   0   0 [           0:           0 ] unused      
1: 00      0   0   0 -      0   0   0 [           0:           0 ] unused      
2: 00      0   0   0 -      0   0   0 [           0:           0 ] unused      
*3: A6      0   1   2 -  60800 254  63 [          64:   976768001 ] OpenBSD 

On prépare la table de partitions puis on écrit le nouveau label sur le disque en reprenant celui du disque sain.

fdisk -iy sd1
disklabel sd0 > /root/disklabel.sd0
disklabel -R sd1 /root/disklabel.sd0

Ne reste plus qu'à reconstruire le miroir avec le nouveau disque:

bioctl -R /dev/sd1a sd2

Puis vérifier que tout se déroule (lentement):

bioctl  sd2
Volume      Status               Size Device  
softraid0 0 Rebuild      500104946176 sd2     RAID1 0% done 
         0 Online       500104946176 0:0.0   noencl <sd0a>
         1 Rebuild      500104946176 0:1.0   noencl <sd1a>

Jusqu'à :

bioctl  sd2
Volume      Status               Size Device  
softraid0 0 Online       500104946176 sd2     RAID1 
         0 Online       500104946176 0:0.0   noencl <sd0a>
         1 Online       500104946176 0:1.0   noencl <sd1a>

Déplacement de disques

Vous avez modifié l'ordre des disques (en intercalant un adaptateur USB , for instance) . Aucun souci, c'est géré :

softraid0: volume sd3 is roaming, it used to be sd2, updating metadata

Traduction : La grappe raid était en sd2, maintenant en sd3; on met à jour les données.