RAID6: Eine Platte entfernt - RAID degraded - dieselbe Platte wieder eingesteckt - wie kann man vollständigen rebuild vermeiden?

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

framp

Benutzer
Registriert
19. Feb. 2016
Beiträge
1.212
Reaktionspunkte
235
Punkte
89
Aus Erfahrung wird man klug ...

Bei einem Test, der notwendig wurde um zu testen warum eine 20TB Platte auf einer 1821+ nicht erkannt wird, wurde auf einer 1821+ mit RAID6 eine Platte entfernt und durch eine andere 20TB Platte ersetzt. Die wurde aus unerfindlichen Gründen zwar erkannt aber das Erstellen eines Storagepools failte :-( Dann wurde die originale Platte des RAID6 wieder eingebaut und erwartet dass das RAID6 wieder automatisch aus dem degraded Status herausgeht.

Leider wurden alle Daten der Platte gelöscht und ein vollständiger Rebuild des RAIDs gestartet obwohl doch eigentlich alle Daten wieder vorhanden waren. Da es ein RAID6 ist ist es kein grosses Problem - auch existiert mittlerweile ein Backup - aber eigentlich muss es doch einen Weg geben die Platte wieder ohne Löschen der existierenden Daten und schneller wieder in das RAID6 zu bringen. Ich habe mir mdadm angesehen aber irgendwie scheint es nicht zu gehen. Oder habe ich was übersehen?
 
Das ist ein normales und zu erwartendes Verhalten, wenn eine Platte im RAID im laufendem Betrieb gezogen wird. Wie kommst du drauf, dass auf der gezogenen Platte ohne manuelles Zutun alles gelöscht wurde?
 
  • Like
Reaktionen: DaveR und dil88
Nur weil die RAID-Wiederherstellung läuft, heißt ja noch nicht, dass die eine Platte zuvor oder vor dem Prozess gelöscht wurde. Oder hab ich das falsch verstanden?
 
  • Like
Reaktionen: maxblank
Das DSM hat eine Meldung/Warnung geschrieben dass die Platte geloescht wird.
 
Joar, wirds beim reparieren auch. Anders wirst du die Platte vermutlich nicht mehr reinbekommen.
Die Platte ist nicht mehr identisch zu den anderen Platten, sondern "veraltet". Auch das Betriebssystem DSM liegt auf allen Platten und da gabs definitiv Änderungen seit dem entfernen der Platte.

Du hättest, wenn du sowas schon machst, vorher ALLE Platten rausnehmen müssen im ausgeschalteten Zustand, und NUR die neue, die du testen wolltest reinmachen. Und danach wieder ausschalten, und die alten Platten wieder rein - und nur die. Dann weiß die DS von den Spielchen nix, im laufenden Betrieb halt schon.
 
Zuletzt bearbeitet:
also so wie ich mich erinnere, wenn ich einem raid1 eine der 2 Plattten wegnehme, es jedoch mit der einen Platte weiter laufen lasse und Warnung degraded bekomme, dann stecke ich die orig Platte wieder ein, ergibt dies auch ein Rebuild was etwas dauern kann.

Also warum sollte es bei einem raid6, was noch etwas komplexer ist anders sein?
 
Stimmt. Ich habe vergessen dass sch das DSM in alle Platten einnistet. Und da aendert sich ja dauernd etwas. Die Frage ist ob eib Stop des Raids was geholfen haette. Das DSM nutzt ja ein dediziertes Raid1 was auf allen Platten liegt.

Also warum sollte es bei einem raid6, was noch etwas komplexer ist a
Vielleicht gibt es ja auch einen Weg bei einem RAID1 den kompletten Rebuild zu verhindern.
 
einen Weg bei einem RAID1 den kompletten Rebuild zu verhindern.
ja, dann hat man eben keinen Raid1 mehr, sondern zwei separate Disk und einen unvollständigen Raid
Ich meine entweder steht auf den Disks das was drauf stehen soll oder es muss neu synchronisiert also geschrieben werden
 
  • Like
Reaktionen: DaveR
Auf meiner kleinen DS418Play habe ich folgende RAID1e

Code:
root@synology:~# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda5[0] sdb5[1]
      3902187456 blocks super 1.2 [2/2] [UU]
      
md3 : active raid1 sdc3[0] sdd3[1]
      2925444544 blocks super 1.2 [2/2] [UU]
      
md1 : active raid1 sda2[0] sdc2[3] sdd2[2] sdb2[1]
      2097088 blocks [4/4] [UUUU]
      
md0 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
      2490176 blocks [4/4] [UUUU]

md0 ist die Systempartition/DSM, md1 SWAP und beide sind ein RAID1 über 4 Plattenpartitionen und md2 und md3 jeweils ein Daten RAID1 mit jeweils 2 unterschiedlichen Plattenpartitionen.

Die Frage ist was passiert wenn ich md3 per mdadm stoppe, eine Platte aus md3 rausziehe, eine andere reinstecke, die Platte teste, dann wieder die alte md3 Platte einstecke und das Raid wieder per mdadm starte. Ich vermute mal dann ist kein rebuild notwendig da das RAID ja nicht aktiv war ohne die zweite Platte und degraded ist. Ich vermute das wird auch mit einem RAID5 oder RAID6 so funktionieren.

Testen kann ich das leider nicht da ich keine Testsyno habe und mein Produktionssystem dafür nicht nutzen will.
 
müsste man dann nicht auch 0 und 1 stoppen? Ja deine Datenpartition hast du vielleicht angehalten, aber System?

was ich mich noch frage, was heisst hier eigentlich eine Platte testen?
 
Selbst wenn das funktionieren würde, würd ich's trotzdem nicht machen. Was willst du damit bezwecken?

Wenn du eine DS als HDD Dockingstation missbrauchen willst, schalte die Kiste ab, mach alle Produktivplatten raus und bau deine HDD zum testen ein (selbe DSM Version wie auf den Produktivplatten installieren!) und danach wieder runterfahren und die Platten wieder komplett tauschen, aber auf keinen Fall im laufenden Betrieb die Platten mischen oder unnötig Platten rausziehen. Murphys Gesetz und so. Irgendwann schlägt es zu.
 
  • Like
Reaktionen: DaveR
müsste man dann nicht auch 0 und 1 stoppen?
Dann stoppst Du das System.

was heisst hier eigentlich eine Platte testen?
Hintergund ist ein Problem mit dem Erkennen einer 20TB Platte und wie man zuverlässig prüfen kann dass sie OK ist.

Gegeben:
1) Eine DS 1821+ mit 8 * 20TB wo alle Platten erkannt wurden und das System ohne Problem aufgesetzt werden konnt.
2) Eine weitere 20 TB Platte vom selben Typ die getestet werden soll ob sie OK ist

Zugriff von einem Windows PC über einen USB Adapter auf die 20TB Platte failed. Annahme: Die Platte ist defekt, Windows hat Probleme auf die Platte zuzugreifen. Deshalb

Testweg ohne USB Adapter und Windows:
1) Entfernen einer der 20 TB Platten
2) Einstecken der neuen 20 TB Platte und erstellen eines Basic Storagepool um zu testen ob die Platte OK ist
 
Dann wie gesagt alle Platten austauschen und nicht mischen und im laufenden Betrieb machen.

Oder halt einfach nen USB Stick mit live Linux für so Zwecke.
 
Wenn du eine HDD im laufenden Betrieb aus einem RAID nimmst, gibt es immer einen Rebuild, weil ja immer etwas geschrieben wird und dann die Paritäten nicht mehr passen.
 
  • Like
Reaktionen: ottosykora
Dann wie gesagt alle Platten austauschen und nicht mischen und im laufenden Betrieb machen.
Das habe ich gelernt. Wie initial gesagt - aus Erfahrung wird man klug. Die Sache ist erledigt und ein Rebuild läuft und wird sicherlich da es ein RAID6 ist auch keine Probleme machen.

Ich versuche jetzt einfach rauszufinden was ich zukünftig - und vielleicht auch ein Mitleser - machen kann um diesen rebuild zu vermeiden. Klar - alle Platten raus - und die eine zu testende Platte only rein und versuchen DSM zu installieren. Dann bleibt das RAID6 definitiv intakt. Den Installationsschritt dachte ich kann ich mir schenken. War leider ein Griff ins Klo :cry:

Dein Vorschlag mit USB Live Linux auf dem Windows PC hatte ich auch im Kopf. Wäre ich noch vor Ort hätte ich meinen Linux Laptop genommen. Das wäre der einfachste Weg gewesen.

Jetzt einem Windowsnutzer remote per Telefon beizubringen wie er mit einem Linuxsystem den Teamviewer auf Linux installiert damit ich von remote den Plattencheck machen kann - da erschien der eingeschlagene Weg einfacher. Ist es auch gewesen - nur eben mit dem Nachteil dass jetzt wieder ein rebuild des RAID6 laufen muss.

Somit lessons learned: Entferne keine Platte aus einem RAID6 wenn das RAID noch aktiv ist sondern entferne alle Platten. Alternativ könnte wohl mein Vorschlag funktionieren das RAID6 per mdadm zu deaktivieren. Nur kann ich das bei mir mit meinem System mit RAID1 nicht testen da ich mein Produktivsystem nicht affecten will. Und auf dem remoten RAID6 System läuft der Rebuild und wird natürlich auch nicht rumgetestet.

Mich ärgert dass ich nicht testen kann ob mein Workaround funktioniert :mad:
 
There was an unnused DX513 available
😭

What happens to md0 (the dsm) when a disk is removed and what happens to a 4 disk raid1 if a new disk.is inserted? I assume a raid1 rebuild will be required. But given the DSM partition is quite small the rebuild/copy will finish very fast ... doesn't it? So from my understanding my approach should work, even it's not an elegant way to go.
 
To use a DX513, or DX213, with a DS1821+ they would need to run https://github.com/007revad/Synology_enable_eunit and reboot for the DX513 to be detected by DSM.

When DSM rebuilds the md0 system partition to a reinserted drive it only takes about 30 seconds.

When you pull a disk out and reinsert it the data in the storage pool(s), md2 and md3 etc, also need rebuilding.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: dil88 und framp

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat