Table des matières

RAID : Présentation

https://fr.wikipedia.org/wiki/RAID_(informatique)

Le RAID est un ensemble de techniques de virtualisation du stockage permettant de répartir des données sur plusieurs disques durs afin d'améliorer soit les performances, soit la sécurité ou la tolérance aux pannes de l'ensemble du ou des systèmes.

Quand on créé un RAID, on créé une array (tableau de partitions disque, en général sur des disques différents) Sous linux, un nouveau device est créé : /dev/md<X> <X> : un chiffre, en général 0, si aucun autre RAID n'est déjà monté.

On peut monter 3 différents type de RAID :

Il existe 2 mises en oeuvre d'un RAID :

Controllé par un software, nécessite donc un filesystem en dehors du RAID pour pouvoir le monter

Un controlleur RAID est dédié à au RAID. Le controlleur peut être interne à l'unité centrale ou déporté dans une baie de stockage. Un controlleur RAID est en général doté d'un processeur spécifique, de mémoire et est capable de gérer tous les aspects du système de stockage RAID grace au microcode embarqué. =⇒ Virtualisation complète du stockage

Voir l'état des matrices RAID montée sur un PC

 cat /proc/mdstat

–> Retournera :

  Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4]
  md0 : active raid1 sdb1[0]
        524224 blocks [2/1] [U_]
  
  md1 : active raid1 sdb2[2]
        1950890924 blocks super 1.0 [2/1] [_U]
        bitmap: 15/15 pages [60KB], 65536KB chunk
  
  unused devices: <none>

Remarque importante :

  1. Les disques d'un RAID qui sont en faute sont décrits avec un '_'
  2. Les disques d'un RAID valides sont décrits avec un 'U'

Voir l'état d'un RAID

 mdadm --detail /dev/md<X>   

(<X> = 0 ou 1 ou 2 …)

–> Retournera ceci

   /dev/md1:
           Version : 1.0
     Creation Time : Sun Nov 12 11:43:34 2017
        Raid Level : raid1
        Array Size : 1950890924 (1860.51 GiB 1997.71 GB)
     Used Dev Size : 1950890924 (1860.51 GiB 1997.71 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent
   
     Intent Bitmap : Internal
   
       Update Time : Fri Dec 22 12:31:35 2017
             State : clean, degraded
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0
   
              Name : dlink-2A629F:1  (local to host dlink-2A629F)
              UUID : 420b3ee5:930f930b:549dac8d:37508aaf
            Events : 375350
   
       Number   Major   Minor   RaidDevice State
          0       0        0        0      removed
          2       8       18        1      active sync   /dev/sdb2

Remove an array

  sudo mdadm --stop /dev/md0
  sudo mdadm --remove /dev/md0

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

After discovering the devices used to create an array, zero their superblock to reset them to normal:

sudo mdadm --zero-superblock /dev/sda1

Pour créer une matrice dégradée (avec sdb2 en principal) :

sudo mdadm --create --verbose /dev/md1 --level=1 --raid-devices=1 /dev/sdb2

Marquer un dique à failed

mdadm --manage /dev/md1 --fail /dev/sda2
--> cat /proc/mdstat    montrera     md1 : active raid1   sda2[1](F)

Ajouter un nouveau disque sur une matrice de 2 disque dont 1 était manquant

Je l'ai fait sur mon ubuntu le 13/02/2020. si le nouveau disque est /dev/sdc,

 sudo mdadm --manage /dev/md127 --add /dev/sdc

puis, pour vérifier :

 sudo mdadm --detail /dev/md127

cela donnera les informations suivantes, qui montre la (re-construction) du 2e disque dur

      ...         
  Rebuild Status : 0% complete
   
            Name : xms-fixe-ubuntu:0  (local to host xms-fixe-ubuntu)
            UUID : 0a5a20ac:b037cc7c:e91a0cb1:c29cb344
          Events : 62847
  
  Number   Major   Minor   RaidDevice State
     0       8        1        0      active sync   /dev/sda1
     2       8       32        1      spare rebuilding   /dev/sdc
      

Recenser les processus qui utilisent un point de montage

fuser -vm /mnt/dir
ou lsof

Arrêter/Démarrer les services du NAS avec Firmware ALT-F

rcall start
rcall stop

Remarque : dropbear et le serveur http d'administration sont toujours dispos apres rcall stop (sauf si le serveur d'admin est configuré avec l'option "pas inetd". )

Demonter les disques de mon NAS

umount /dev/sdb2 –> umount: can't umount /dev/sdb2: Device or resource busy

Pour l'instant je peux démonter /dev/sda2, et

 [root@dlink-2A629F]# cat /etc/fstab

# /dev/sdb2 /mnt/sdb2 ext4 defaults 0 0 /dev/sda1 none swap pri=1 0 0 /dev/md0 none swap pri=1 0 0

=⇒ j'ai désactivé la premiere ligne /dev/sdb2 dans /etc/fstab et je redémarre le NAS Mais le sdb2 est à nouveau monté !!!!

Je démonter sdb2 en forcant :

 umount -l /dev/sdb2
 

Là, la partition est démontée, j'ai toujours ma connexion ssh, mais plus de réponse de page d'admin

  rcall start   (permet de réaccéder à l'interface web.)

Meilleur moyen de recréer un RAID1 standard

E1 : Create a new degraded RAID1 with your new disk using Disk→Wizard (1)

Remarques :

E2 : Copy all data from the old “standard” partition to the new RAID1 using Setup→Folders

Copier le contenu de l'ancien disque sur /mnt/md<X> Ca se fait soit en ligne de commande, soit via l'IHM, comme indiqué

E3 : Verify that the data in the RAID1 is fine Moi j'ai juste vérifié que je pouvais parcourir l'arboresence de /mnt/md<X>

E4 : Change the old disk “standard” partition type to RAID using Disk→Partitioner (2)

Après E3, on peut abandonner l'ancien disque puisque tout est copié et opérationnel ; on pourrait dès lors utiliser /mnt/md1 On changer l'ancienne partition pour la mettre en RAID

Remarque : Attention, il se peut que des ajustements de tailles soient nécessaires … ? Moi c'est ce qui s'est passé, pour ajuster les blocs de 4k …

E5 : Add the old disk RAID partition to te new RAID as a new component using Disk→RAID

Ajouter l'ancienne partition comme 2e composant du RAID1 md<X>. Et là normalement, le controlleur de RAID1 va faire son travail de check. Normalement, en attendant … pas mal, à la fin tout est bon

Réparer un RAID

E1 : Identifier le disque qui est fail (voir au dessus)

E2 : Insérer un nouveau disque

Via l'IHM

E3 : Créer une partition de taille identique à celle du RAID

E4 : Aller dans le menu RAID et ajouter le composant nouvellement créé au RAID en question. Il vous indiquera que ca sert soit a ajouter un composant, soit à remplacer un composant fail. Une fois ceci, attendre que la construction se termine (très long). Normalement, tout devrait être bon.