Raid, MDADM, Disk failure on sda1, disabling device -> wieder enabeln?

  • Hi,


    Ich habe ein MDADM raid, am rpi4. Festplatten sind mit USB angeschlossen. Hat bisher recht gut funktioniert.

    Jetzt habe ich im laufenden Betrieb eine neue Festplatte an das System angeschlossen. (USB Stecker in den rpi4, und Strom eingeschaltet). Sonst nichts.


    Das hat dazu geführt, dass

    Code
    1. Sep 24 15:29:27 rpi4s kernel: [856799.522291] md: super_written gets error=-5
    2. Sep 24 15:29:27 rpi4s kernel: [856799.522307] md/raid:md0: Disk failure on sda1, disabling device.
    3. Sep 24 15:29:27 rpi4s kernel: [856799.522307] md/raid:md0: Operation continuing on 2 devices.
    4. Sep 24 15:29:36 rpi4s kernel: [856809.214481] md: recovery of RAID array md0


    cat /proc/mdstat:


    Code
    1. cat /proc/mdstat
    2. Personalities : [raid6] [raid5] [raid4]
    3. md0 : active raid5 sdb1[1] sdd1[4] sde1[5]
    4. 7813770240 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
    5. [==>..................] recovery = 14.5% (570064456/3906885120) finish=5582.5min speed=9961K/sec
    6. unused devices: <none>


    Also, die alte "/dev/sda", die auch zu dem Raid gehört, ist jetzt /dev/sdf

    Die neu eingesteckte Festplatte ist jetzt /dev/sda


    Kann ich mdm dazu bewegen, /dev/sdf (was früher /dev/sda1 war) wieder zu verwenden, zusammen mit den Daten, die da drauf sind?

    Oder muss ich /dev/sdf als neue Festplatte in den Verbund einfügen, d.h. die Daten auf /dev/sdf sind wertlos / verloren?


    Also, wenn ich das richtig verstehe, wurde durch das Einstecken der neuen Platte die alte Platte /dev/sda zu /dev/sdf, und die neue Platte ist /dev/sda.

    Warum ist mir unklar, ich hätte jetzt erwartet, dass die neue Platte unter /dev/sdf ins System kommt. Und die alte Platte /dev/sda bleibt.


    ~ Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Ich würde es mit einer udev rule versuchen, die eine feste Zuordnung der Platten zu sdx erzeugt.

  • Bei USB kann da leicht mal was passieren, ich würde die Partitions- bzw. Platten-UUIDs verwenden.

  • Ja, trag die UUID in /etc/mdadm.conf ein:

    ARRAY /dev/md0 UUID=....


    UUID bekommst Du mittels 'mdadm --detail /dev/md0'

    Damit sollte sich mdadm automatisch die richtigen pertitionen zusammensuchen, egal wie sie heissen.

    VDR2: ASRock J4105-ITX, DVBSky S952, openSUSE Tumbleweed, VDR 2.4.7

    softhddevice/vaapidevice, DFAtmo, xmltv2vdr, tvscraper, tvguideng, VDRAdmin-AM (alles git, aber alt)

  • Hi,


    in der /etc/mdadm/mdadm.conf:

    Code
    1. ARRAY /dev/md/0 metadata=1.2 UUID=416f7558:067b4d88:575b158c:c5eded9b name=debian:0

    sudo mdadm --detail /dev/md0

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Code
    1. mdadm --detail --scan

    hat als Ausgabe genau das, was du in der /etc/mdadm/mdadm.conf brauchst. Kannst die Ausgabe auch gleich direkt umleiten in die Datei (root Rechte notwendig).

    VDR