RAID 6 logiciel accéléré Linux

RAID 6 logiciel accéléré Linux

Prérequis

apt install mdadm bcache-tools

Création du RAID 6

Lister les disques 

 sdl est le disque système

 Vérifier en regardant les références de disques qui ne sont pas les disques systèmes du serveur 

 Nettoyer les disques de sda à sdm mais surtout pas sdl le disque système en raid hardware 

for disk in /dev/sd[abcdefghijkm]; do
  wipefs -a "$disk";
done

 Augmenter la vitesse de synchronisation temporairement pour la création des Raid, et créer le raid

echo 100000000 > /proc/sys/dev/raid/speed_limit_max
mdadm --create --verbose /dev/md0 --level=6 --raid-devices=10 /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdm
To optimalize recovery speed, it is recommended to enable write-indent bitmap, do you want to enable it now? [y/N]? y

 Le RAID 6 pour le stockage est créé, maintenant création du RAID 1 SSD qui servira au cache

 mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sda /dev/sdb 
 To optimalize recovery speed, it is recommended to enable write-indent bitmap, do you want to enable it now? [y/N]? N

Désactivation de l’optimisation de la reconstruction car SSD RAID1 et éviter de pénaliser les performances d’écriture.

 Attendre, vérifier l’avancement avec cat /proc/mdstat

 Ecrire la configuration raid

mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
update-initramfs -u

/etc/mdadm/mdadm.conf il est possible de mettre son mail pour recevoir un mail de notification

Création du cache SSD

Enregistre le périphérique backing (le RAID 6 md0) et le cache (le RAID1 SSD md1) dans bcache  

make-bcache -B /dev/md0 -C /dev/md1 --writeback --discard 

discard permet l’activation du trim SSD

writeback pour l’écriture différé sur le backing. (ok quand double alim ondulé)

 Vérifie que le device bcache est créé (ls /dev/bcache0)

 bcache0 = backing + cache = md0 + md1 = sd[abcdefghijkm]

 Formater l’espace hybride en EXT4

mkfs.ext4 /dev/bcache0

 Mettre en place le montage de la partition

 

mount /dev/bcache0 /mnt/xxx 
blkid | grep bcache0
nano /etc/fstab
 UUID=f6ad4603-a8cb-49af-a5d2-34651df44e15
/dev/bcache0    /mnt/xxx   ext4    defaults,nofail        0 2

 

 Diagnostic et vérification

cat /proc/mdstat
mdadm --detail /dev/md0
mdadm --examine --scan

Vérification du cache avec l’UUID du cache

ls /sys/fs/bcache/
cat /sys/fs/bcache/823b24e3-60ba-4283-a3f8-24b49df4c2f5/cache0/priority_stats

dmesg -T | grep bcache
Permet de vérifier si backing et cache sont montés

[ 3.492896] bcache: register_cache() registered cache device md1 
[ 6.738813] bcache: register_bdev() registered backing device md0

lsblk

  Remplacement d’un disque défaillant

 

Étape

Commande

Description

Identifier disque défaillant

mdadm --detail /dev/md0

Trouver le disque à remplacer

Marquer disque défaillant

mdadm --fail /dev/md0 /dev/sdX

Dire au RAID que disque HS

Retirer disque défaillant

mdadm --remove /dev/md0 /dev/sdX

Retirer le disque du RAID

Retirer physiquement le disque et rajouter le

Se rendre sur le serveur

Installer un nouveau disque

Préparer nouveau disque

wipefs -a /dev/sdX && mdadm --zero-superblock

Nettoyer disque nouveau

Ajouter nouveau disque

mdadm --add /dev/md0 /dev/sdX

Ajouter au RAID

Surveiller reconstruction

cat /proc/mdstat && mdadm --detail /dev/md0

Suivre la reconstruction

Vérifier intégrité finale

(optionnel)xfs_repair /dev/bcache0

Vérifier le FS après resync