MODOP – RAID 6 (Striping with Double Distributed Parity) avec disque Spare

Machine

  • Host : datastorage.house.cpb
  • OS : Centos 7
  • vCPU : 2
  • RAM : 2Go
  • IP : 172.17.186.20
  • Disk1 : 8Go (/dev/sda)
  • Disk2 : 20Go (/dev/sdb)
  • Disk3 : 20Go (/dev/sdc)
  • Disk4 : 20Go (/dev/sdd)
  • Disk5 : 20Go (/dev/sde)
  • Disk6 : 20Go (/dev/sdf)
  • Disk7 : 20Go (/dev/sdg)
  • Disk8 : 20Go (/dev/sdh)
  • Disk9 : 20Go (/dev/sdi) (SPARE)

1°) Mise à jour machine

[root@datastorage ~]# yum -y update

2°) Set date/Heure NTP

[root@datastorage ~]# timedatectl set-timezone Europe/Paris

3°) Inventaire des disques

[root@datastorage ~]# lsblk

4°) Installation du paquet RAID Logiciel

[root@datastorage ~]# yum -y install mdadm

5°) Chargement des modules RAID

[root@datastorage ~]# cat /proc/mdstat
[root@datastorage ~]# modprobe linear
[root@datastorage ~]# modprobe raid0
[root@datastorage ~]# modprobe raid1
[root@datastorage ~]# modprobe raid5
[root@datastorage ~]# modprobe raid6
[root@datastorage ~]# modprobe raid10
[root@datastorage ~]# cat /proc/mdstat

6°) Chargement des modules RAID (Start machine)

[root@datastorage ~]# echo "modprobe linear" >> /etc/rc.local
[root@datastorage ~]# echo "modprobe raid0" >> /etc/rc.local
[root@datastorage ~]# echo "modprobe raid1" >> /etc/rc.local
[root@datastorage ~]# echo "modprobe raid5" >> /etc/rc.local
[root@datastorage ~]# echo "modprobe raid6" >> /etc/rc.local
[root@datastorage ~]# echo "modprobe raid10" >> /etc/rc.local
[root@datastorage ~]# chmod +x /etc/rc.local

7°) Examen des volumes disques

[root@datastorage ~]# mdadm -E /dev/sd[b-j]

8°) Partitionnement des disques en mode RAID

/dev/sdb

[root@datastorage ~]# parted -s /dev/sdb mklabel msdos
[root@datastorage ~]# parted -s /dev/sdb mkpart primary 1MiB 100%
[root@datastorage ~]# parted -s /dev/sdb set 1 raid on
[root@datastorage ~]# fdisk -l /dev/sdb

/dev/sdc

[root@datastorage ~]# parted -s /dev/sdc mklabel msdos
[root@datastorage ~]# parted -s /dev/sdc mkpart primary 1MiB 100%
[root@datastorage ~]# parted -s /dev/sdc set 1 raid on

/dev/sdd

[root@datastorage ~]# parted -s /dev/sdd mklabel msdos
[root@datastorage ~]# parted -s /dev/sdd mkpart primary 1MiB 100%
[root@datastorage ~]# parted -s /dev/sdd set 1 raid on

/dev/sde

[root@datastorage ~]# parted -s /dev/sde mklabel msdos
[root@datastorage ~]# parted -s /dev/sde mkpart primary 1MiB 100%
[root@datastorage ~]# parted -s /dev/sde set 1 raid on

/dev/sdf

[root@datastorage ~]# parted -s /dev/sdf mklabel msdos
[root@datastorage ~]# parted -s /dev/sdf mkpart primary 1MiB 100%
[root@datastorage ~]# parted -s /dev/sdf set 1 raid on

/dev/sdg

[root@datastorage ~]# parted -s /dev/sdg mklabel msdos
[root@datastorage ~]# parted -s /dev/sdg mkpart primary 1MiB 100%
[root@datastorage ~]# parted -s /dev/sdg set 1 raid on

/dev/sdh

[root@datastorage ~]# parted -s /dev/sdh mklabel msdos
[root@datastorage ~]# parted -s /dev/sdh mkpart primary 1MiB 100%
[root@datastorage ~]# parted -s /dev/sdh set 1 raid on

/dev/sdi

[root@datastorage ~]# parted -s /dev/sdi mklabel msdos
[root@datastorage ~]# parted -s /dev/sdi mkpart primary 1MiB 100%
[root@datastorage ~]# parted -s /dev/sdi set 1 raid on

/dev/sdj

[root@datastorage ~]# parted -s /dev/sdj mklabel msdos
[root@datastorage ~]# parted -s /dev/sdj mkpart primary 1MiB 100%
[root@datastorage ~]# parted -s /dev/sdj set 1 raid on
[root@datastorage ~]# mdadm -E /dev/sd[b-j]

[root@datastorage ~]# fdisk -l /dev/sd*1 |grep 20

9°) Création du RAID 6

  • Type de RAID : 6
  • Nbr de Disque : 8
  • Nbr de spare : 1
[root@datastorage ~]# mdadm --create /dev/md0 --level=6 --raid-devices=8 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 --spare-devices=1 /dev/sdj1

10°) Construction du RAID6 avec disque spare

[root@datastorage ~]# watch -n1 cat /proc/mdstat

La création du RAID est terminée et synchronisé.

11°) Vérification du RAID6

[root@datastorage ~]# mdadm --detail /dev/md0

[root@datastorage ~]# mdadm -E /dev/sdb1

12°) Formatage du RAID /dev/md0

[root@datastorage ~]# mkfs.ext4 /dev/md0

13°) Mount du RAID sur la machine datastorage

[root@datastorage ~]# mkdir /DatastoreRAID
[root@datastorage ~]# echo "/dev/md0 /DatastoreRAID ext4 defaults 0 0" >> /etc/fstab
[root@datastorage ~]# mount /DatastoreRAID
[root@datastorage ~]# df -Th /DatastoreRAID
Filesystem Type Size Used Avail Use% Mounted on
/dev/md0 ext4 118G 61M 112G 1% /DatastoreRAID
Sauvegarde de la conf RAID
[root@datastorage ~]# mdadm --detail --scan --verbose >> /etc/mdadm.conf

14°) Check le fonctionnement du RAID avec SPARE

Fail Disque /dev/sde1

[root@datastorage ~]# mdadm --manage --fail /dev/md0 /dev/sde1
mdadm: set /dev/sde1 faulty in /dev/md0

Détail du RAID

[root@datastorage ~]# mdadm --detail /dev/md0

Reconstruction du RAID avec le Disque Spare

Le disque SPARE /dev/sdj est désormais Actif et synchronisé sur le RAID6.

[root@datastorage ~]# mdadm --detail /dev/md0

Remise en exploitation du Disque /dev/sde1

[root@datastorage ~]# mdadm --manage /dev/md0 --remove faulty

On vient de retirer le disque « faulty » /dev/sde1 du Pool RAID /dev/md0

Nouveau disque

/dev/sde

[root@datastorage ~]# parted -s /dev/sde mklabel msdos
[root@datastorage ~]# parted -s /dev/sde mkpart primary 1MiB 100%
[root@datastorage ~]# parted -s /dev/sde set 1 raid on
[root@datastorage ~]# mdadm --add /dev/md0 /dev/sde1

Le nouveau Disque /dev/sde1 est désormais le SPARE du POOL de disque RAID

Views: 9

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *