mdadm checkarray auto-read-only

05Fehlermeldung:
checkarray: W: array md1 in auto-read-only state, skipping...

Ausgabe mdstat:

Server:~# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[0] sdb3[1]
      1949367168 blocks [2/2] [UU]
md1 : active (auto-read-only) raid1 sda2[0] sdb2[1]
      3903680 blocks [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
      240832 blocks [2/2] [UU]
unused devices: <none>

Wenn das Array neu eingerichtet und noch nie genutzt wurde, steht es noch im Zustand „auto-read-only“. Dadurch kann der Raid-Verbund nicht geprüft werden. Bei mir ist md1 das Raid-1-Array mit der Swap-Datei. Da mein Rechner relativ frisch installiert ist, wurde der SWAP noch nicht genutzt. Abhilfe schafft folgende Vorgehensweise:

# Alle Swap-Dateien aus /proc/swaps deaktivieren
Server:~# swapoff -a
# SWAP-Dateisystem auf das gemeldete Gerät (bei mir md1) schreiben
Server:~# mkswap /dev/md1
# Alle Swap-Dateien aus /proc/swaps aktivieren
Server:~# swapon -a

Ausgabe mdstat danach:

Server:~# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[0] sdb3[1]
      1949367168 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
      3903680 blocks [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
      240832 blocks [2/2] [UU]
unused devices: <none>

Und schon klappt der Check wieder:

Server:~# /usr/share/mdadm/checkarray --quiet /dev/md1
Server:~# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[0] sdb3[1]
      1949367168 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
      3903680 blocks [2/2] [UU]
      [===>.................] check = 19.4% (758272/3903680) finish=0.6min speed=84252K/sec
md0 : active raid1 sda1[0] sdb1[1]
      240832 blocks [2/2] [UU]
unused devices: <none>

Weitere Infos dazu im Debian Bug Tracker