Apres 3 jours de reshape… et beaucoup d’inquietude… Le processus s’est terminé, mais pas comme attendu:
La grappe est toujours en RAID6. Mais on dirait maintenant qu’il y a 1 seul HDD utilisé pour la parité (comme en RAID5)
Voici le detail de la grappe:
/dev/md127:
Version : 1.2
Creation Time : Tue Jul 10 00:43:21 2018
Raid Level : raid6
Array Size : 15627554816 (14903.60 GiB 16002.62 GB)
Used Dev Size : 3906888704 (3725.90 GiB 4000.65 GB)
Raid Devices : 6
Total Devices : 6
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sat Sep 2 17:58:04 2023
State : clean
Active Devices : 6
Working Devices : 6
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric-6
Chunk Size : 512K
Consistency Policy : bitmap
Name : OMV-JEROME:BIGSPACE
UUID : 919d5af5:b8bea9c0:00b903a0:2016c45f
Events : 789024
Number Major Minor RaidDevice State
9 8 80 0 active sync /dev/sdf
10 8 64 1 active sync /dev/sde
6 8 32 2 active sync /dev/sdc
4 8 48 3 active sync /dev/sdd
7 8 16 4 active sync /dev/sdb
8 8 96 5 active sync /dev/sdg
On peut voir que Used Dev Size : 3906888704 (3725.90 GiB 4000.65 GB), ce qui correspond à 1 HDD
j’esérait etre en RAID5 avec 1 disque spare … mais je me retrouve dans une situation hybride
QUe dois je faire? Comment terminer la migration vers RAID5?
Merci pour votre aide
Tu as lancé le reshape sur md126 mais tu affiches les informations de md127.
Qu’est-ce qui te fait dire cela ?
Que contient /proc/mdstat ?
Que dit mdadm --examine sur chaque disque membre ?
Oui, et alors ? A quoi d’autre t’attendais-tu ?
As-tu essayé --continue ?
Contrairement au RAID4, Il n’y a pas de disque de parité en RAID5 ni RAID6, la parité est répartie sur tous les disques.
Le RAID6 de Linux a une double parité fixe, ce n’est pas un RAID6 générique avec n-parité.
oui, sorry, j ai repris l historique des commandes, mais entre temps j ai rebooté en systemrescue et la numerotation a changé
je m’attendais au double 8000 GB pour un RAID6 (l’equivalent de 2 disques)
oui, j’ai compris ça ensuite en lisant la doc… c’est donc une simplification pour dire qu’en RAID5 l’equivalent d’1 HDD est pris pour la parité, et en RAID6, c’est l’equivalent de 2 HDD
finalement non, j’ai relancé la commande initiale:
« Used Dev Size » est la taille utilisée sur chaque disque, pas l’espace occupé par la parité.
Si tel était l’objectif final, pourquoi n’avoir pas fait le reshape initial de RAID6 en RAID5 en laissant tous les disques actifs ?
D’autant plus que d’après les pages de manuel de md et mdadm, la conversion de RAID6 avec 6 disques actifs en RAID5 avec 5 disques actifs donc sans changement de la taille de l’ensemble était plus délicate et plus lente qu’une conversion avec changement de taille de l’ensemble.
It refers to " disk size that are not for data ". For RAID0, « Used Dev Size » does not exist. For RAID1, « Used Dev Size » equals to half of total disks’ size. For RAID5, « Used Dev Size » equals to size that are used for parity
donc pour un RAID5 à 6 HDD de 4TB = 4000
pour un RAID6 à 6 HDD de 4TB = 8000
mais je ne fais que supposer peut etre à tort!
parce que le seul tuto que j’ai trouvé decrivant un passage de RAID6 à RAID5 passait par cette étape:
Vu, l’auteur invoque comme raison que « mdadm recommends using having a spare when downgrading » mais je ne trouve pas de telle recommandation dans la page de manuel de mdadm.
L’auteur est à coté de la plaque. Pourtant ce ne sont pas les calculateur de RAID qui manquent en ligne.
Pour 6 disques de 4To ça te fait 18,5To à peu près de datas utilisable en RAID5.
Pour un RAID6 tu auras 16 To à peu près.
La valeur n’existe pas en RAID0 parce que la taille utilisée sur chaque disque peut être différente, alors qu’elle doit être la même dans les autres modes RAID (par défaut la taille du plus petit disque).
Ce n’est vrai que pour un ensemble RAID1 à deux disques. Il suffit de créer un ensemble RAID1 avec 3 disques ou plus pour constater que cette affirmation est fausse.
Cette fois c’est indirectement vrai puisque la parité en RAID5 occupe l’équivalent d’un disque. Mais ce serait faux en RAID6 où la parité occupe l’équivalent de deux disques.
Je ne vois pas le rapport avec la définition de « Used Dev Size ».
Si c’est l’un d’eux qui t’a fourni les valeurs qui suivent, il n’est pas très fiable.
De toute façon je n’en vois pas l’utiliité, il n’est quand même pas compliqué de calculer la capacité d’un ensemble RAID.
Le probleme n’etait pas de calculer la taille de mon RAID, je savais dejà vers quoi j’allais
C’etait de comprendre pourquoi mdadm me sortait un RAID6 à 16To alors que je venais de lui passer la commande grow --level=raid5. et à ce moment je pensais (à tort) que le Used Dev Size aurait du etre à 8000 pour un RAID6 alors qu’il m’indiquait 4000.
Bref je pensais etre dans une situation hybride bancale… mais comme je l’ai dit plus haut, repasser la meme commande de migration RAID6 > RAID5 a instantanément (sans nouveau reshape) passé la grappe en RAID5 avec un spare (ce qui etait prévu)
donc pour moi le probleme est résolu (sans comprendre le pourquoi cette etape intermediaire)
Actuellement ma grappe est en reshape après ajout du Spare pour augmenter la capacité…
Pourquoi 5 et 4? si tu utilises 6 disques pour faire ta grappe RAID les valeurs que j’ai donné sont juste.
Pourquoi seulement 4 sur le RAID6? Et seulement 5 pour le RAID 5?
Tu as pas tout lu? j’ai utilisé un calculateur justement.
Mais effectivement en refaisant quelques vérifications, j’ai des écarts.
Et j’ai fini par trouver pourquoi, il y a une confusion sur certains entre calculer en binaire ou en decimal.
Dans le cas du décimal 1G = 1 000 000 d’octets
Dans le cas du binaire 1G = 1024 x 1024 = 1 048 576.
Je n’aurais pas du effectivement chercher un calculateur et considérer de facto juste la perte d’un disque pour RAID 5 et 2 pour RAID 6.
Lu quoi ?
Si un calculateur confond les préfixes binaires et décimaux, je recommande de l’éviter et de faire son propre calcul, ce sera plus sûr.
Il n’y a pas de « cas du décimal » ni de « cas du binaire ». Il y a des préfixes décimaux (k M G T…) et des préfixes binaires (Ki Mi Gi Ti…). 1 G, c’est toujours 1 000 000. Les problèmes commencent forcément quand on utilise la notation des uns avec la valeur des autres. On a crashé des sondes sur Mars pour moins que ça…