Cache zerschossen: Unmountable: Too many missing/misplaced devices


tommek83

Recommended Posts

Liebe Unraid-Community, 

 

ich glaube ich habe mir meinen Cache zerschossen. 

Ich wollte meinen Cache als RAID1 spiegeln um eine bessere Ausfallsicherheit zu haben. 

Ich habe in meinen zweiten M.2-Slot eine 2TB SSD zu meiner ursprünglichen 1TB Platte hinzugefügt und den Pool auf 2 Slots erweitert. Leider hängte sich Unraid direkt beim mounten auf. Nach einem Neustart habe ich nun die Platte mit 2TB wieder entfernt. 

 

Nun kommt die Meldung: UNMOUNTABLE: TOO MANY MISSING/MISPLACED DEVICES

Ich habe nach einer Lösung gesucht und im Forum einen Workaround gefunden. 

 

Leider kommt nun die Meldung: UNMOUNTABLE: NO FILE SYSTEM 

Bevor ich nun noch mehr zerstöre wollte ich hier lieber nach Hilfe fragen und hoffen, dass noch was zu retten ist. 

 

Auf meinen Cache-Drive sind meine Docker-Konfigurationen und meine VM.

 

Ich hoffe mir kann jemand helfen. 

server4-diagnostics-20230127-1451.zip

Link to comment
55 minutes ago, tommek83 said:

Auf meinen Cache-Drive sind meine Docker-Konfigurationen und meine VM.

 

und wahrscheinlich kein Backup vorher gemacht ? wenn doch, VM, Docker Dienst aus, cache einfach neu einrichten, Backup einspielen, Docker und VM Dienst neu starten. Wenn Nein ... sieht es aktuell übel aus, Datenrettungs Software wäre ein Versuch, aber geht meistens in die Hose, vielleicht hat @mgutt eine Idee dafür, ich bin kein freund der BTRFS Raid's und daher auch nicht tief drin ob da noch was zu machen wäre ...

Link to comment

Ich wollte heute aus meinem Single Disk Cache einen Cache Pool machen. 
Ist schief gegangen - ich hatte es mir einfacher vorgestellt.

Was ich gemacht habe:

- Array gestoppt

- zweite Cacheplatte eingebaut

- Slots auf zwei erhöht

- Array stand auf Valid - gestartet

 

Anschließend waren beide Platten vom Cache nicht mountable.

Ich habe die zweite Platte wieder entfernt aus dem Pool, die Anzahl Slots wieder auf 1 gestellt. Array stand wieder auf Valid, gestartet. Die Cacheplatte weiterhin nicht mountable.

Also, was habe ich falsch gemacht?

Wie komme ich aus der Nummer wieder raus? Wie baue ich mir den Cachepool?

 

Kann ich erstmal über "NewConfig" zum alten Stand zurück? 

 

Vielen Dank!

Edited by BigChris
Link to comment
  • BigChris changed the title to Benötige Hilfe! Habe mit dem Cache mist gemacht :( Jetzt Unmountable
1 hour ago, tommek83 said:

Backup im Sinne eines Backup vom Flash oder so richtig das komplette Cache kopiert?

 

Und wie machst du ein Backup von deinem Cache?

Ich dachte die RAID1-Lösung wäre eine elegante Sache. 

Ich stoppe Docker und VM und kopiere dann den gesamten Inhalt der SSD (incl. appdata, domains, isos,  system) und eben der Unterverzeichnisse, die für die restlichen Share Caches benutzt werden. Danach wieder Docker und VM an und schon hat man ein Backup.

Link to comment

Ich lege eure beiden Threads mal zusammen, da identisches Problem. Dann:

 

War Docker aktiv? Dann müsst ihr bereits jetzt über einen "Folgeschaden" nachdenken: Die Container haben sich evtl auf das Array alle neu installiert.

 

War appdata komplett auf dem Cache, bevor der Cache Pool erweitert werden sollte?

 

3 hours ago, tommek83 said:

Nun kommt die Meldung: UNMOUNTABLE: TOO MANY MISSING/MISPLACED DEVICES

 

1 hour ago, BigChris said:

Anschließend waren beide Platten vom Cache nicht mountable.

Kann es sein, dass die einzelne Cache Disk XFS formatiert war/ist? Dann kann man den Pool nicht erweitern. In dem Fall muss der Pool erst geleert werden (alle Shares auf Yes stellen und den Mover starten). Wenn er dann leer ist, wird er erst in BTRFS formatiert:

https://wiki.unraid.net/Manual/Storage_Management#Switching_the_pool_to_multi-device_mode

 

Das "leeren" aber erst machen, wenn zuvor genannte Situation mit dem Docker Dienst klar ist. Ansonsten hat man nachher alle Container zerlegt.

 

1 hour ago, BigChris said:

Kann ich erstmal über "NewConfig" zum alten Stand zurück? 

Sollte gehen. Du darfst jedenfalls auf keinen Fall irgendwas formatieren. Auch solltest du unbedingt Docker und VM auf No stellen. Erst wenn du sicher bist, dass es keine doppelte appdata gibt und keine sonstigen Fehler existieren, darfst du diese Dienste wieder in Betrieb nehmen. Ich würde auch sicherheitshalber den Mover erst mal deaktivieren.

 

Backups machen, ist natürlich die beste Lösung. 

 

 

 

 

Link to comment
  • mgutt changed the title to Cache zerschossen: Unmountable: Too many missing/misplaced devices
36 minutes ago, BigChris said:

Wie lege ich denn einen neuen Cache an? Und wie kopiere ich die Daten dann zurück in den Cachepool? Kann man direkt in den Cache schreiben? Wie?

Screenshot von der Disk Übersicht machen. Dann Tools > New Config. Array kann man preserven / behalten, weil sich da ja nichts ändert. Danach sind alle Pools weg. Ich würde dann den neuen Cache wie zuvor als "cache" erstellen. Hier diesmal "BTRFS" als Dateisystem nehmen. Siehe auch Disk-Einstellungen was da als Standard voreingestellt ist.

 

Die "kaputte" Cache Disk kann man "weg lassen". Die mountet man einfach über das Unassigned Devices Plugin. Von da aus könnte man dann auch alles zurück kopieren. Zum Kopieren bietet sich zB das File Manager Plugin an oder Krusader Docker oder das "mc" Kommando im Terminal.

 

Aber ich betone: Es darf auf keinen Fall Docker oder VM gestartet werden, solange nicht klar ist, dass davon NICHTS auf dem Array liegt. Falls das vorher schon der Fall gewesen sein sollte, habt ihr evtl ein richtiges Problem, weil man dann nicht weiß welche Dateien eigentlich relevant sind. Das müsste man dann versuchen über den Zeitstempel herauszufinden.

Link to comment
50 minutes ago, mgutt said:

 

 

Die "kaputte" Cache Disk kann man "weg lassen". Die mountet man einfach über das Unassigned Devices Plugin. Von da aus könnte man dann auch alles zurück kopieren. Zum Kopieren bietet sich zB das File Manager Plugin an oder Krusader Docker oder das "mc" Kommando im Terminal.

 

 

Bei dem Schritt bin ich gerade und frage mich wie ich das verstehen soll.
Auf meinem alten Cache, den ich gemounted habe liegen laut Anzeige 102GB (used)
Ich kopiere es gerade rüber und auf dem neuen Cache liegen nun bereits 191GB Daten? Wie kommt das denn nun zustande? Der mc sagt, es werden 385GB Daten kopiert.
Warum passen die Werte nicht zusammen?

Auf dem Array liegt erst mal nichts, dass hat so weit bei mir geklappt. Trotzdem traue ich mich noch nicht die Docker wieder zu starten...

Link to comment
14 minutes ago, BigChris said:

Auf meinem alten Cache, den ich gemounted habe liegen laut Anzeige 102GB (used)

Check den Pfad und prüfe mal so:

 

du -sh /mnt/disks/deinmount/*

 

parallel zB den Cache Pool:

 

du -sh /mnt/cache/*

 

Was sein könnte:

Wenn du VMs hast, dann sind deren Dateien "sparsig". Dh Nullen belegen keinen Speicherplatz. Bei dem docker.img ist das meine ich auch so. Das kann man nachträglich auch wieder so machen.

 

Was du zum Schluss auch machen könntest (beim Quellfpad ist der Schrägstrich am Ende wichtig):

 

rsync --dry-run --archive --itemize-changes /mnt/disks/deinmount/ /mnt/cache

 

Dann bekommst du ein Log mit allen Dateien, die noch nicht 1:1 übertragen wurden (--dry-run = nichts wird kopiert, nur verglichen). Im Idealfall also keine.

 

Link to comment
2 hours ago, mgutt said:

Ansonsten würde ich sagen, dass du einfach den rsync ohne dry-run ausführst. Dann hast du eine 1:1 Kopie.

Ich habe rsync ausgeführt. 
Leider ist das Ergebnis identisch...


 

root@Tower:/mnt/cache# du -sh /mnt/cache/*
14G     /mnt/cache/appdata
270G    /mnt/cache/domains
101G    /mnt/cache/system
2.3M    /mnt/cache/zoneminder-data



root@Tower:/mnt/cache# du -sh /mnt/disks/191322452512/*
14G     /mnt/disks/191322452512/appdata
68G     /mnt/disks/191322452512/domains
14G     /mnt/disks/191322452512/system
56K     /mnt/disks/191322452512/zoneminder-data

 

Link to comment

Ja, rsync berücksichtigt sparse erst, wenn man das Flag setzt:

 

--sparse

 

Keine Ahnung ob das auch noch geht, wenn die Datei schon auf dem Ziel ist. Probier einfach mal.

 

Ansonsten spielt das aber keine Rolle. Du kannst dann weiter machen. Sparse kann man jederzeit nachholen. Kommando liefere ich dir dann morgen.

 

Wichtig ist jetzt wie gesagt nur noch, dass kein appdata oder Domain oder system auf einer der Array Disks liegt.

 

Wenn nein, kannst du docker wieder in Betrieb nehmen.

 

Link to comment
7 hours ago, tommek83 said:

Ich habe auch einen Plex-Server laufen, der hat extrem viele kleine Dateien, sodass ein Backup auf eine externe Platte mehrere Stunden dauern würde.

Deshalb sichere ich meinen SSD Cache zuerst auf einen SSD Pool.

Das ist sehr flott.

Danach kann das System normal weiter machen und von dem SSD-Pool kann in aller Ruhe das Backup übertragen werden.

Link to comment

Ich habe ein bisschen die Nerven verloren und es nun folgendermaßen gelöst.
Die "alte" Cacheplatte wieder über NewConfig hinzugefügt. Die Shares alle auf YES gestellt und den Mover gestartet. Hat ein bisschen gedauert....
Dann die Platte als BTRFS umformatiert und die Shares auf PREFER gestellt. (Only ging seltsamerweise nicht, der Mover hat so nichts gemacht. Anschließend den Mover gestartet und der hat die Shares wieder korrekt auf den Cache geschoben. Die Shares wieder auf ONLY gestellt und Docker läuft.
*Puh*

Gerade noch mal gut gegangen.

Kann ich jetzt die zweite Cacheplatte als BTRFS einfach hinzufügen?


Vielen Dank für die Hilfe!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.