informatique:linux:raid0_sous_linux
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
informatique:linux:raid0_sous_linux [2014/01/13 19:34] – [Volume RAID 5] pteu | informatique:linux:raid0_sous_linux [2024/06/29 14:10] (current) – pteu | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{tag> | + | =======Le RAID logiciel sous Linux======= |
- | + | ||
- | ======Le RAID logiciel sous Linux====== | + | |
Le RAID est un mécanisme de gestion de unités de stockage, qui peut être matériel (via une carte dédiée) ou logiciel (géré par le système d' | Le RAID est un mécanisme de gestion de unités de stockage, qui peut être matériel (via une carte dédiée) ou logiciel (géré par le système d' | ||
- | + | Avant de le mettre en place, se renseigner sur quel type de RAID est adapté à notre besoin (en terme de performance, | |
- | =====Installation de Debian avec RAID0===== | + | ======Installation de Debian avec RAID0====== |
Le but de cet article est de décrire la procédure que j'ai utilisée pour installer une Debian Lenny sur 2 disques dur en RAID0 logiciel avec Linux Software RAID. Mes motivations sont : | Le but de cet article est de décrire la procédure que j'ai utilisée pour installer une Debian Lenny sur 2 disques dur en RAID0 logiciel avec Linux Software RAID. Mes motivations sont : | ||
Line 43: | Line 41: | ||
- | =====Création d'un RAID1===== | + | ======Création d'un RAID1====== |
//à la main// | //à la main// | ||
Line 119: | Line 117: | ||
</ | </ | ||
- | =====Divers===== | + | ======Divers====== |
- | ====Créer un volume RAID1 avec un seul disque==== | + | =====Créer un volume RAID1 avec un seul disque===== |
Il s'agit ici de créer un RAID 1 avec un seul disque, donc un RAID en défaut (pas de réplication de données mais la machine fonctionne toujours). Cela permet par exemple de préparer une machine avec un seul disque en attendant la livraison du second. | Il s'agit ici de créer un RAID 1 avec un seul disque, donc un RAID en défaut (pas de réplication de données mais la machine fonctionne toujours). Cela permet par exemple de préparer une machine avec un seul disque en attendant la livraison du second. | ||
Line 131: | Line 129: | ||
- | =====Création d'un raid5 + LVM===== | + | ======Création d'un raid5 + LVM====== |
- | ====Volume RAID 5==== | + | =====Volume RAID 5===== |
Un raid0 avec de la redondance pour la sécurité des données ? C'est un **raid5** et c'est ce que je vais réaliser sur mon NAS (malgré qu'il ne soit doté que d'un processeur [[http:// | Un raid0 avec de la redondance pour la sécurité des données ? C'est un **raid5** et c'est ce que je vais réaliser sur mon NAS (malgré qu'il ne soit doté que d'un processeur [[http:// | ||
Line 156: | Line 154: | ||
Après quoi, bien sûr, le contenu précédent sera irrécupérable. | Après quoi, bien sûr, le contenu précédent sera irrécupérable. | ||
- | Avertissement : drapeau 0x0000 non valable dans la table de partitions 4, sera corrigé par w(écriture) | + | Avertissement |
- | Attention : la taille du disque est 3.0 To (3000592982016 octets). | + | Attention |
Ce format de table de partitions DOS ne peut pas être utilisé | Ce format de table de partitions DOS ne peut pas être utilisé | ||
sur des disques pour des volumes plus grand (2199023255040 octets) et | sur des disques pour des volumes plus grand (2199023255040 octets) et | ||
Line 188: | Line 186: | ||
Commande (m pour l' | Commande (m pour l' | ||
- | La table de partitions a été altérée ! | + | La table de partitions a été altérée |
Appel de ioctl() pour relire la table de partitions. | Appel de ioctl() pour relire la table de partitions. | ||
Line 304: | Line 302: | ||
Array Size : 3907020800 (3726.03 GiB 4000.79 GB) | Array Size : 3907020800 (3726.03 GiB 4000.79 GB) | ||
</ | </ | ||
+ | |||
3726.03 GiB alors que je devrait avoir 4 To ? WTF !! | 3726.03 GiB alors que je devrait avoir 4 To ? WTF !! | ||
- | Juste un rappel pour vérifier tout ça : | + | ====Rappel sur les unités==== |
* 8 bits = 1 octet (byte en anglais : un octet et one byte c'est pareil !). Les abréviations respectives sont b (bit), o (octet) et B (byte). | * 8 bits = 1 octet (byte en anglais : un octet et one byte c'est pareil !). Les abréviations respectives sont b (bit), o (octet) et B (byte). | ||
* 1 kB = 1 ko = 1000 octets (bytes). Dans la même logique, 1 MB vaut 1000 kB, 1 GB vaut 1000 MB, etc... : **ce sont des puissances de 10** : 1000 c'est 10^3. | * 1 kB = 1 ko = 1000 octets (bytes). Dans la même logique, 1 MB vaut 1000 kB, 1 GB vaut 1000 MB, etc... : **ce sont des puissances de 10** : 1000 c'est 10^3. | ||
* 1 KiB vaut, lui, 1024 octets (bytes). Dans la même logique, 1 KiB = 1024 B, 1 MiB vaut 1024 KiB, 1 GiB vaut 1024 MiB, etc... **ce sont des puissances de 2** (normal pour de l' | * 1 KiB vaut, lui, 1024 octets (bytes). Dans la même logique, 1 KiB = 1024 B, 1 MiB vaut 1024 KiB, 1 GiB vaut 1024 MiB, etc... **ce sont des puissances de 2** (normal pour de l' | ||
- | <note> | + | <WRAP center round info 80%> |
Les //X//i se prononcent kibi (Ki), mébi (Mi), etc... | Les //X//i se prononcent kibi (Ki), mébi (Mi), etc... | ||
- | </note> | + | </WRAP> |
- | <note> | + | <WRAP center round info 80%> |
Les abréviations des kilos sont " | Les abréviations des kilos sont " | ||
- | </note> | + | </WRAP> |
Autant la première notation (B, kB, MB...) est assez classique et facile à calculer : | Autant la première notation (B, kB, MB...) est assez classique et facile à calculer : | ||
Line 358: | Line 358: | ||
</ | </ | ||
- | ====Raid en vrac au reboot==== | + | =====Raid en vrac au reboot===== |
Sous Ubuntu 10.10 cette fois j'ai rencontré un problème lors du reboot car il me montait /dev/md avec 2 disques et /dev/md_d0 avec le dernier. Hideux. Même en retouchant le mdadm.conf celà n'a rien changé. Je suis alors tombé sur [[http:// | Sous Ubuntu 10.10 cette fois j'ai rencontré un problème lors du reboot car il me montait /dev/md avec 2 disques et /dev/md_d0 avec le dernier. Hideux. Même en retouchant le mdadm.conf celà n'a rien changé. Je suis alors tombé sur [[http:// | ||
Line 380: | Line 380: | ||
Au redémarrage le volume RAID est monté correctement \o/. | Au redémarrage le volume RAID est monté correctement \o/. | ||
- | ===D' | + | ====D' |
<code bash> | <code bash> | ||
Line 532: | Line 532: | ||
- | ====LVM==== | + | =====LVM===== |
Création du bousin LVM : déclaration dans l' | Création du bousin LVM : déclaration dans l' | ||
Line 577: | Line 577: | ||
</ | </ | ||
- | =====Management du raid===== | + | ======Management du raid====== |
- | ====Monitorer son RAID==== | + | =====Monitorer son RAID===== |
- | <note warning> | + | <WRAP center round important 60%> |
Attention les commandes qui vont suivre ne proviennent pas toutes du même RAID ! | Attention les commandes qui vont suivre ne proviennent pas toutes du même RAID ! | ||
- | </note> | + | </WRAP> |
< | < | ||
Line 650: | Line 650: | ||
- | =====Augmenter un RAID + LVM===== | + | ======Augmenter un RAID + LVM====== |
Récemment j'ai ajouté un disque de 2 To à mon RAID 5 de 3x 2 To déjà en place. Voici la procédure que j'ai employée, elle se découpe en 2 étapes : | Récemment j'ai ajouté un disque de 2 To à mon RAID 5 de 3x 2 To déjà en place. Voici la procédure que j'ai employée, elle se découpe en 2 étapes : | ||
Line 656: | Line 656: | ||
* augmenter le LV | * augmenter le LV | ||
- | ====Augmenter le RAID==== | + | =====Augmenter le RAID===== |
Bien sur ce nouveau disque disque a la même taille que les disques déjà inclus dans le RAID. Je créé une partition de type " | Bien sur ce nouveau disque disque a la même taille que les disques déjà inclus dans le RAID. Je créé une partition de type " | ||
Line 664: | Line 664: | ||
81 têtes, 63 secteurs/ | 81 têtes, 63 secteurs/ | ||
Unités = secteurs de 1 * 512 = 512 octets | Unités = secteurs de 1 * 512 = 512 octets | ||
- | Taille de secteur (logique / physique) : | + | Taille de secteur (logique / physique) : 512 octets |
- | taille d'E/S (minimale / optimale) : | + | taille d'E/S (minimale / optimale) : 512 octets |
- | Identifiant de disque : 0x720b8114 | + | Identifiant de disque |
Périphérique Amorce | Périphérique Amorce | ||
Line 683: | Line 683: | ||
</ | </ | ||
- | <note important> | + | <WRAP center round important |
Ne faites pas comme moi qui ai lancé cette commande à peine 3h avant une coupure électrique programmée... D' | Ne faites pas comme moi qui ai lancé cette commande à peine 3h avant une coupure électrique programmée... D' | ||
- | </note> | + | </WRAP> |
Vérification de l' | Vérification de l' | ||
Line 733: | Line 733: | ||
C'est déjà bien mais c'est pô fini ; il faut maintenant le dire à LVM ! | C'est déjà bien mais c'est pô fini ; il faut maintenant le dire à LVM ! | ||
- | ====Prise en compte par LVM==== | + | =====Prise en compte par LVM===== |
1) Première chose : Démonter le volume logique (NB : cette étape n'est pas obligatoire avec le système de fichier que j' | 1) Première chose : Démonter le volume logique (NB : cette étape n'est pas obligatoire avec le système de fichier que j' | ||
Line 822: | Line 822: | ||
Okaaaay ! | Okaaaay ! | ||
- | =====Tests et benchmarks===== | + | ======Tests et benchmarks====== |
Je vais comparer ici mon ex raid0 avec mon précédent raid5 (sic). Attention il y a beaucoup de paramètres qui changent donc ces tests ne sont pas très " | Je vais comparer ici mon ex raid0 avec mon précédent raid5 (sic). Attention il y a beaucoup de paramètres qui changent donc ces tests ne sont pas très " | ||
Line 837: | Line 837: | ||
- | ====Test en écriture==== | + | =====Test en écriture===== |
- | ===A l' | + | ====A l' |
J' | J' | ||
Line 869: | Line 869: | ||
De ces valeurs on peut retenir une chose : l' | De ces valeurs on peut retenir une chose : l' | ||
- | ====Test en lecture==== | + | =====Test en lecture===== |
- | ===Avec hdparm=== | + | ====Avec hdparm==== |
sur ymir2 : | sur ymir2 : | ||
<code bash> | <code bash> | ||
Line 895: | Line 895: | ||
</ | </ | ||
- | ===Avec dd=== | + | ====Avec dd==== |
On réutilise le fichier précédemment créé et on le lis dans le vent (/dev/null) : | On réutilise le fichier précédemment créé et on le lis dans le vent (/dev/null) : | ||
Line 938: | Line 938: | ||
- | =====Test avec bonnie++===== | + | ======Test avec bonnie++====== |
bonnie++ est un logiciel tierce qui mesure les performances d'un disque. | bonnie++ est un logiciel tierce qui mesure les performances d'un disque. | ||
- | =====Suppression totale d'un volume RAID===== | + | ======Suppression totale d'un volume RAID====== |
Parce que mdadm est coriace, et que la procédure de suppression d'un RAID pour récupérer les disques n'est pas si anodine que cela, voici une petite check-list : | Parce que mdadm est coriace, et que la procédure de suppression d'un RAID pour récupérer les disques n'est pas si anodine que cela, voici une petite check-list : | ||
Line 1005: | Line 1005: | ||
- | =====Liens===== | + | ======Liens====== |
* [[http:// | * [[http:// |
informatique/linux/raid0_sous_linux.1389641678.txt.gz · Last modified: 2014/01/13 19:34 by pteu