Kann auf Daten in einem Synology NAS nicht mehr zugegriffen werden, weil beispielsweise das Synology NAS defekt ist, so besteht die Möglichkeit, Festplatten aus dem NAS auszubauen und an einem PC die Daten auszulesen..
Offizielle Anleitung zur Datenwiederherstellung von einem NAS am PC
Zur Wiederherstellung der Daten am PC stellt Synology eine offizielle Anleitung bereit:
„Wie kann ich Daten mit einem PC wiederherstellen, wenn mein Synology NAS defekt ist?“
NAS Festplatten im PC einbinden
Vereinfacht gesagt werden die md Raids neu zusammengestellt und anschließend die logischen Volumen aktiviert. Daraufhin werden die entsprechenden Geräte gemountet und die Daten sind zugreifbar. Der oben verlinkte Beitrag beschreibt das Verfahren im Detail.
mdadm -AsfR
vgchange -ay
mount ${device_path} ${mount_point}
Auf neueren Linux Systemen funktioniert dieses Verfahren nicht
Das Verfahren ist einfach, wenn es denn funktioniert. Neuere Linux Systeme können ein mit einem Synology NAS erstelltes btrfs Volumen nicht mounten. Der Versuch, das Volumen zu mounten, läuft in folgenden Fehler:
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/mapper/vg1-volume_1, missing codepage or helper program, or other error.
Dies ist eine ziemlich nichtssagende Fehlermeldung, wie an dem Zusatz „or other error“ zu erkennen ist. Dieser Fehler kann viele Ursachen haben.
Ein Blick in die Meldungen des Kernel Ringpuffers liefert eine erste Spur.
BTRFS info (device dm-3): has skinny extents
BTRFS critical (device dm-3): corrupt leaf: root=1 block=29360128 slot=17, invalid root flags, have 0x400000000 expect mask 0x1000000000001
BTRFS error (device dm-3): block=29360128 read time tree block corruption detected
BTRFS critical (device dm-3): corrupt leaf: root=1 block=29360128 slot=17, invalid root flags, have 0x400000000 expect mask 0x1000000000001
BTRFS error (device dm-3): block=29360128 read time tree block corruption detected
BTRFS warning (device dm-3): couldn't read tree root
BTRFS error (device dm-3): open_ctree failed
Neuere Kernel verhindern das mounten von Dateisystemen mit nicht unterstützten Flags
Diese Meldung ist irreführend, da sie auf ein korruptes Dateisystem hindeutet. Der entscheidende Teil der Meldung ist jedoch „invalid root flags„. Die Ursache liegt in einer Änderung der Art und Weise, wie der Linux Kernel Subvolume Flags beim mounten eines btrfs Dateisytems prüft. Während ältere Kernel das mounten eines btrfs Dateisystems mit nicht unterstützten Flags zulassen, ist in den Kernel 5.4-rc1 eine Änderung eingeflossen, die dies verhindert.
btrfs: tree-checker: Add ROOT_ITEM check
This patch will introduce ROOT_ITEM check, which includes:
- Key->objectid and key->offset check
Currently only some easy check, e.g. 0 as rootid is invalid.
- Item size check
Root item size is fixed.
- Generation checks
Generation, generation_v2 and last_snapshot should not be greater than
super generation + 1
- Level and alignment check
Level should be in [0, 7], and bytenr must be aligned to sector size.
- Flags check
committed on Sep 9. 2019, branch v5.4-rc1
Alle Synology btrfs Volumes betroffen
Hiervon sind aktuell (DSM 7.2.64570 Update 3) so ziemlich alle Synology Volumes betroffen. Von der Theorie her können diese Synology btrfs Volumes unter anderen Linux Systemen nur mit einem Kernel kleiner v5.4 gemountet werden.
Kernel Version und Distribution sind entscheidend
An dieser Stelle sind wir im Distributions Kernel Versions Dschungel angekommen. Synology empfiehlt in der oben genannten Anleitung (Letzte Aktualisierung: 13. Okt. 2023) die Verwendung von Ubuntu 18.04 (Bionic Beaver).
Ein Blick auf die Kernel Release Schedule von Ubuntu zeigt zum einen, dass diese Version seit Mai 2023 End of Life ist, außer der kostenpflichtigen PRO Version. Zum anderen trifft dieser Hinweis nur auf die LTS GA Version zu und nicht auf den Hardware Enablement Stack LTS HWE.
Um es weiter zu verkomplizieren: So weit wir das beurteilen können wurden die mit Kernel 5.4 eingeführten btrfs Änderungen unter Ubuntu 18.04 bis nach 18.04.0 LTS GA Kernel v4.15 backported.
Kernel Version < v5.4 ohne Backports erforderlich
Unter Ubuntu 15.10 mit Kernel v4.2 ändert sich der Fehler beim Versuch, ein Synology Volume zu mounten. Zunächst erscheint die gleiche Fehlermeldung:
mount: wrong fs type, bad option, bad superblock on /dev/mapper/vg1-volume_1,
missing codepage or helper program, or other error
Der Kernel Ringpuffer gibt allerdings einen anderen Fehler aus:
BTRFS: has skinny extents
BTRFS: couldn't mount RDWR because of unsupported option features (3).
BTRFS: open_ctree failed
Auch der v4.2 Kernel erkennt ein Problem. Der Kernel unterbindet jedoch nur den schreibenden Zugriff auf das btrfs Dateisytem. Wird das Volumen read only gemountet erhält man vollen Zugriff.
mount /dev/vg1/volume_1 /mnt -o ro
mount |grep vg1
/dev/mapper/vg1-volume_1 on /mnt type btrfs (ro,relatime,space_cache,subvolid=256,subvol=/@syno)
Das Volume kann nun ausgelesen und gesichert werden. Schreibender Zugriff kann durch ein Remount erreicht werden. Hiervon raten wir aber dringend ab, da nicht klar ist, welche Nebeneffekte die nicht bekannten und nicht unterstützen Flags hierauf haben. Bei einem Rückbau in ein Synology NAS ist ein auf diese Weise beschriebenes Volume korrupt.
mount /dev/vg1/volume_1 /mnt -o remount,rw
mount |grep vg1
/dev/mapper/vg1-volume_1 on /mnt type btrfs (rw,relatime,space_cache,subvolid=256,subvol=/@syno)
Fazit
Das mounten eines mit einem Synology NAS erstellten btrfs Volumen zur Datenwiederherstellung an einem PC ist einfach, sofern man den richtigen Kernel und die richtige Distribution verwendet. Den schwierigsten Teil der Synology Datenwiederherstellung hast Du also, nachdem Du diesen Artikel gelesen hast, hinter Dir.
Wer nicht lange rum probieren möchten nutzt einfach die von uns verwendete Ubuntu Version v15.10. Da es sich um eine sehr alte Version handelt, sollte diese Version natürlich ausschließlich für diese Aufgabe verwendet werden.
Noch ein Tip zum Schluß: Man muss keinen eigenen Linux PC für die Datenrettung aufsetzen. Die Datenträger können auch in eine virtuelle Maschine über sata oder USB eingebunden werden und die ganze Prozedur kann innerhalb der virtuellen Maschine erfolgen.
Schreiben sie uns
Kontakt
für alle Anfragen
Kontaktinformation
- Nas-Central
- Alzenachstr. 14, 54294 Trier
- Email: info@nas-central.de
- Telefon: +49 (0)651 9949 700
- www.nas-central.de