web-dev-qa-db-fra.com

Comment modifier / réparer correctement détecté dmraid (FakeRaid) RAID 10 array

J'essaie d'obtenir de peur de détecter correctement une matrice RAID 10 existante, qui fonctionne correctement sous Windows 7. En résumé, la configuration du lecteur et le partitionnement du bios se présentent comme suit:

  • 2 x SSD (120 Go), RAID 0.

    Partitionné en: 180 GB (win7) et 58 GB (Ubuntu).

    Les deux détectés et montage bien dans Ubuntu.

  • 4 x disque dur (2 To), RAID 1 + 0. Partition unique de 4 To.

    Ne travaille pas à Ubuntu.


L’installation d’Ubuntu proprement dite se fait sur une paire de disques partitionnés partitionnés et fonctionne bien. Les deux partitions (180 Go et 58 Go) correspondent aux LVM suivants (je me suis permis de formater les données pour en améliorer la lisibilité):

 # $ Sudo dmsetup info /dev/dm-{1,2,3,4,5}
|----------+------- - + --------------- + ----------- + ---------- + ----- | dev/dm-0 | Ubuntu | pdc_hjijcjji | conteneur | | 58 GB | 
 | dev/dm-1 | Ubuntu | pdc_hjijcjji1 |/| ext4 | 54 Go | 
 | dev/dm-2 | Ubuntu | pdc_hjijcjji2 | | étendu | 4,3 Go | 
 | dev/dm-3 | gagner 7 | pdc_fjhhdeeg | conteneur | | 180 Go | 
 | dev/dm-4 | Ubuntu | pdc_hjijcjji5 | | échange | 4,3 Go | 
 | dev/dm-5 | gagner 7 | pdc_fjhhdeeg1 | | ntfs | 180 Go | 
 | ---------- + -------- + --------------- + ----- ------ + ---------- + -------- |

La baie RAID 10 (qui est celle dont j’ai besoin d’aide pour la faire fonctionner dans Ubuntu) se compose de quatre disques de 2 To et donne une matrice résultante de 4 To. Il semble que dmraid soit conscient de ce tableau, étant donné le résultat suivant:

 # $ Sudo dmraid -r 
 | ---------- + -------- + ------------- ----- + -------- + --------- + ---------------- + -------- - | 
 | Appareil | Format | Nom | Type | Statut? | Taille (secteurs) | ? | 
 | ---------- + -------- + ------------------ + ---- ---- + --------- + ---------------- + --------- | 
 |/dev/sdf | pdc | pdc_fjhhdeeg | bande | ok | 175781248 | data @ 0 | 
 |/dev/sde | pdc | pdc_fjhhdeeg | bande | ok | 175781248 | data @ 0 | 
 |/dev/sdd | pdc | pdc_bjibibahah-1 | bande | ok | 1758766336 | data @ 0 | 
 |/dev/sdc | pdc | pdc_bjibibahah-1 | bande | ok | 1758766336 | data @ 0 | 
 |/dev/sda | pdc | pdc_bjibibahah-0 | bande | ok | 1758766336 | data @ 0 | 
 |/dev/sdb | pdc | pdc_bjibibahah-0 | bande | ok | 1758766336 | data @ 0 | 
 | ---------- + -------- + ------------------ + - ------- + --------- + ---------------- + --------- |

Ce qui me jette un peu, puisque je m'attendrais à ce que le tableau pdc_hjijcjji apparaisse également ici. Peut-être, puisqu'il s'agit d'une partition dans un disque rayé, elle est incluse dans pdc_fjhhdeeg. Dans tous les cas, la matrice rayée fonctionne bien, donc je ne m'inquiète pas trop pour cela.

pdc_hjijcjji s'affiche lors de l'exécution de dmraid -s:

 # $ Sudo dmraid -s 
 | ----------- + ---------------- + ---- ---------- + -------------- | 
 | Nom | pdc_bjibibahah | pdc_fjhhdeeg | pdc_hjijcjji | 
 | ----------- + ---------------- + ------------- - + -------------- | 
 | | Superset | Ensemble actif | Jeu actif | 
 | Taille (-h) | 1,677 TB | 167,6 Go | 54,0 Go | 
 | Taille | 3517532672 | 351562496 | 113281024 | 
 | Foulée | 128 | 128 | 128 | 
 | Type | raid10 | bande | bande | 
 | Statut | ok | ok | ok | 
 | Sous-ensembles | 2 | 0 | 0 | 
 | Devs | 4 | 2 | 2 | 
 | Pièces de rechange | 0 | 0 | 0 | 
 | ----------- + ---------------- + ------------- - + -------------- | 
 # La taille est en blocs de 512 octets.

pdc_bjibibahah semble correspondre au tableau Raid10, à la différence qu’il a une taille étrange (1,677 To, par rapport à environ 4 To). Si vous tentez d'activer cette opération à l'aide de dmraid -ay, le périphérique monté sur 1.677 TB est considéré comme une donnée non allouée.

Exécution de Sudo dmraid -s -si sur le tableau bjibibahah:

 # $ Sudo dmraid -s -si 
 | ----------- + ---------------- + - ---------------- + ------------------ | 
 | Nom | pdc_bjibibahah | pdc_bjibibahah-0 | pdc_bjibibahah-1 | 
 | ----------- + ---------------- + ----------- ------- + ------------------ | 
 | | Superset | Sous-ensemble | Sous-ensemble | 
 | Taille (-h) | 1,638 TB | 1,638 TB | 1,638 TB | 
 | Taille | 3517532672 | 3517532672 | 3517532672 | 
 | Foulée | 128 | 128 | 128 | 
 | Type | raid10 | bande | bande | 
 | Statut | ok | ok | ok | 
 | Sous-ensembles | 2 | 0 | 0 | 
 | Devs | 4 | 2 | 2 | 
 | Pièces de rechange | 0 | 0 | 0 | 
 | ----------- + ---------------- + ------------- ----- + ------------------ | 

J'ai essayé de configurer les tableaux manuellement, mais sans succès, et la page man ne s'avère pas non plus très utile. Si quelqu'un a une suggestion sur la façon de configurer dmraid, ou de le convaincre de changer la configuration de la matrice RAID10, je vous en serais très reconnaissant.

Voici quelques résultats, devrait-il être pertinent:

 $ Sudo dmraid -V 
 Dmraid version: 1.0.0.rc16 (2009.09.16) partagé 
 Dmraid version de la bibliothèque: 1.0.0.rc16 (2009.09.16) 
 version du mappeur de périphérique: 4.20.0 
 
 $ Sudo dmsetup --version 
 Version de la bibliothèque: 1.02.48 (2010-05-20) 
 Version du pilote: 4.20.0 
 
 $ Uname -srvm 
 Linux 3.0.0-16-generic # 28-Ubuntu SMP Ven 27 jan 17:44:39 UTC 2012 x86_64 
 
 $ lsb_release -a 
 Aucun module LSB disponible. 
 ID du distributeur: Ubuntu 
 Description: Ubuntu 11.10 
 Version: 11.10 
 Nom de code: onirique 

De plus, la configuration RAID du RAID10 correspond aux disques suivants dans Ubuntu: Code:

 | --------- + ------------ + -------------- | 
 | Port: ID | Cession | Nom du disque du système d'exploitation | 
 | --------- + ------------ + -------------- | 
 | 01:01 | LD 1-1 |/dev/sda | 
 | 02:01 | LD 1-2 |/dev/sdb | 
 | 03:01 | LD 1-3 |/dev/sdc | 
 | 04:01 | LD 1-4 |/dev/sdd | 
 | --------- + ------------ + -------------- | 

Mise à jour: J'ai oublié de mentionner que je suis sur une carte mère Crosshair V, à l'aide du contrôleur intégré AMD SB950.

Mise à jour 2: Lors de l'exécution de Sudo dmraid -s -ccs pdc, les messages d'erreur suivants s'affichent:

 ERREUR: pdc: nombre incorrect de périphériques dans le jeu RAID "pdc_fjhhdeeg" [1/2] sur /dev/sdf[.____. ERREUR: pdc: nombre incorrect de périphériques dans le jeu RAID "pdc_fjhhdeeg" [1/2] sur /dev/sde[.____. ERREUR: pdc: faux # de périphériques dans le RAID défini sur "pdc_bjibibahah-1" [1/2] sur /dev/sdd[.____. ERREUR: pdc: faux # des périphériques dans le RAID défini "pdc_bjibibahah-1" [1/2] sur /dev/sdc[.____.ERNERERROR: pdc: incorrect Nombre de périphériques dans le RAID défini sur "pdc_bjibibahah-0" [1/2] sur/dev/sdb 
 ERREUR: pdc: faux n ° de périphériques dans le RAID défini "pdc_bjibibahah-0" [1/2] sur /dev/sda
*ERR*

Si j'omets le spécificateur pdc et écris simplement Sudo dmraid -s -ccs j'obtiens le plus mystérieux:

 * ERR * 
 * ERR * 
 * ERR * 

Mise à jour 3: J'ai réussi à supprimer le tableau mal configuré en utilisant Sudo dmraid -rE comme suggéré --- (dans un QA askubuntu ici =. Les erreurs "ERREUR: pdc: faux # de périphériques dans l'ensemble RAID ..." sont toujours présentes, ce qui semble entraver la progression. Je vais continuer à chercher des solutions à ce problème.

Edit: Puis-je ajouter des informations qui pourraient aider quelqu'un à m'aider?

2
swalog

OK :) Alors, voici votre objectif:

4 x HDD (2 TB), RAID 1+0. Single 4TB partition.

Voyant qu’il ne rapporte qu’environ 1,6 To, la quantité de stockage manquante me suggère un problème de métadonnées.

Je suggère de supprimer tout le tableau et de veiller à ce que les métadonnées soient effacées en utilisant dmraid -rE. Ensuite, une fois que ces disques ne seront plus présents, essayez de créer un simple RAID1 à partir des 2 disques 2T, la capacité de votre conteneur devrait être plus proche de 1,8 à 1,9 puis de 1,6. Une fois que cela est vérifié, , puis créez votre bande, ce qui doit simplement additionner les deux. Si cela ne fonctionne pas, vous avez peut-être un bogue dans le firmware ou dans le système lui-même.

dmraid est ummm ... intéressant, étant donné le choix que je préférerais ne pas utiliser. Vous prenez essentiellement toute la complexité de md-raid, sans augmenter les performances, puis vous mélangez différents formats de métadonnées provenant de différents fournisseurs, puis vous les partagez avec plusieurs systèmes d'exploitation, en faisant confiance au système d'exploitation que vous avez partagé. avec ne gâche pas les métadonnées.

Vous voudrez peut-être tester le remplacement des membres en échec une fois la configuration stable, un RAID est simplement un gros point d'échec si vous ne pouvez pas le réparer. Bonne chance.

En réponse à votre problème dmraid -rE À ce stade, votre seule option est dd if =/dev/zero ... et effacez les disques.

2
ppetraki

J'ai le même problème et je crois que j'ai finalement trouvé le problème (après plusieurs jours passés à googler sans réponse satisfaisante).

Je crois que c'est un bogue - un int de 32 bits non signé est utilisé pour le nombre de secteurs quelque part (dmraid?).

Notez que le nombre de secteurs sur le disque (my) 2 To: 3906898048, multiplié par 512 Go/secteur donne 2,0 To ou 1,8 To. Lorsqu'il est rayé, il devrait doubler, mais au lieu de cela: 3518828800 secteurs, multiplié par 512 B/résultats sectoriels pour 1,8 To ou 1,6 To.

Considérant que Windows 10 lit la taille correcte de 4 To sur cette partition RAID10, l'erreur est probablement du côté de Linux.

Converti en binaire: 3906898048 -> 0000 1110 1000 1101 1110 1000 1000 1000 0000 2x 3906898048 -> 0001 1101 0001 1011 1101 0001 0001 0000 0000 3518828800 -> 0000 1101 0001 1011 1101 0001 0001 0000 0000

Est-ce que quelqu'un peut regarder et créer un patch? Je vous remercie.

0
Martina