Cela devrait fonctionner comme ceci :
# mdadm --manage /dev/md42 --readonly --add-journal /dev/loop3
mdadm: Journal added successfully, making /dev/md42 read-write
mdadm: added /dev/loop3
Cependant, actuellement (en utilisant le noyau 4.18, mdadm 4.1-rc), cela ne semble être possible que pour les tableaux qui ont été créés avec journal en premier lieu. La sortie ci-dessus a été produite après :
# mdadm --create /dev/md42 --level=5 --raid-devices=3 /dev/loop[012] --write-journal /dev/loop3
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md42 started.
# mdadm --manage /dev/md42 --fail /dev/loop3 --remove /dev/loop3
mdadm: set /dev/loop3 faulty in /dev/md42
mdadm: hot removed /dev/loop3 from /dev/md42
Création d'un tableau sans journal, toutes les tentatives d'ajout de journal échouent :
# mdadm --create /dev/md42 --level=5 --raid-devices=3 /dev/loop[012]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md42 started.
# mdadm --manage /dev/md42 --readonly --add-journal /dev/loop3
mdadm: /dev/md42 does not support journal device.
# mdadm --manage /dev/md42 --readwrite --add /dev/loop3
# echo journal > /sys/block/md42/md/dev-loop3/state
bash: echo: write error: Invalid argument
Cela ne semble donc pas encore possible.
J'ai trouvé une discussion sur la liste de diffusion linux-raid indiquant qu'il s'agit d'une fonctionnalité prévue. S'il a été mis en place depuis, je ne vois pas comment. Contactez peut-être vous-même la liste de diffusion pour rappeler aux développeurs mdadm qu'il y a des gens qui veulent que cela fonctionne !
Vous devrez peut-être recourir à mdadm --create
pour recréer le raid ou modifier les métadonnées de la baie. L'une ou l'autre option est un peu dangereuse.