informatique:linux:raid0_sous_linux
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
informatique:linux:raid0_sous_linux [2010/01/05 07:11] – pteu | informatique:linux:raid0_sous_linux [2012/10/30 19:16] – "d'autres pistes" pteu | ||
---|---|---|---|
Line 54: | Line 54: | ||
</ | </ | ||
- | On va faire un RAID1 avec les disques | + | On va faire un RAID1 avec les disques /dev/sd{c,d} = on doit créer 2 partitions primaires de type " |
=> Cela nous donne donc /dev/sdb1 et /dev/sdc1 2 partitions d' | => Cela nous donne donc /dev/sdb1 et /dev/sdc1 2 partitions d' | ||
Line 120: | Line 120: | ||
=====Divers===== | =====Divers===== | ||
+ | |||
+ | ====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. | ||
+ | |||
+ | < | ||
+ | mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 missing | ||
+ | </ | ||
+ | |||
+ | -> On créer /dev/md0 en RAID1 en utilisant 2 partitions : /dev/sda1 et une qui manque en temps normal c'est plus utile d' | ||
+ | |||
+ | |||
+ | =====Création d'un raid5 + LVM===== | ||
+ | |||
+ | ====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 tenté (" | ||
+ | |||
+ | Première chose : repérer les noms des disques : | ||
+ | <code bash> | ||
+ | sudo fdisk -l | grep Disk | ||
+ | Disk /dev/sda: 64.0 GB, 64023257088 bytes | ||
+ | Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes | ||
+ | Disk /dev/sdc: 2000.4 GB, 2000398934016 bytes | ||
+ | Disk /dev/sdd: 2000.4 GB, 2000398934016 bytes | ||
+ | </ | ||
+ | Dans mon cas je vais utiliser /dev/sdb, /dev/sdc et /dev/sdd pour mon RAID 5. | ||
+ | |||
+ | Puis, créer des partitions de type "Raid auto detect" | ||
+ | <code bash> | ||
+ | mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 --assume-clean / | ||
+ | mdadm: layout defaults to left-symmetric | ||
+ | mdadm: layout defaults to left-symmetric | ||
+ | mdadm: chunk size defaults to 512K | ||
+ | mdadm: cannot open /dev/sdc1: No such file or directory | ||
+ | </ | ||
+ | |||
+ | Après les avoir créés avec cfdisk, j' | ||
+ | <code bash> | ||
+ | mdadm --create --verbose /dev/md0 --level 5 --assume-clean --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 | ||
+ | mdadm: layout defaults to left-symmetric | ||
+ | mdadm: layout defaults to left-symmetric | ||
+ | mdadm: chunk size defaults to 512K | ||
+ | mdadm: super1.x cannot open /dev/sdc1: Device or resource busy | ||
+ | mdadm: /dev/sdc1 is not suitable for this array. | ||
+ | mdadm: super1.x cannot open /dev/sdd1: Device or resource busy | ||
+ | mdadm: /dev/sdd1 is not suitable for this array. | ||
+ | mdadm: create aborted | ||
+ | </ | ||
+ | |||
+ | D' | ||
+ | <code bash> | ||
+ | sudo aptitude remove dmraid | ||
+ | </ | ||
+ | |||
+ | ... mais toujours le même problème :( | ||
+ | |||
+ | N' | ||
+ | |||
+ | Au reboot, les disques ont été renumérotés : | ||
+ | <code bash> | ||
+ | sudo fdisk -l | grep Disk | ||
+ | Disk /dev/sda: 2000.4 GB, 2000398934016 bytes | ||
+ | Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes | ||
+ | Disk /dev/sdc: 64.0 GB, 64023257088 bytes | ||
+ | Disk /dev/sdd: 2000.4 GB, 2000398934016 bytes | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | # Création du raid 5 avec 3 partitions : /dev/sda1 /dev/sdb1 /dev/sdd1 | ||
+ | # --assume-clean permet d' | ||
+ | mdadm --create --verbose /dev/md0 --level 5 --assume-clean --raid-devices=3 / | ||
+ | mdadm: layout defaults to left-symmetric | ||
+ | mdadm: layout defaults to left-symmetric | ||
+ | mdadm: chunk size defaults to 512K | ||
+ | mdadm: /dev/sdb1 appears to be part of a raid array: | ||
+ | level=raid5 devices=3 ctime=Thu Sep 6 23:40:51 2012 | ||
+ | mdadm: size set to 1953381888K | ||
+ | Continue creating array? y | ||
+ | mdadm: Defaulting to version 1.2 metadata | ||
+ | mdadm: array /dev/md0 started. | ||
+ | </ | ||
+ | |||
+ | Rofl ! It works ! | ||
+ | |||
+ | Il faut attendre un peu le temps de la construction du raid, puis on vérifie : | ||
+ | <code bash> | ||
+ | sudo mdadm --detail /dev/md0 | ||
+ | /dev/md0: | ||
+ | Version : 1.2 | ||
+ | Creation Time : Wed Sep 12 21:35:52 2012 | ||
+ | Raid Level : raid5 | ||
+ | Array Size : 3906763776 (3725.78 GiB 4000.53 GB) | ||
+ | Used Dev Size : 1953381888 (1862.89 GiB 2000.26 GB) | ||
+ | Raid Devices : 3 | ||
+ | Total Devices : 3 | ||
+ | Persistence : Superblock is persistent | ||
+ | |||
+ | Update Time : Thu Sep 13 18:00:13 2012 | ||
+ | State : clean | ||
+ | | ||
+ | Working Devices : 3 | ||
+ | | ||
+ | Spare Devices : 0 | ||
+ | |||
+ | | ||
+ | Chunk Size : 512K | ||
+ | |||
+ | Name : ymir2: | ||
+ | UUID : 5766333b: | ||
+ | | ||
+ | |||
+ | Number | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | |||
+ | # ou : | ||
+ | cat / | ||
+ | Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] | ||
+ | md0 : active raid5 sdd1[2] sdb1[1] sda1[0] | ||
+ | 3906763776 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] | ||
+ | |||
+ | unused devices: < | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Dans le première commande on pourrait tilter sur la ligne : | ||
+ | <code bash> | ||
+ | Array Size : 3907020800 (3726.03 GiB 4000.79 GB) | ||
+ | </ | ||
+ | 3726.03 GiB alors que je devrait avoir 4 To ? WTF !! | ||
+ | |||
+ | Juste un rappel pour vérifier tout ça : | ||
+ | * 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 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' | ||
+ | |||
+ | < | ||
+ | Les //X//i se prononcent kibi (Ki), mébi (Mi), etc... | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Les abréviations des kilos sont " | ||
+ | </ | ||
+ | |||
+ | Autant la première notation (B, kB, MB...) est assez classique et facile à calculer : | ||
+ | < | ||
+ | 1 GB = 10^3 MB = 10^6 kB = 10^9 B = 1 000 000 000 bytes | ||
+ | </ | ||
+ | ... autant la seconde n'est pas naturelle (pour les hommes en tout cas) : | ||
+ | < | ||
+ | 1 GiB = 2^10 MiB = 2^20 KiB = 2^30 B soit 1 073 741 824 bytes | ||
+ | </ | ||
+ | Ce qui nous amène à la conclusion : 1 GiB "vaut plus" que 1GB. (c'est pour ça que les vendeurs de disques dur comptent en GB, ça gonfle les capacités :) ). Mais les ordinateurs, | ||
+ | |||
+ | Voici la table de conversion entre //X//B et //X//iB : | ||
+ | < | ||
+ | 1 TB = 10^12 o => 0.909 TiB | ||
+ | 1 GB = 10^9 o => 0.931 GiB | ||
+ | 1 MB = 10^6 o => 0.954 MiB | ||
+ | 1 KB = 10^3 o => 0.977 KiB | ||
+ | |||
+ | 1 TiB = 2^40 o => 1.100 TB | ||
+ | 1 GiB = 2^30 o => 1.074 GB | ||
+ | 1 MiB = 2^20 o => 1.049 MB | ||
+ | 1 KiB = 2^10 o => 1.024 kB | ||
+ | </ | ||
+ | |||
+ | Pour finir la parenthèse, | ||
+ | |||
+ | source : entre autres [[http:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | Une fois le raid construit, si tout va bien, il faudra le monter automatiquement au démarrage la prochaine fois ; commenter la ligne "ARRAY xxx" dans le fichier ''/ | ||
+ | <code bash> | ||
+ | mdadm --detail --scan >> / | ||
+ | |||
+ | # PI le résultat de la commande : | ||
+ | ARRAY /dev/md0 metadata=1.2 name=ymir2: | ||
+ | </ | ||
+ | |||
+ | ====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:// | ||
+ | <code bash> | ||
+ | # arrêt du raid triso | ||
+ | mdadm --stop /dev/md_d0 | ||
+ | | ||
+ | | ||
+ | |||
+ | mdadm --auto-detect | ||
+ | |||
+ | / | ||
+ | |||
+ | update-initramfs -u | ||
+ | | ||
+ | |||
+ | # puis on reboot | ||
+ | init 6 | ||
+ | </ | ||
+ | |||
+ | Au redémarrage le volume RAID est monté correctement \o/. | ||
+ | |||
+ | ===D' | ||
+ | |||
+ | <code bash> | ||
+ | cat / | ||
+ | Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] | ||
+ | md126 : inactive sdc[1] | ||
+ | 1953514496 blocks | ||
+ | |||
+ | md127 : active (auto-read-only) raid5 sdd[2] sdb[0] | ||
+ | 3907028992 blocks level 5, 64k chunk, algorithm 2 [3/2] [U_U] | ||
+ | |||
+ | unused devices: < | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | mdadm --examine /dev/sdb1 | ||
+ | /dev/sdb1: | ||
+ | Magic : a92b4efc | ||
+ | Version : 0.90.00 | ||
+ | UUID : cc5892bf: | ||
+ | Creation Time : Fri Aug 19 18:22:07 2011 | ||
+ | Raid Level : raid5 | ||
+ | Used Dev Size : 1953511936 (1863.01 GiB 2000.40 GB) | ||
+ | Array Size : 3907023872 (3726.03 GiB 4000.79 GB) | ||
+ | Raid Devices : 3 | ||
+ | Total Devices : 3 | ||
+ | Preferred Minor : 0 | ||
+ | |||
+ | Update Time : Thu Nov 17 19:32:24 2011 | ||
+ | State : clean | ||
+ | | ||
+ | Working Devices : 3 | ||
+ | | ||
+ | Spare Devices : 0 | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | Chunk Size : 64K | ||
+ | |||
+ | Number | ||
+ | this | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mdadm --examine /dev/sdc1 | ||
+ | /dev/sdc1: | ||
+ | Magic : a92b4efc | ||
+ | Version : 0.90.00 | ||
+ | UUID : cc5892bf: | ||
+ | Creation Time : Fri Aug 19 18:22:07 2011 | ||
+ | Raid Level : raid5 | ||
+ | Used Dev Size : 1953511936 (1863.01 GiB 2000.40 GB) | ||
+ | Array Size : 3907023872 (3726.03 GiB 4000.79 GB) | ||
+ | Raid Devices : 3 | ||
+ | Total Devices : 3 | ||
+ | Preferred Minor : 0 | ||
+ | |||
+ | Update Time : Thu Nov 17 19:32:24 2011 | ||
+ | State : clean | ||
+ | | ||
+ | Working Devices : 3 | ||
+ | | ||
+ | Spare Devices : 0 | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | Chunk Size : 64K | ||
+ | |||
+ | Number | ||
+ | this | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | mdadm --examine /dev/sdd1 | ||
+ | /dev/sdd1: | ||
+ | Magic : a92b4efc | ||
+ | Version : 0.90.00 | ||
+ | UUID : cc5892bf: | ||
+ | Creation Time : Fri Aug 19 18:22:07 2011 | ||
+ | Raid Level : raid5 | ||
+ | Used Dev Size : 1953511936 (1863.01 GiB 2000.40 GB) | ||
+ | Array Size : 3907023872 (3726.03 GiB 4000.79 GB) | ||
+ | Raid Devices : 3 | ||
+ | Total Devices : 3 | ||
+ | Preferred Minor : 0 | ||
+ | |||
+ | Update Time : Thu Nov 17 19:32:24 2011 | ||
+ | State : clean | ||
+ | | ||
+ | Working Devices : 3 | ||
+ | | ||
+ | Spare Devices : 0 | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | Chunk Size : 64K | ||
+ | |||
+ | Number | ||
+ | this | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | egrep -v " | ||
+ | DEVICE partitions | ||
+ | CREATE owner=root group=disk mode=0660 auto=yes | ||
+ | HOMEHOST < | ||
+ | MAILADDR root | ||
+ | ARRAY /dev/md0 level=raid5 num-devices=3 metadata=0.90 UUID=cc5892bf: | ||
+ | | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | mdadm --detail --scan | ||
+ | ARRAY /dev/md/0_0 metadata=0.90 UUID=c50da923: | ||
+ | ARRAY /dev/md/0_1 metadata=0.90 UUID=cb278753: | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | mdadm --stop /dev/md126 | ||
+ | | ||
+ | mdadm --stop /dev/md127 | ||
+ | | ||
+ | mdadm --assemble /dev/md0 | ||
+ | | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | mdadm --detail --scan | ||
+ | ARRAY /dev/md0 metadata=0.90 UUID=cc5892bf: | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | cat / | ||
+ | Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] | ||
+ | md0 : active raid5 sdb1[0] sdd1[2] sdc1[1] | ||
+ | 3907023872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU] | ||
+ | |||
+ | unused devices: < | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====LVM==== | ||
+ | |||
+ | Création du bousin LVM : déclaration dans l' | ||
+ | * d'un volume physique (pv) de 4 To (le raid5) | ||
+ | * d'un groupe de volume (vg) : on ajoute le pv de 4 To qui sera seul dans son groupe | ||
+ | * d'un volume logique (lv) : on déclare une partition de 2 To dans le vg de 4 To (on pourra le redimensionner plus tard). | ||
+ | <code bash> | ||
+ | pvcreate /dev/md0 | ||
+ | vgcreate md0_vg /dev/md0 | ||
+ | lvcreate -L 2T -n data_lv md0_vg | ||
+ | </ | ||
+ | |||
+ | Puis on traite ''/ | ||
+ | <code bash> | ||
+ | # formatage en ext4 avec des paramètres optimisés pour le raid.. | ||
+ | #(source : http:// | ||
+ | mkfs.ext4 -m 0 -b 4096 -R stride=8 / | ||
+ | |||
+ | # montage automatique au démarrage : | ||
+ | echo "/ | ||
+ | |||
+ | # montage | ||
+ | mkdir /mnt/data | ||
+ | mount /mnt/data | ||
+ | </ | ||
+ | |||
+ | Vérifications : afficher les résumés des volumes physiques, des groupes de volumes et des volumes logiques : | ||
+ | <code bash> | ||
+ | pvs | ||
+ | PV | ||
+ | / | ||
+ | / | ||
+ | |||
+ | vgs | ||
+ | VG #PV #LV #SN Attr | ||
+ | md0_vg | ||
+ | ymir2 1 | ||
+ | |||
+ | lvs | ||
+ | LV VG | ||
+ | data_lv md0_vg -wi-ao | ||
+ | root ymir2 -wi-ao 56,91g | ||
+ | swap_1 | ||
+ | </ | ||
+ | |||
+ | =====Management du raid===== | ||
====Monitorer son RAID==== | ====Monitorer son RAID==== | ||
+ | |||
+ | <note warning> | ||
+ | Attention les commandes qui vont suivre ne proviennent pas toutes du même RAID ! | ||
+ | </ | ||
< | < | ||
Line 165: | Line 575: | ||
</ | </ | ||
- | ====Créer un volume RAID1 avec un seul disque==== | + | Arrêter/ |
- | 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. | + | <code bash> |
+ | mdadm --stop /dev/md0 | ||
+ | | ||
+ | </ | ||
+ | Supprimer et ajouter un disque dans une grappe raid : | ||
+ | <code bash> | ||
+ | mdadm --manage --remove /dev/md0 /dev/sdd1 | ||
+ | | ||
+ | |||
+ | mdadm --manage --add /dev/md0 /dev/sdd1 | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Vérifications : | ||
< | < | ||
- | mdadm --create | + | mdadm --detail |
+ | |||
+ | mdadm --detail | ||
</ | </ | ||
- | -> On créer | + | |
+ | =====Management de LVM===== | ||
+ | |||
+ | ====Augmenter un lv==== | ||
+ | |||
+ | Synopsis : On a un lv ''/ | ||
+ | |||
+ | Démonter le volume logique (NB : cette étape n'est pas obligatoire avec le système de fichier que j' | ||
+ | <code bash> | ||
+ | umount / | ||
+ | </ | ||
+ | |||
+ | Augmenter la taille du lv ; attention sa taille ne doit pas dépasser la taille de son volume group (vg), ni être inférieur sa taille actuelle (sinon on perd des données). Pour le vérifier : | ||
+ | <code bash> | ||
+ | # on regarde a quel vg le lv appartient | ||
+ | lvdisplay / | ||
+ | --- Logical volume --- | ||
+ | LV Name / | ||
+ | VG Name md0_vg | ||
+ | LV UUID WSTrwM-JLAG-Bu9R-GsHw-XVsT-Dpbo-Zm5imT | ||
+ | LV Write Access | ||
+ | LV Status | ||
+ | # open 0 | ||
+ | LV Size 2,00 TiB | ||
+ | Current LE | ||
+ | Segments | ||
+ | Allocation | ||
+ | Read ahead sectors | ||
+ | - currently set to | ||
+ | Block device | ||
+ | |||
+ | # on affiche les caractéristique du vg | ||
+ | vgdisplay md0_vg | ||
+ | --- Volume group --- | ||
+ | VG Name | ||
+ | System ID | ||
+ | Format | ||
+ | Metadata Areas 1 | ||
+ | Metadata Sequence No 2 | ||
+ | VG Access | ||
+ | VG Status | ||
+ | MAX LV 0 | ||
+ | Cur LV 1 | ||
+ | Open LV 0 | ||
+ | Max PV 0 | ||
+ | Cur PV 1 | ||
+ | Act PV 1 | ||
+ | VG Size 3,64 TiB | ||
+ | PE Size 4,00 MiB | ||
+ | Total PE 953862 | ||
+ | Alloc PE / Size | ||
+ | Free PE / Size | ||
+ | VG UUID | ||
+ | </ | ||
+ | On a bien 3.64TiB au total soit 4 To. | ||
+ | |||
+ | On pourrait déclarer une nouvelle taille de 3.64 TiB ('' | ||
+ | <code bash> | ||
+ | lvresize -l +100%FREE | ||
+ | Extending logical volume data_lv to 3,64 TiB | ||
+ | Logical volume data_lv successfully resized | ||
+ | </ | ||
+ | |||
+ | On doit ensuite vérifier l' | ||
+ | <code bash> | ||
+ | e2fsck -f / | ||
+ | | ||
+ | Passe 1 : vérification des i-noeuds, des blocs et des tailles | ||
+ | | ||
+ | Passe 3 : vérification de la connectivité des répertoires | ||
+ | Passe 4 : vérification des compteurs de référence | ||
+ | Passe 5 : vérification de l' | ||
+ | /dev/md0_vg/ | ||
+ | </ | ||
+ | |||
+ | Puis on étend le système de fichier : | ||
+ | <code bash> | ||
+ | resize2fs / | ||
+ | | ||
+ | En train de retailler le système de fichiers sur / | ||
+ | Le système de fichiers / | ||
+ | </ | ||
+ | |||
+ | et on remonte le lv : | ||
+ | <code bash> | ||
+ | mount / | ||
+ | |||
+ | df -Th /mnt/data | ||
+ | Sys. fich. Type Taille | ||
+ | / | ||
+ | | ||
+ | </ | ||
+ | |||
+ | =====Tests et banchmarks===== | ||
+ | |||
+ | Je vais comparer ici mon ex raid0 avec le nouveau raid5 que je viens de créer. Attention il y a beaucoup de paramètres qui changent donc ces tests ne sont pas très " | ||
+ | |||
+ | Le raid0 est sur le serveur ymir : | ||
+ | * raid0 de 2x HDD Samsung Spinpoint F1 1 To (7200 rpm, 32 Mo de cache) | ||
+ | * le système est installé sur ces disques donc ils ne sont pas idle pendant les tests | ||
+ | * la partition est formatée en ext3 avec les réglages par défaut | ||
+ | |||
+ | Le raid5 est sur le serveur ymir2 : | ||
+ | * raid5 de 3x HDD Samsung EcoGreen F4 2 To (5400 rpm, 32 Mo de cache) | ||
+ | * le raid est monté sur des disques complètement idle, le système étant installé sur un autre disque (un SSD OCZ Vertex 60 Go) | ||
+ | * la partition est formatée en ext2 avec les réglages indiqués plus haut | ||
+ | |||
+ | |||
+ | ====Test en écriture==== | ||
+ | |||
+ | ===A l' | ||
+ | |||
+ | J' | ||
+ | |||
+ | sur ymir2 : | ||
+ | <code bash> | ||
+ | # raid5 | ||
+ | dd if=/ | ||
+ | 131072+0 enregistrements lus | ||
+ | 131072+0 enregistrements écrits | ||
+ | 1073741824 octets (1,1 GB) copiés, 12,3638 s, 86,8 MB/s | ||
+ | |||
+ | # à titre comparatif, sur le SSD | ||
+ | dd if=/ | ||
+ | 131072+0 enregistrements lus | ||
+ | 131072+0 enregistrements écrits | ||
+ | 1073741824 octets (1,1 GB) copiés, 6,25596 s, 172 MB/s | ||
+ | </ | ||
+ | |||
+ | sur ymir : | ||
+ | <code bash> | ||
+ | # raid0 | ||
+ | dd if=/ | ||
+ | 131072+0 enregistrements lus | ||
+ | 131072+0 enregistrements écrits | ||
+ | 1073741824 bytes (1,1 GB) copied, 8,66769 s, 124 MB/s | ||
+ | </ | ||
+ | |||
+ | De ces valeurs on peut retenir | ||
+ | |||
+ | ====Test | ||
+ | |||
+ | ===Avec hdparm=== | ||
+ | sur ymir2 : | ||
+ | <code bash> | ||
+ | # raid5 | ||
+ | hdparm -t -T /dev/md0 | ||
+ | /dev/md0: | ||
+ | | ||
+ | | ||
+ | |||
+ | # SSD | ||
+ | hdparm -t -T /dev/sda | ||
+ | /dev/sda: | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | sur ymir : | ||
+ | <code bash> | ||
+ | hdparm -t -T /dev/md1 | ||
+ | /dev/md1: | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===Avec dd=== | ||
+ | |||
+ | On réutilise le fichier précédemment créé et on le lis dans le vent (/dev/null) : | ||
+ | |||
+ | sur ymir2 : | ||
+ | <code bash> | ||
+ | # raid5 | ||
+ | dd if=/ | ||
+ | 131072+0 enregistrements lus | ||
+ | 131072+0 enregistrements écrits | ||
+ | 1073741824 octets (1,1 GB) copiés, 5,23449 s, 205 MB/s | ||
+ | |||
+ | # SSD | ||
+ | dd if=/ | ||
+ | 131072+0 enregistrements lus | ||
+ | 131072+0 enregistrements écrits | ||
+ | 1073741824 octets (1,1 GB) copiés, 4,3989 s, 244 MB/s | ||
+ | </ | ||
+ | |||
+ | Les valeurs du raid5 sont cohérentes env. 200 MB/s ; ce n' | ||
+ | |||
+ | Attention : si on refait le " | ||
+ | |||
+ | <code bash> | ||
+ | # raid5 | ||
+ | dd if=/ | ||
+ | 131072+0 enregistrements lus | ||
+ | 131072+0 enregistrements écrits | ||
+ | 1073741824 octets (1,1 GB) copiés, 1,00804 s, 1,1 GB/s | ||
+ | </ | ||
+ | |||
+ | sur ymir : | ||
+ | <code bash> | ||
+ | # raid0 | ||
+ | dd if=/ | ||
+ | 131072+0 enregistrements lus | ||
+ | 131072+0 enregistrements écrits | ||
+ | 1073741824 bytes (1,1 GB) copied, 9,06151 s, 118 MB/s | ||
+ | </ | ||
+ | |||
+ | Étonnant : on a un meilleur débit en écriture qu'en lecture sur ce raid0... | ||
+ | |||
+ | |||
+ | =====Test avec bonnie++===== | ||
+ | |||
+ | bonnie++ est un logiciel tierce qui mesure les performances | ||
+ | |||
+ | |||
+ | =====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 : | ||
+ | |||
+ | Supprimer les metadata avec dmraid | ||
+ | <code bash> | ||
+ | sudo dmraid -r -E /dev/sdb | ||
+ | no raid disks and with names: "/ | ||
+ | |||
+ | sudo dmraid -r -E /dev/sdc | ||
+ | Do you really want to erase " | ||
+ | ERROR: ddf1: seeking device "/ | ||
+ | ERROR: writing metadata to /dev/sdc, offset 2000398933504 sectors, size 0 bytes returned 0 | ||
+ | ERROR: erasing ondisk metadata on /dev/sdc | ||
+ | |||
+ | sudo dmraid -r -E /dev/sdd | ||
+ | Do you really want to erase " | ||
+ | ERROR: ddf1: seeking device "/ | ||
+ | ERROR: writing metadata to /dev/sdd, offset 2000398933504 sectors, size 0 bytes returned 0 | ||
+ | ERROR: erasing ondisk metadata on /dev/sdd | ||
+ | </ | ||
+ | |||
+ | Si ça ne marche pas on observe encore : | ||
+ | <code bash> | ||
+ | cat / | ||
+ | Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] | ||
+ | md0 : inactive sdd[0](S) sdb[2](S) | ||
+ | 3907028992 blocks | ||
+ | unused devices: < | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | umount /dev/md0 | ||
+ | mdadm --manage /dev/md0 --stop | ||
+ | mdadm --manage /dev/md0 --remove | ||
+ | rm / | ||
+ | </ | ||
+ | |||
+ | Suppression de la partition | ||
+ | <code bash> | ||
+ | sudo fdisk /dev/sdb | ||
+ | d | ||
+ | p | ||
+ | w | ||
+ | </ | ||
+ | |||
+ | On efface les superblocks : | ||
+ | <code bash> | ||
+ | sudo mdadm --zero-superblock /dev/sdb | ||
+ | sudo mdadm --zero-superblock /dev/sdb1 | ||
+ | mdadm: Couldn' | ||
+ | </ | ||
+ | |||
+ | Cela évite de se retrouver bloquer au boot par le prompt busybox ! | ||
+ | |||
+ | Dans mon cas au reboot un nouveau volume raid est apparu tout seul : " | ||
+ | <code bash> | ||
+ | sudo update-initramfs -u | ||
+ | sudo reboot | ||
+ | </ | ||
informatique/linux/raid0_sous_linux.txt · Last modified: 2024/06/29 14:10 by pteu