Es sollte ungefähr so funktionieren:
# mdadm --manage /dev/md42 --readonly --add-journal /dev/loop3
mdadm: Journal added successfully, making /dev/md42 read-write
mdadm: added /dev/loop3
Derzeit (mit Kernel 4.18, mdadm 4.1-rc) scheint dies jedoch nur für Arrays möglich zu sein, die überhaupt mit Journal erstellt wurden. Die obige Ausgabe wurde erzeugt nach:
# 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
Beim Erstellen eines Arrays ohne Journal schlagen alle Versuche fehl, ein Journal hinzuzufügen:
# 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
Es scheint also noch nicht möglich zu sein.
Ich habe eine Diskussion auf der Linux-Raid-Mailingliste gefunden, dass dies ein geplantes Feature ist. Wenn es seitdem implementiert wurde, sehe ich nicht, wie. Vielleicht wenden Sie sich selbst an die Mailingliste, um mdadm-Entwickler daran zu erinnern, dass es Leute gibt, die möchten, dass dies funktioniert!
Möglicherweise müssen Sie auf mdadm --create
zurückgreifen um das Raid neu zu erstellen oder Metadaten des Arrays zu bearbeiten. Beide Optionen sind etwas gefährlich.