NAS Raid 1 sur Raspberry

raid1

Installation d'un NAS en Raid1 sur Raspberry avec 2 disques USB


Pour installer un NAS sur Raspberry, je vous invite à prendre connaissance de la page


NAS avec un Raspberry




RAID 1 / Mirroring
Création d'un disque virtuel composé de disques physiques deux à deux ou l'un est la copie conforme de l'autre

Le Raid 1 / Mirroring est un volume logique composé d'un nombre pair de disques physiques (2 disques, 4 disques, etc ...)


Avantages
Protection maximum - Copie totale du disque physique sur l'autre disque physique
La perte d'un seul disque physique n'entraine pas la perte du disque virtuel
Les E/S sur disques se font sur l'un ou l'autre des disques
Synchronisation des disques en temps réel



Inconvénients
L'espace utilisé est la moitié de l'espace total des disques
Le nombre de disque doit etre pair
Baisse des performances E/S
La perte des 2 disques mirrorés entraine la perte du disque virtuel



Connexion des deux disques USB sur le Raspberry

hardware



Nous utiliserons deux disques USB de même capacité

Nous ne connecteront pas les deux disques USB directement sur le Raspberry

Car l'alimentation 5V du Raspberry ne tiendra pas la charge


Nous utiliserons un mini-hub USB auto-alimenté pour la connexion des deux disques USB

Le mini-hub USB sera connecté au Raspberry


Installation du NAS

important

Nous installons le NAS comme indiqué sur la page   NAS sur Raspberry


  • Mise à jour du Raspberry
  • Créer des dossiers publics qui seront accessibles sur le NAS
  • Installer Samba
  • Modifier du fichier de configuration de Samba /etc/samba/smb.conf
  • Créer le répertoire sur lequel sera monté le volume logique
  • Donner les droits de lecture/écriture nécessaires au répertoire de montage
  • Brancher les deux disques USB sur le mini-Hub

Detection des deux disques USB

detection2disk


Pour détecter les deux disques USB, taper l'une des deux commandes

  • lsblk
ou
  • sudo fdisk -l

Les deux disques USB doivent apparaitre en sdax et sdbx


Installation de l'outil de gestion des volumes Raid


Pour créer un sytème Raid1, nous devons installer l'outil de gestion des Volumes Raid Logiciel: mdadm 

  • sudo apt-get install mdadm



Suppression des partitions existantes

Supprimer les partitions existantes (si besoin)

Attention

Cette opération detruira toutes les données présentes sur les deux disques USB

Si besoin faire une sauvegarde avant


Disque sda
Supprimer la(les) partition(s) existante(s) 

  • sudo fdisk /dev/sda
  •   choix p     # Affichage des partitions existantes
  •   choix d     # Suppression des partitions existantes

Si plusieurs partitions, choisir la 1ere partition pour la supprimer et recommencer pour les autres éventuelles partitions

  •   choix w     # Ecriture de la modification


Disque sdb
Supprimer la(les) partition(s) existante(s)

  • sudo fdisk /dev/sdb
  •   choix p     # Affichage des partitions existantes
  •   choix d     # Suppression des partitions existantes

Si plusieurs partitions, choisir la 1ere partition pour la supprimer et recommencer pour les autres éventuelles partitions

  • choix w     # Ecriture de la modification



Création de la nouvelle partition sur les deux disques USB

type-fd

Création de la nouvelle partition sur les deux disques USB

Disque sda

  • sudo fdisk /dev/sda
  •   choix n    # Création de la nouvelle partition
  •   choix p    # Partition primaire
  •   Partition number - choix 1    # Par defaut - Partition n° 1
  •   Fisrt sector (2048) - Valider par [Enter] # Par defaut 2048
  •   Last sector (xxxxxxx) - Valider par [Enter] # Dernier secteur du disque


Changer le type de la partition - Mettre le type fd pour le Raid

  •   choix t   # Modifier le type de partition
  •   choix L (Grand L)   # Pour afficher tous types possibles
  •   choix fd    # Type Linux Raid Auto
  •   choix w  # Ecrire la modification


Disque sdb

  • sudo fdisk /dev/sdb
  •   choix n    # Création de la nouvelle partition
  •   choix p    # Partition primaire
  •   Partition number - choix    # Par defaut - Partition n° 1
  •   Fisrt sector (2048) - Valider par [Enter] # Par defaut 2048
  •   Last sector (xxxxxxx) - Valider par [Enter] # Dernier secteur du disque


Changer le type de la partition - Mettre le type fd pour le Raid

  •   choix t   # Modifier le type de partition
  •   choix (Grand L)   # Pour afficher tous types possibles
  •   choix fd    # Type Linux Raid Auto
  •   choix w  # Ecrire la modification


Vérification 

  • sudo fdisk /dev/sda
  • choix p
  • sudo fdisk /dev/sdb
  • choix p

Les partitions sont en Linux Raid Autodetect



Construction du Raid 1

raid-array



Maintenant que les deux disques USB sont prêts

Nous pouvons créer le volume Raid 1 avec la commande mdadm 

Le volume logique créé se nomme md0 pour Multiple Device 0

Une fois créé, nous ne parlons plus de sdax ou sdbx qui sont les disques physiques, mais nous parlons de md0 qui est le volume logique


  • sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
  • Continue creating array [y/n]  - Repondre y puis [Enter]


Explication:

  • --create # Création de l'array Raid 1
  • --verbose # Affichage dans le terminal de toutes les étapes de création
  • /dev/md0 # Nom de l'array Raid 1 - Multiple Device 0
  • --level=1 # Raid 1
  • --raid-devices=2 # Nombres de disques physiques dans l'array - 2 disques
  • /dev/sda1 # 1er disque
  • /dev/sdb1 # 2eme disque



Controle de la synchronisation du Raid 1

synchro-en-cours

Vérifier la synchronisation du Raid 1, saisir la commande

  • watch -n 3 cat /proc/mdstat


[Ctrl]+[c] pour quitter l'affichage

La ligne resync indique l'avancement de la synchronisation

Patience , la synchronisation est longue ...

Pour synchroniser deux disques de 320Go, il m'a fallu 4 heures car le debit en USB 2 est lent


Controle du Raid 1

mdstat

Controler le Raid 1, saisir la commande

  • cat /proc/mdstat


  • md0 : active en raid1 composé de sdb1 et sda1


Formatage de l'array Raid 1

formattage-OK

Une fois l'array Raid 1 entierement synchronisé


Formatage de l'array Raid 1  en Linux Ext4

  • sudo mkfs.ext4 /dev/md0



Montage de l'array Raid 1

montage-OK

Montage de l'array Raid 1 sur /home/shares/public

  • sudo mount /dev/md0 /home/shares/public


Montage de l'array Raid 1 dans /etc/fstab

fstab-OK

Modification du fichier /etc/fstab

  • sudo nano /etc/fstab # Editer le fichier /etc/fstab avec nano


Ajouter la ligne a la fin du fichier

  • /dev/md0   /home/shares/public   ext4   defaults  0  1



On peut monter l'array Raid 1 sur un répertoire spécifique.

Créer le répertoire

  • sudo mkdir /home/raid  # Création du répertoire /home/raid


Montage dans /etc/fstab

  • /dev/md0 /home/raid ext4 defaults 0 1


[Ctrl]+[o] # Pour sauvegarder les modifications de fstab 

[Ctrl]+[x] # Pour quitter l'éditeur


Visualiser l'array Raid 1

mdadm-detail-OK


Pour visualiser tous les disques (Disques physiques et Volumes logiques) 


Saisir la commande

  • sudo fdisk -l


Pour avoir des informations sur le volume logique, saisir la commande

  • sudo mdadm --detail /dev/md0



mdstat-OK


Pour avoir des informations sur le volume logique, saisir la commande

  • sudo cat /proc/mdstat