ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux...

13
ISET KAIROUAN 2014 - 2015 TP Raid logiciel sous Linux Installation et configuration du RAID logiciel sous LINUX Auteur Version - Date Nom du fichier N.GRASSA & J.AMMAR Mars 2015 tp-raid

Transcript of ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux...

Page 1: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

ISET KAIROUAN 2014 - 2015

TP

Raid logiciel sous Linux

Installation et configuration du RAID logiciel sous LINUX

Auteur Version - Date Nom du fichier

N.GRASSA & J.AMMAR Mars 2015 tp-raid

Page 2: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux Version 1.0 - Mars 2015

2 / 13

A. Sommaire

A. SOMMAIRE .................................................................................................................................................................................. 2 B. OBJECTIFS ................................................................................................................................................................................... 3 C. ENVIRONNEMENT ......................................................................................................................................................................... 3 D. DISQUES VIRTUELS ........................................................................................................................................................................ 3 E. SUPPORT DU RAID ....................................................................................................................................................................... 4 F. RAID-0 ...................................................................................................................................................................................... 4

F.1. Création du volume « /dev/md0 » ................................................................................................................................... 4 F.2. Création d’un système de fichiers .................................................................................................................................... 5 F.3. Montage du volume ......................................................................................................................................................... 5 F.4. Vérification du volume ..................................................................................................................................................... 6 F.5. Création de fichiers de grande taille ................................................................................................................................ 6 F.6. Provoquons la panne d’un disque .................................................................................................................................... 6 F.7. Changement du disque .................................................................................................................................................... 7

G. RAID-1...................................................................................................................................................................................... 7 G.1. Création du volume « /dev/md1 » ................................................................................................................................... 7 G.2. Création d’un système de fichiers .................................................................................................................................... 8 G.3. Montage du volume « /dev/md1 » ................................................................................................................................. 8 G.4. Copie de fichiers .............................................................................................................................................................. 8 G.5. Et là, c’est le drame ......................................................................................................................................................... 8 G.6. Le remède ........................................................................................................................................................................ 9 G.7. Ajouter un nouveau disque sur un volume RAID-1 ........................................................................................................ 10

H. RAID-5.................................................................................................................................................................................... 12 H.1. Insertion des disques ..................................................................................................................................................... 12 H.2. Création du volume « /dev/md5 » ................................................................................................................................. 12 H.3. Création du système de fichiers ..................................................................................................................................... 13 H.4. La panne ........................................................................................................................................................................ 13

Page 3: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux Version 1.0 - Mars 2015

3 / 13

B. Objectifs Il existe 2 types de RAID : Le raid logiciel et matériel. Le raid matériel impose la présence physique d’un contrôleur RAID dans le système. Le RAID logiciel, quant à lui, ne nécessite pas la présence de ce contrôleur. La gestion du RAID est alors assurée par le système d’exploitation lui-même.

Ce TP propose d’installer, configurer et surveiller des volumes RAID sous LINUX. Les commandes de base liées au RAID seront utilisées.

C. Environnement Afin de faciliter les manipulations, nous utiliserons un environnement totalement virtualisé. Les aspects matériels (Connexion d’un disque physique par exemple) ne seront pas traités ici. Dans la pratique, cela ne change rien au fonctionnement du RAID même si d’un point de vue performances, 2 fichiers de disques dur virtuels stockés sur le même système de fichier n’offrent pas les mêmes avantages que 2 disques réels et distincts. En revanche, en ce qui concerne la configuration et l’installation de volumes RAID, cela ne change rien.

Les manipulations seront effectuées dans les conditions suivantes :

Environnement de virtualisation : VMWare, VirtualBox ou

autre Machine virtuelle « Linux Debian/Ubuntu » :

5 disques durs virtuels

1 carte réseau (Installation des paquets RAID)

D. Disques virtuels Vous allez maintenant créer les disques virtuels permettant de respecter le cahier des charges suivant :

5 disques

sda : Disque système

sdb, sdc : Disques pour le RAID 0

sdc, sdd : Disques pour le RAID 1

Créez les disques virtuels SCSI (De préférence) nécessaires dans votre environnement de virtualisation. Si le

système est déjà installé, la création du disque sda n’est pas nécessaire.

Installez le système ou utilisez une machine virtuelle existante sous Debian

Page 4: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux Version 1.0 - Mars 2015

4 / 13

E. Support du RAID Cette partie permet de mettre en place le support du RAID logiciel sous LINUX. Certains paquets sont nécessaires pour cette prise en charge. Nous utiliserons l’outil « apt-get » pour télécharger les paquets.

F. RAID-0 Le volume en RAID-0 (Stripping) sera utilisé pour obtenir des performances accrues en stockant les données sur 2 disques distincts :

Volume RAID0 - /dev/md0 monté sur /data (Taille 1Go)

sda

Sda1

(Partition système)

Les données sont

réparties sur 2

disques. Le volume

/dev/md0 est vu

comme un seul

disque

sda5

(swap)

Partition système

montée sur

/

sdb

sdb (512 Mo)

sdc

sdc (512 Mo)

F.1. Création du volume « /dev/md0 »

mdadm -C /dev/md0 -n 2 -l raid0 /dev/sd[ab]

Commande pour

gérer le RAID sous

Linux

Mode CREATION

Chemin du nouveau

périphérique RAID

2 éléments

constituant ce

volume

Niveau de RAID

souhaité

Les périphériques

concernés : sda et

sdb

Installez le paquet « mdadm » qui contient l’outil permettant de gérer le raid logiciel

L’assistant d’installation vous demandera si la partition système est un volume RAID, ce qui n’est pas le

cas dans ce TP. Il demandera également si vous souhaitez que les volumes RAID soient démarrés

automatiquement.

Utilisez la commande suivante pour créer un volume RAID 0 :

Page 5: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux Version 1.0 - Mars 2015

5 / 13

F.2. Création d’un système de fichiers

Avant de pouvoir stocker des fichiers sur ce volume, il faut créer un système de fichiers, comme pour un disque normal.

root@hostname# mkfs –t ext4 /dev/md0

mke2fs 1.41.12 (17-May-2010)

Étiquette de système de fichiers=

Type de système d'exploitation : Linux

Taille de bloc=4096 (log=2)

Taille de fragment=4096 (log=2)

« Stride » = 128 blocs, « Stripe width » = 256 blocs

66960 i-noeuds, 267776 blocs

13388 blocs (5.00%) réservés pour le super utilisateur

Premier bloc de données=0

Nombre maximum de blocs du système de fichiers=276824064

9 groupes de blocs

32768 blocs par groupe, 32768 fragments par groupe

7440 i-noeuds par groupe

Superblocs de secours stockés sur les blocs :

32768, 98304, 163840, 229376

Écriture des tables d'i-noeuds : complété

Création du journal (8192 blocs) : complété

Écriture des superblocs et de l'information de comptabilité du système de

fichiers : complété

Le système de fichiers sera automatiquement vérifié tous les 37 montages ou

après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i

pour écraser la valeur.

F.3. Montage du volume

La dernière étape consiste à monter le volume RAID sur un répertoire de votre arborescence.

root@hostname# mount /dev/md0 /data

/dev/md0 /data auto rw 0 0

Utilisez la commande suivante pour créer un système de fichier ext4 sur ce volume

Créez un répertoire /data

Montez le volume /dev/md0 sur le répertoire /data à l’aide de la commande suivante

Afin de conserver le point de montage après redémarrage de la machine, il faut modifier le fichier

« /etc/fstab » et y ajouter la ligne suivante :

Page 6: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux Version 1.0 - Mars 2015

6 / 13

F.4. Vérification du volume

root@hostname# cat /proc/mdstat

Résultat : Personalities : [raid0]

md0 : active raid0 sdc[1] sdb[0]

1071104 blocks super 1.2 512k chunks

unused devices: <none>

F.5. Création de fichiers de grande taille

root@hostname# dd if=/dev/zero of=/data/file1 bs=1k count=60000

root@hostname# ls –lh /data

total 59M

-rw-r--r-- 1 root root 59M 25 avril 09:22 file1

F.6. Provoquons la panne d’un disque

Notez qu’une panne sur un disque en RAID0 rend le volume indisponible. Le but du RAID0 n’est pas d’augmenter la tolérance de panne mais plutôt d’apporter des performances accrues.

Le seul moyen de provoquer une panne est de retirer physiquement un disque.

Pour vérifier que le volume est correctement initialisé, la commande suivante peut-être utile :

Afin de tester le fonctionnement du volume, créez un fichier volumineux à l’aide de la commande suivante

(60000 blocs de 1k) :

Recommencez l’opération pour créer d’autres fichiers

Dans votre environnement virtuel, supprimer le disque « sdb ». Ensuite, utilisez la commande « dd » pour

ajouter un nouveau fichier dans « /data ».

Regardez les logs « /var/log/syslog » et constatez les erreurs d’écriture. D’après les logs, dans quel état est le

volume RAID ?

Redémarrez la machine virtuelle et constatez l’état du volume /dev/md0 ?

Page 7: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux Version 1.0 - Mars 2015

7 / 13

F.7. Changement du disque

G. RAID-1 Le Raid-1 apporte la tolérance de panne en dupliquant les données sur plusieurs disques. L’intérêt étant qu’une panne sur un disque ne provoque aucune destruction de données. Voici le cahier des charges :

Volume RAID0 - /dev/md0 monté sur /data (Taille 1Go)

Volume RAID1 - /dev/md1 monté sur /data-backup (Taille 1Go)

sda

Sda1

(Partition système)

Les données sont

réparties sur 2

disques. Le volume

/dev/md0 est vu

comme un seul

disque

sda5

(swap)

Les données sont

dupliquées sur 2

disques. Le volume

/dev/md1 est vu

comme un seul

disque

Partition système

montée sur

/

sdb

sdb (512 Mo)

sdc

sdc (512 Mo)

sdd

sdd (1 Go)

sde

sde (1 Go)

G.1. Création du volume « /dev/md1 »

Stoppez la machine virtuelle, ajoutez un nouveau disque et recommencez toutes les étapes de création du

volume « /dev/md0 » avec le nouveau disque inséré ( « fdisk -l » pour obtenir la liste des disques détectés)

Conclusion sur la perte de données suite à une panne d’un disque d’un volume en RAID-0 ?

Utilisez la commande suivante permettant de créer un volume RAID1 avec les disques « sdd » et « sde »

Page 8: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux Version 1.0 - Mars 2015

8 / 13

root@hostname# mdadm -C /dev/md1 -n 2 -l raid1 /dev/sd[de]

G.2. Création d’un système de fichiers

Avant de pouvoir stocker des fichiers sur ce volume, il faut créer un système de fichiers, comme pour un disque normal.

root@hostname# mkfs –t ext4 /dev/md1

G.3. Montage du volume « /dev/md1 »

La dernière étape consiste à monter le volume RAID sur un répertoire de votre arborescence.

root@hostname# mount /dev/md1 /data-backup

/dev/md1 /data-backup auto rw 0 0

G.4. Copie de fichiers

root@hostname# tar -czf /data-backup/backup1.tar.gz /data/

Vérification de la présence de l’archive : root@hostname# ls –lh /data-backup

total 76

-rw-r--r-- 1 root root 59801 25 avril 11:23 backup1.tar.gz

drwx------ 2 root root 16384 25 avril 11:14 lost+found

G.5. Et là, c’est le drame

Utilisez la commande suivante pour créer un système de fichier ext4 sur ce volume

Créez un répertoire /data-backup

Montez le volume /dev/md1 sur le répertoire /data-backup à l’aide de la commande suivante

Afin de conserver le point de montage après redémarrage de la machine, il faut modifier le fichier

« /etc/fstab » et y ajouter la ligne suivante :

Copiez les fichiers du répertoire « /data » vers une archive compressée dans le répertoire « /data-backup » à

l’aide de la commande suivante

Déconnectez le disque « sde » de la machine virtuelle.

Page 9: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux Version 1.0 - Mars 2015

9 / 13

root@hostname# dd if=/dev/zero of=/data-backup/file1 bs=1k count=100000

root@hostname# cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4]

[raid10]

md1 : active raid1 sde[1](F) sdd[0]

1048564 blocks super 1.2 [2/1] [U_]

md0 : active raid0 sdc[1] sdb[0]

1071104 blocks super 1.2 512k chunks

unused devices: <none>

G.6. Le remède

root@hostname# mdadm --remove /dev/md1 /dev/sde

Puis : root@hostname# cat /proc/mdstat

Le disque ne fait alors plus partie du volume : Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4]

[raid10]

md0 : active raid0 sdb[0] sdc[1]

1071104 blocks super 1.2 512k chunks

md1 : active raid1 sdd[0]

1048564 blocks super 1.2 [2/1] [U_]

unused devices: <none>

Créez un gros fichier dans le répertoire « /data-backup » en utilisant la commande « dd » suivante :

Affichez le status des volumes RAID avec la commande suivante

Et constatez le problème :

Que s’est-il passé ?

Lorsqu’un disque est « faulty », il faut l’enlever du volume afin de le remplacer. Utilisez la commande

suivante.

Page 10: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux VVersion 1.0 - Mars 2015

10 / 13

Pour repérer le nouveau disque : root@hostname# fdisk –l

Résultat : Disk /dev/sda: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x000af620

Disk /dev/sde: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/sde doesn't contain a valid partition table

Ajouter sde au volume md1 : root@hostname# mdadm --add /dev/md1 /dev/sde

Et immédiatement après : root@hostname# cat /proc/mdstat

Etat de la reconstruction du volume : Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4]

[raid10]

md0 : active raid0 sdb[0] sdc[1]

1071104 blocks super 1.2 512k chunks

md1 : active raid1 sde[2] sdd[0]

1048564 blocks super 1.2 [2/1] [U_]

[=============>.......] recovery = 68.4% (717376/1048564) finish=0.0min

speed=239125K/sec

unused devices: <none>

G.7. Ajouter un nouveau disque sur un volume RAID-1

Cette opération peut-être utile pour augmenter la tolérance de panne. Elle ne change rien aux performances. Le but est de positionner un disque comme une roue de secours (Spare Disk). Ce nouveau disque prendra le relais si l’un des autres devenait défaillant.

Après avoir éteint la machine, remplacé le disque défaillant (Par un autre disque virtuel) et démarré la

machine, ajouter le nouveau disque au volume « /dev/md1 ». Aidez-vous de la commande suivante

Page 11: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux Version 1.0 - Mars 2015

11 / 13

root@hostname# mdadm --add /dev/md1 /dev/sdf

Et immédiatement après : root@hostname# cat /proc/mdstat

Etat de la reconstruction du volume : Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4]

[raid10]

md0 : active raid0 sdb[0] sdc[1]

1071104 blocks super 1.2 512k chunks

md1 : active raid1 sdf[3](S) sdd[0] sde[2]

1048564 blocks super 1.2 [2/2] [UU]

unused devices: <none>

root@hostname# mdadm -f /dev/md1 /dev/sde

root@hostname# cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4]

[raid10]

md0 : active raid0 sdb[0] sdc[1]

1071104 blocks super 1.2 512k chunks

md1 : active raid1 sdf[3] sdd[0] sde[2](F)

1048564 blocks super 1.2 [2/1] [U_]

[=======>.............] recovery = 38.1% (400000/1048564) finish=0.0min

speed=200000K/sec

unused devices: <none>

Stoppez la machine virtuelle. Ajouter un nouveau disque de la même taille que les autres (1 Go). Démarrez la

machine. Vérifiez que le disque est bien détecté et ajoutez le disque comme « Spare » dans le volume grâce

à la commande suivante

Déclarez le disque « sde » en tant que disque défaillant (faulty)

Observez alors ce qui se passe

Que s’est-il passé ?

Page 12: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux Version 1.0 - Mars 2015

12 / 13

H. RAID-5 Le RAID-0 apporte les performances alors que le RAID-1 apporte plutôt la tolérance de panne. Et nous pouvions bénéficier des deux en même temps. C’est l’objectif que vous allez atteindre en utilisant le RAID-5 avec la configuration suivante :

Volume RAID0 - /dev/md5 monté sur /data (Taille 1Go)

sda

Sda1

(Partition système)

Les données et la

parité sont réparties

sur 4 disques. Le

volume

/dev/md5 est vu

comme un seul

disque

sda5

(swap)

Partition système

montée sur

/

sdb

sdb (512 Mo)

sdc

sdc (512 Mo)

sde

sde (512 Mo)

sdf

sdf (512 Mo)

H.1. Insertion des disques

root@hostname# mdadm -S /dev/md0

root@hostname# mdadm -S /dev/md1

H.2. Création du volume « /dev/md5 »

Après avoir démonté les 2 points de montage « /data » et « /data-backup », stoppez les volumes RAID en

utilisant les commandes suivantes

Stoppez la machine virtuelle et créez les disques nécessaires à la configuration ci-dessus (4 disques de 512

Mo). Redémarrez la machine et créez un nouveau volume RAID-5 « /dev/md5 » en utilisant les mêmes

commandes que pour le RAID-0 ou le RAID-1 (En spécifiant un niveau de RAID à 5 bien sûr)

Page 13: ISET KAIROUAN 2014 - 2015n.grassa.free.fr/TP/TP2_RAID.pdf · Type de système d'exploitation: Linux Taille de bloc=4096 (log=2) ... Le système de fichiers sera automatiquement vérifié

TP Raid logiciel sous Linux VVersion 1.0 - Mars 2015

13 / 13

H.3. Création du système de fichiers

root@hostname# mdadm --detail /dev/md5

H.4. La panne

Le grand intérêt du RAID-5 est la tolérance de panne. La disponibilité des données pendant une panne d’un disque est primordiale. Nous allons donc provoquer une panne sur un disque.

Assurez-vous que le volume est bien installé et créez un système de fichier ext4. Ensuite, affichez

immédiatement l’état du volume

Que se passe t-il ?

Montez le volume sur le point de montage « /data ». Affichez les détails du volume grâce à la commande

suivante

Quelle est la taille du volume ? Justifiez cette taille

Déconnecter un des disques virtuels dans votre environnement de virtualisation. Visualisez les logs du

système et affichez l’état du volume. Que se passe-t-il ?

Stoppez la machine, réinsérer le disque virtuel. Démarrez la machine. Le disque défaillant a-t-il été réintégré

dans le volume ? Si non, que faire (Notez les commandes utilisées et les différents états observés du

volume) ?