Terastation RITGL: reconstruction d’un disque RAID

Introduction

Sur le RITGL (du moins ma version), la reconstruction d’un disque ne fonctionne pas.
Vraisemblablement, c’est du au fait que les disques ont été préparés lorsque le NAS était en RHTGL. Et les partitionnement ne sont pas compatibles.
Exemple avec un disque de 2Go:
RITGL:
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          37      297171   83  Linux
/dev/sdb2              38          99      498015   83  Linux
/dev/sdb4             100      243201  1952716815    5  Extended
/dev/sdb5             100         116      136521   82  Linux swap / Solaris
/dev/sdb6             117      243148  1952154508+  83  Linux
RHTLG:
Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         125     1004031   83  Linux
/dev/sda2             126         748     5004247+  83  Linux
/dev/sda4             749      243201  1947503722+   5  Extended
/dev/sda5             749         873     1004031   82  Linux swap / Solaris
/dev/sda6             874      243054  1945318851   83  Linux

Connection

Il est nécessaire d’avoir un accès « root » sur le NAS. (il faut modifier une image au besoin, et re-installer: voir les autres articles).
Entrer:
telnet  
login: admin
passwd: ********
admin@nas:~$ su -
...

Information

Dans l’exemple c’est une configuration RAID10:

 

  • md2 regroupe 2 disques sda6 et sdb6 en RAID1
  • md3 regroupe 2 disques sdc6 et sdd6 en RAID1
  • md4 regroupe md2 et md3 en RAID0.
  • md0 et md1 donc des partitions pour le firmware du NAS (en RAID1 sur 4 disques)

 

Entrer:

cat /proc/mdstat

Dans la réponse en exemple, on a un disque qui a disparu (sda6 sur md2, sda2 sur md1, sda1 sur md0):

Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4]
md4 : active raid0 md2[0] md3[1]
3904308736 blocks 64k chunks
md3 : active raid1 sdc6[0] sdd6[1]
1952154432 blocks [2/2] [UU]
md2 : active raid1 sdb6[1]
1952154432 blocks [2/1] [_U]
md1 : active raid1 sdd2[3] sdc2[2] sdb2[1]
497920 blocks [4/3] [_UUU]
md0 : active raid1 sdd1[3] sdc1[2] sdb1[1]
297088 blocks [4/3] [_UUU]
unused devices:
 

Deconnexion du disque

Vérifier que le disque est bien running:
cat /sys/bus/scsi/devices/1\:0\:0\:0/state
S’il n’y a pas « running » alors on retire le disque:
echo x > /sys/bus/scsi/devices/1\:0\:0\:0/delete

puis

echo "- - -" > /sys/class/scsi_host/host1/scan

Si cette commande ne répond pas, il se peut que le disque soit planté/ou le contrôleur. Il faut donc essayer d’extraire le disque et le remettre (de le débrancher).

Puis refaire la commande de scan.

Cela ne fonctionne pas toujours (voir rarement), et un reboot complet peut être nécessaire.

Reconstruction

Si la commande cat /proc/mdstat montre des partitions avec (F). Il faut les retirer avant:
mdadm --manage /dev/mdX --remove /dev/sdXX
D’abord on reconstruit les partitions système (md0 et md1):
mdadm --manage /dev/md0 --add /dev/sda1
mdadm --manage /dev/md1 --add /dev/sda2
On vérifie sur /proc/mdstat si les disques sont bien revenus (il doit y avoir un message de rebuild en plus)
Enfin on s’occupe du disque des données:
mdadm --manage /dev/md2 --add /dev/sda6

 

Enfin on efface les erreurs affichées sur le panneau avant:

lcd_error_man.sh disk1_fault_error off
lcd_error_man.sh diag_off info_off buzzer_off