J'ai un serveur multimédia domestique fonctionnant sur openSUSE 12.2. J'utilise huit disques de 2 To dans une configuration RAID-10. J'ai délibérément acheté deux types de disques différents: quatre Seagate Barracuda Green et quatre Western Digital Red. Mon objectif est de configurer le RAID de telle sorte que chaque paire en miroir au sein de la matrice soit constituée de disques différents (c'est-à-dire un disque Seagate et un disque WD). Le partitionneur YaST2 ne m'a malheureusement pas donné ce niveau de choix dans la structure du tableau, alors maintenant j'essaie de savoir à quoi ressemble la structure RAID10 par défaut.
Je sais ce qui suit:
- sdc, sdd, sde et sdf sont tous des disques WD
- sdg, sdh, sdi et sdj sont tous des disques Seagate
J'ai choisi la disposition par défaut «n2» lors de la création du RAID. Ma supposition basée sur les informations de ces deux sources est que les lecteurs adjacents sont en miroir (c'est-à-dire, sdc == sdd, sde == sdf, etc.), mais je veux savoir avec certitude:
- http://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10
- /server/200725/mirrored-and-stripped-hd-drives-in-raid10
Voici la sortie de 'mdadm --detail / dev / md0':
/dev/md0: Version : 1.0 Creation Time : Sat Mar 16 12:55:11 2013 Raid Level : raid10 Array Size : 7814045696 (7452.05 GiB 8001.58 GB) Used Dev Size : 1953511424 (1863.01 GiB 2000.40 GB) Raid Devices : 8 Total Devices : 8 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sat Mar 16 13:09:37 2013 State : active, resyncing Active Devices : 8 Working Devices : 8 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 2048K Resync Status : 1% complete Name : aldaris:0 (local to host aldaris) UUID : c6cc3943:97394500:b77d44cd:f02ed876 Events : 149 Number Major Minor RaidDevice State 0 8 33 0 active sync /dev/sdc1 1 8 49 1 active sync /dev/sdd1 2 8 65 2 active sync /dev/sde1 3 8 81 3 active sync /dev/sdf1 4 8 97 4 active sync /dev/sdg1 5 8 113 5 active sync /dev/sdh1 6 8 129 6 active sync /dev/sdi1 7 8 145 7 active sync /dev/sdj1
Et voici le contenu de / proc / mdstat:
Personalities : [raid10] md0 : active raid10 sdj1[7] sdi1[6] sdh1[5] sdg1[4] sdf1[3] sde1[2] sdd1[1] sdc1[0]
7814045696 blocks super 1.0 2048K chunks 2 near-copies [8/8] [UUUUUUUU]
[>....................] resync = 4.8% (375163456/7814045696) finish=1206.5min speed=102751K/sec
bitmap: 57/59 pages [228KB], 65536KB chunk
unused devices: <none>
Mes questions sont donc:
- Comment savoir quels disques sont des miroirs les uns des autres?
- Existe-t-il un moyen de changer cela, ou dois-je simplement permuter les fils (car cela permutera les lettres de lecteur), puis reconstruire le RAID?
Merci d'avance.
Remarque tangentielle, pour quiconque veut connaître mon raisonnement pour le faire: les disques du même modèle et du même lot, fonctionnant sous des charges d'utilisation, une disponibilité et une température similaires ont peu de variation systématique, et les différences de temps de défaillance entre les disques seront principalement motivées par variation aléatoire du processus de fabrication. Cela augmente le risque que plusieurs disques meurent à la fois. En achetant des disques non seulement de différents lots mais de fabricants complètement différents, j'introduis des variations systématiques dans ma baie, influençant ainsi les disques qui tomberont en panne à des moments similaires.
RaidDevice
colonne. Cela peut être aussi simple que (0,1), (2,3), (4,5), (6,7). Cela me ferait supposer que vous devez aligner RaidDevice comme WD / Sea / WD / Sea / etc ... Mais je ne suis pas sûr à 100% de cela.Réponses:
Les versions récentes de
mdadm
montrent ce droit dans les détails du tableau. Exemple demdadm v3.3 - 3rd September 2013
Notez la dénotation
set-A
ouset-B
. Dans le cas ci-dessus,sdd
etsdb
peuvent échouer ensemble sans perte de données. Il est possible que ces données ne soient pas disponibles pendant la reconstruction de la baie.la source
J'ai eu le même problème et après avoir googlé un moment, je n'ai pas trouvé de réponse fiable. Après y avoir réfléchi, j'ai pensé que les miroirs avaient les mêmes données et nous pourrions donc en comparer une partie.
REMARQUE: SOYEZ PRUDENT, SI VOUS AVEZ PLUS DE 2 LECTEURS AVEC LE MÊME CHECKSUM QUE VOUS COMPARIEZ PROBABLEMENT L'ESPACE DISQUE VIDE, CHOISISSEZ UN AUTRE DÉCALAGE (option de saut).
Avec ces quelques commandes, vous pouvez le comprendre:
Cela produira quelque chose comme:
Nous savons maintenant que sda / sdb est un miroir et sdc / sdd un autre. Un de chacun doit rester pour éviter la perte de données.
La commande "dd" lit une fois (count = 1) un mégaoctet (bs = 1M) à un mégaoctet décalé depuis le début du disque (sauter = 1M). Ne sautez pas = 0, car le début du disque contient des informations différentes. Les données commencent généralement après 1 Mo.
la source
dd if=/dev/$disk skip=1M bs=1M count=1
n'a pas fonctionné pour moi.dd (coreutils) 8.23
de Debian 8 (Jessie) ne prend pas en chargeskip
avec une unité. Au lieu de cela, j'ai utiliséskip=1
où1
est relatif àbs
. Peut-être une faute de frappe?d41d8cd98f00b204e9800998ecf8427e
votredd
appel échoue. C'est le hachage de la chaîne vide :-)Je pense que vous parlez d'un vrai réseau RAID 10 (1 + 0 miroir rayé)
1. Créez vos 4 tableaux raid1:
En ce moment, vous avez 4 tableaux de raid 1 avec 2 To d'espace sur chacun,
2. Assemblons-les!
Les options --run sont utiles car certains composants sont actifs dans un autre tableau
3. Adaptez votre fichier mdadm.conf
Vous devrez peut-être (en fonction de votre configuration) adapter ce fichier pour refléter les changements concernant notre nouveau tableau (/ dev / md4).
4. Profitez .. de votre nouveau tableau DIY raid10!
la source
Vous pouvez toujours vérifier quels sont les miroirs en comparant grossièrement les données, par exemple:
(si vous n'obtenez aucune correspondance, vous devrez peut-être augmenter skip = , car vous ne sautez pas les superblocs RAID; et si vous obtenez la même somme md5 pour plus de 2 disques, vous devrez peut-être augmenter count = , car vous je suis probablement en train de lire et de résumer des zéros - pour éviter que vous ne mettiez d'abord des données sur le raid, sinon elles pourraient être pleines de zéros)
En ce qui concerne l'échange de fils, vous n'avez pas besoin de le faire - mdadm doit créer un raid avec des périphériques comme spécifié sur la ligne de commande dans mdadm --create , vous devez donc simplement spécifier les lecteurs dans un ordre différent sur la ligne de commande.
la source
Exécutez «mdadm --examine device» sur chaque périphérique composant (par exemple / dev / sda1, / dev / sdb1, etc.). Les informations qui y figurent devraient vous aider à déterminer quels composants sont le miroir de chacun.
la source