Pour une raison quelconque, lorsque j'essaie de renommer un tableau RAID raid mdadm en un nom textuel, le changement ne prend pas.
J'ai essayé les conseils de cette question de défaut de serveur , mais en vain.
~$ mdadm --version
mdadm - v3.1.4 - 31st August 2010
~$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Sep 27 08:32:32 2011
Raid Level : raid1
Array Size : 1953513424 (1863.02 GiB 2000.40 GB)
Used Dev Size : 1953513424 (1863.02 GiB 2000.40 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Oct 2 17:59:37 2011
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : omicron:0 (local to host omicron)
UUID : 75c4a555:482aecd0:ade70dfc:1547926a
Events : 17
Number Major Minor RaidDevice State
0 8 80 0 active sync /dev/sdf
1 8 96 1 active sync /dev/sdg
~$ sudo mdadm --stop /dev/md0
mdadm: stopped /dev/md0
~$ sudo mdadm --assemble /dev/md/alpha --update=name /dev/sd[gf]
mdadm: /dev/md/alpha has been started with 2 drives.
~$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Sep 27 08:32:32 2011
Raid Level : raid1
Array Size : 1953513424 (1863.02 GiB 2000.40 GB)
Used Dev Size : 1953513424 (1863.02 GiB 2000.40 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Oct 2 18:06:11 2011
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : omicron:0 (local to host omicron)
UUID : 75c4a555:482aecd0:ade70dfc:1547926a
Events : 17
Number Major Minor RaidDevice State
0 8 80 0 active sync /dev/sdf
1 8 96 1 active sync /dev/sdg
~$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdf[0] sdg[1]
1953513424 blocks super 1.2 [2/2] [UU]
md126 : active (auto-read-only) raid1 sdd[0] sde[1]
1953513424 blocks super 1.2 [2/2] [UU]
md127 : active (auto-read-only) raid1 sdb[0] sda[1]
976762496 blocks [2/2] [UU]
unused devices: <none>
Comme vous pouvez le voir, le nom est toujours signalé comme omicron:0
et toujours accessible via l'ancien fichier de l'appareil. Essayer sudo mdadm --detail /dev/md/alpha
fonctionnera et rapportera le même nom, incorrect, jusqu'au prochain redémarrage, quand il cessera de fonctionner.
Il semble que lors de la détermination du nom à insérer, mdadm soit confus et crée simplement le fichier de périphérique à la place.
DE CÔTÉ
Existe-t-il un moyen de forcer mdadm à forcer une mise à jour de la partie nom du superbloc (c'est-à-dire définir explicitement le nom que vous voulez que le tableau ait) sans avoir à recréer explicitement le superbloc? (ie sudo mdam --zero-superblock /dev/sd[fg]; sudo mdadm --create /dev/md/alpha --raid-devices=2 --level=1 --assume-clean --name=alpha /dev/sd[fg]
)
Le problème est qu'après le redémarrage, malgré l'ajout ARRAY /dev/md/alpha metadata=1.2 name=omicron:alpha UUID=c66a267...
à mdadm.conf, le fichier de périphérique nommé disparaît et est remplacé par l'un de format standard. (/ dev / md125 ou similaire)
Comment puis-je faire en sorte qu'un tableau mdadm renommé conserve son nom? - C'est à dire - Comment puis-je faire ubuntu persister les fichiers du périphérique entre les bottes?
sudo mdadm --assemble /dev/md/alpha --name={newname} --update=name /dev/sd[gf]
J'espère que cela a du sens ou le rend plus clair ....mdadm --stop --scan md127
La façon de faire en sorte qu'Ubuntu persiste dans le changement de nom entre les démarrages est de mettre à jour vos initramfs. Après avoir mis à jour le nom de votre baie et mdadm.conf, vous devez exécuter la commande suivante:
Le processus complet:
La troisième commande devrait retourner quelque chose comme:
Collez le résultat dans /etc/mdadm/mdadm.conf (en remplaçant l'ancienne ligne). Ou exécutez:
Prochaine course:
Enfin, redémarrez.
Cette discussion a été utile .
la source
La première réponse de pille et NN fonctionne.
L'astuce ici est que lorsque vous ne spécifiez pas l'
--name
option, le seul changement de nom effectué parmdadm
attribue le nom de la baie à partir du numéro de périphérique qu'il a alloué. Dans cette question, il s'agit de 0, le nouveau nom du tableau est donc 0.Puisque vous spécifiez le nom du périphérique ("alpha" ici) à utiliser dans la commande d'assemblage, il créera et utilisera ce nom de périphérique. Mais au démarrage automatique,
mdadm
crée un périphérique basé sur le nom qu'il voit dans le superbloc, c'est-à-dire 0 dans ce cas, donc le nom du périphérique que vous avez spécifié dans votre commande d'assemblage est perdu.Pour rendre votre changement de nom collant et cohérent, vous devez utiliser le même nom dans la dernière partie du nom de votre appareil et dans le nouveau nom de votre baie. Dans ce cas, pour le périphérique "alpha", vous devrez utiliser cette ligne de commande:
Vous pouvez également modifier le nom d'hôte, pour ce faire, vous devez le déclarer explicitement à l'aide de la
-name=<hostname>:<array_name>
syntaxe.Cela peut être utile par exemple après un changement de nom de machine.
la source
Il semble que la réponse que vous recherchez se trouve dans la page de manuel mdadm
et pour assembler
Ce qui explique pourquoi l'attribut de nom n'est pas collant après avoir été défini. Si vous l'avez fait fonctionner, merci d'accepter un commentaire dont la réponse a fait l'affaire pour vous. Alternativement, vous pouvez toujours créer des liens symboliques en utilisant une règle udev et l'UUID du tableau comme ancre.
Je ne vois pas l'intérêt d'ajouter le faux nom au /etc/mdadm.conf, vous utilisez déjà l'UUID qui est le nom du tableau canonique. L'ajout d'une autre variable, que vous jugez bon de changer, est juste une maintenance inutile et demander des problèmes, par exemple, le tableau ne démarre pas.
Au-delà de ces observations, le meilleur endroit où aller pour comprendre pourquoi vous ne pouvez tout simplement pas mettre à jour le nom à l'exécution est de faire un ping sur la liste de diffusion linux-raid.
la source
après avoir changé le nom, avez-vous essayé de mettre à jour votre
mdadm.conf
?la source
mdadm a un bug lorsque des volumes de raid ont été créés en interne avec un espace à leur nom. Ces volumes ne se monteront pas correctement en raison d'une erreur de format dans le fichier /etc/mdadm/mdadm.conf généré. Vous devez les renommer ici, mais cela ne sera pas persistant. Il est donc nécessaire de renommer les noms internes ... mais il n'est pas pris en charge sur tous les contrôleurs RAID qui bloquent leurs métadonnées et ne prennent pas en charge l'option de nom. Je ne vois pas comment renommer ces volumes (même s'ils sont référencés en interne par leur UUID, les noms sont ceux utilisés par Linux; Windows au contraire n'a pas un tel bug et monte parfaitement les volumes RAID contenant des espaces dans leurs noms)!
la source