Jak mogę użyć komputera PC do odzyskiwania danych, gdy mój serwer Synology NAS ulegnie awarii?
Jak mogę użyć komputera PC do odzyskiwania danych, gdy mój serwer Synology NAS ulegnie awarii?
Niektóre artykuły zostały przetłumaczone maszynowo z języka angielskiego i mogą zawierać nieścisłości lub błędy gramatyczne.
Środowisko
Dotyczy:
- DSM w wersji 6.2.x i nowsze
- Woluminy używające systemów plików Btrfs lub ext4
- Ubuntu w wersji 18.04 (Pobierz ubuntu-18.04-desktop-amd64.isotutaj)
Nie dotyczy:
- Woluminy używające pamięci podręcznej SSD do odczytu i zapisu
Rozwiązanie
Odzyskaj dane za pomocą komputera PC
- Upewnij się, że Twój komputer PC ma wystarczającą liczbę gniazd na dyski do instalacji dysków.
- Usuń dyski z urządzenia Synology NAS i zainstaluj je w komputerze PC. W przypadku konfiguracji RAID lub SHR musisz zainstalować wszystkie dyski (z wyjątkiem dysków hot spare) w komputerze PC jednocześnie.
- Przygotuj środowisko Ubuntu, postępując zgodnie z instrukcjami w tym poradniku.
- Przejdź do Pliki na lewym pasku i wybierz Home.
- Kliknij prawym przyciskiem myszy i wybierz Nowy folder, a następnie utwórz jeden lub więcej folderów jako punkty montowania do uzyskiwania dostępu do danych.1
- Kliknij prawym przyciskiem myszy na nowym folderze(ach), kliknij Właściwości, folder nadrzędny z nazwą folderu to
${mount_point}
.- Przykład: Jeśli folder nadrzędny to
/home/ubuntu/
, a nazwa folderu toTest
, punkt montowania będzie/home/ubuntu/Test/
- Przykład: Jeśli folder nadrzędny to
- Przejdź do Pokaż aplikacje w lewym dolnym rogu >Wpisz, aby wyszukać....
- Wpisz Terminal w pasku wyszukiwania i wybierz Terminal.
- Wprowadź następujące polecenie, aby uzyskać uprawnienia root.
sudo -i
- Wprowadź następujące polecenia, aby zainstalować
mdadm
ilvm2
, oba są narzędziami do zarządzania RAID.lvm2
musi być zainstalowany, inaczejvgchange
nie będzie działać.apt-get update
apt-get install -y mdadm lvm2 - Wprowadź następujące polecenie, aby złożyć wszystkie dyski usunięte z urządzenia Synology NAS. Wyniki mogą się różnić w zależności od konfiguracji puli pamięci masowej na urządzeniu Synology NAS.
mdadm -AsfR && vgchange -ay
- Wprowadź następujące polecenie, aby uzyskać informacje o
${device_path}
.Zgodnie z wynikamicat /proc/mdstat
lvspvs/vgs/lvs
, ścieżki urządzeń są następujące:Poniżej znajdują się przykłady
md status
odpowiadające jego typowi RAID i woluminu:Ścieżki urządzeńKlasyczny RAID z pojedynczym woluminemcat /proc/mdstat
root@ubuntu:~# cat /proc/mdstat
Personalities : [raid1]
md4: active raid1 sdc3[0]
73328704 blocks super 1.2 [1/1] [U]
unused devices:<none>
lvsBrak wyjścia${device_path}
/dev/md4
Ścieżki urządzeńSHR z pojedynczym woluminemcat /proc/mdstat
root@ubuntu:~# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda5[0]
73319616 blocks super 1.2 [1/1] [U]
unused devices:<none>
lvsroot@ubuntu:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv vg1000 -wi-a----- 69.92g
${device_path}
/dev/vg1000/lv
Ścieżki urządzeńKlasyczny RAID/SHR z wieloma woluminamicat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sdc3[0] sdd3[1]
73328704 blocks super 1.2 [2/2] [UU]
unused devices:<none>
lvsroot@ubuntu:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy% Sync Convert
syno_vg_reserved_area vg1 -wi-a----- 12.00m
volume_1 vg1 -wi-a----- 30.00g
volume_3 vg1 -wi-a----- 30.00g
${device_path}
/dev/vg1/volume_1
/dev/vg1/volume_3 - Wprowadź następujące polecenia, aby zamontować wszystkie dyski jako tylko do odczytu, aby uzyskać dostęp do danych. Wprowadź ścieżkę urządzenia (zgodnie z RAID i typem woluminu w Kroku 12) w
${device_path}
i punkt montowania (utworzony w Kroku 6) w${mount_point}
. Twoje dane będą umieszczone pod punktem montowania.mount ${device_path} ${mount_point} -o ro
- Sprawdź dane w Pliki > Home > foldery utworzone w Kroku 5.
- Dla zaszyfrowanych woluminów i folderów współdzielonych:
Jeśli nadal nie możesz odzyskać danych za pomocą powyższych kroków, powstrzymaj się od próbowania innych metod naprawy, ponieważ mogą one spowodować większe uszkodzenia danych. Jako ostatnią opcję, skontaktuj się z lokalną firmą zajmującą się ratowaniem danych. Proszę zrozumieć, że odzyskanie danych nadal nie jest gwarantowane.
Zamontuj zaszyfrowany wolumin na komputerze PC
Upewnij się, że masz klucz odzyskiwania swojego zaszyfrowanego woluminu. Poniższe kroki działają tylko wtedy, gdy klucz odzyskiwania jest poprawny.
- W Terminal wprowadź następujące polecenie, aby zainstalować
cryptsetup
.apt-get install cryptsetup
- Wprowadź następujące polecenie, aby zdekodować swój klucz odzyskiwania. Zamień
${your_recovery_key_path}
na lokalizację klucza odzyskiwania i${base64_decode_output_path}
na żądaną nazwę pliku wyjściowego i lokalizację.base64 --decode ${your_recovery_key_path} > ${base64_decode_output_path}
- Przykład: Jeśli klucz odzyskiwania znajduje się w
/mnt/volume1.rkey
i chcesz, aby plik wyjściowy był nazwany jakodecode_output
i znajdował się w/mnt
, wprowadzone polecenie będzie wyglądać następująco:base64 --decode /mnt/volume1.rkey > /mnt/decode_output
- Przykład: Jeśli klucz odzyskiwania znajduje się w
- Wprowadź następujące polecenie, aby sprawdzić, czy klucz odzyskiwania jest poprawny. Zamień
${base64_decode_output_path}
na nazwę pliku wyjściowego i lokalizację.cryptsetup open --test-passphrase /dev/vgX/volume_Y -S 1 -d ${base64_decode_output_path} -v
- Przykład: Jeśli nazwa pliku wyjściowego to
decode_output
i znajduje się w/mnt
, wprowadzone polecenie będzie wyglądać następująco:cryptsetup open --test-passphrase /dev/vgX/volume_Y -S 1 -d /mnt/decode_output -v
- Przykład: Jeśli nazwa pliku wyjściowego to
- Sprawdź wynik, aby zobaczyć, czy klucz odzyskiwania jest poprawny:
- Poprawny klucz:
Key slot 1 unlocked.
Command successful. - Niepoprawny klucz:
Znajdź poprawny klucz i wróć do poprzedniego kroku, aby ponownie zdekodować.
No key available with this passphrase.
Command failed with code -2 (no permission or bad passphrase).
- Poprawny klucz:
- Wprowadź następujące polecenie, aby odszyfrować zaszyfrowany wolumin za pomocą zdekodowanego klucza odzyskiwania.
cryptsetup open --allow-discards /dev/vgX/volume_Y cryptvol_Y -S 1 -d ${base64_decode_output_path}
- Wprowadź następujące polecenie, aby zamontować wszystkie dyski jako tylko do odczytu, aby uzyskać dostęp do swoich danych. Zamień
${device_path}
na ścieżkę urządzenia/dev/mapper/cryptvol_Y
i${mount_point}
na punkt montowania utworzony w Kroku 6). Twoje dane będą umieszczone pod punktem montowania.mount ${device_path} ${mount_point} -o ro
- Odwołaj się do Kroku 14, aby odzyskać swoje dane.
Zamontuj zaszyfrowany folder współdzielony na komputerze
Upewnij się, że masz klucz szyfrowania swojego zaszyfrowanego folderu współdzielonego. Następujące kroki działają tylko wtedy, gdy klucz szyfrowania jest poprawny.
- W Terminal wprowadź następujące polecenie, aby uzyskać uprawnienia root.
sudo -i
- Wprowadź następujące polecenia, aby włączyć
universe repo
i zainstalowaćecryptfs-utils
.apt-get-repository universe
apt-get update
apt-get install ecryptfs-utils - Wprowadź następujące polecenie, aby uzyskać wartość FNEK (Filename Encryption Key) swojego klucza szyfrowania.
ecryptfs-add-passphrase --fnek
- Po wyświetleniu monitu wprowadź swój klucz szyfrowania w polu
Passphrase
. - Zobaczysz wynik podobny do poniższego:
Wartość w drugich nawiasach kwadratowych to wartość FNEK. Zanotuj tę wartość, ponieważ będziesz jej potrzebować w kolejnych krokach.
Inserted auth tok with sig [79d78a9afb5ebc95] into the user session keyring
Inserted auth tok with sig [e4e4e8a3ca7d5d54] into the user session keyring
- Po wyświetleniu monitu wprowadź swój klucz szyfrowania w polu
- Użyj polecenia
cd
, aby przejść do punktu montowania utworzonego w Kroku 6 poprzedniej sekcji.cd ${mount_point}
- Przykład: Jeśli punkt montowania
${mount_point}
to/home/ubuntu/Test/
, wprowadzone polecenie będzie wyglądać następująco:cd /home/ubuntu/Test/
.
- Przykład: Jeśli punkt montowania
- Utwórz tymczasowy folder jako punkt montowania dla swojego zaszyfrowanego folderu współdzielonego. Użyj polecenia
mkdir
, aby utworzyć nowy folder.W powyższym poleceniu zamieńmkdir folder_name
folder_name
na nazwę, którą chcesz nadać folderowi. - Wprowadź następujące polecenie, aby zamontować swój zaszyfrowany folder współdzielony.
Upewnij się, że zamieniłeś
mount -t ecryptfs folder_name
folder_name
na nazwę tymczasowego folderu utworzonego w poprzednim kroku. Aby zakończyć montowanie, wymagane są dodatkowe dane wejściowe. Postępuj zgodnie z poniższymi instrukcjami:Passphrase
: Wprowadź swój klucz szyfrowania.Select cipher
: Wprowadź1
, aby wybrać aes jako szyfr.Select key bytes
: Wprowadź2
, aby wybrać 32 jako bajty klucza.Enable plaintext passthrough
: Wprowadźn
, aby wyłączyć tę opcję.Enable filename encryption
: Wprowadźy
, aby włączyć tę opcję.Filename Encryption Key (FNEK) Signature
: Wprowadź swoją wartość FNEK z Kroku 3.- Po wprowadzeniu wartości FNEK zobaczysz wynik podobny do poniższego:
Komunikat ostrzegawczy to tylko przypomnienie. Jeśli sprawdziłeś, że twój klucz szyfrowania jest poprawny, możesz bezpiecznie zignorować to ostrzeżenie i kontynuować.
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=e4e4e8a3ca7d5d54
ecryptfs_key_bytes=32
ecryptfs_cipher=aes
ecryptfs_sig=79d78a9afb5ebc95
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt], it looks like you have never mounted with this key before. This could mean that you have typed your passphrase wrong. Would you like to proceed with the mount
: Wprowadźy
, aby zgodzić się na kontynuowanie montowania.Would you like to append sig … in order to avoid this warning in the future
: Wprowadźn
, aby kontynuować.- Jeśli montowanie zakończy się sukcesem, zobaczysz następujący wynik:
Mounted eCryptfs
Uwagi:
- Punkt montowania jest równy jednemu woluminowi. Jeśli masz wiele woluminów, które muszą zostać odzyskane, utwórz taką samą liczbę folderów, jak liczba woluminów.
- Liczba md (tablica) będzie wymieniona w wyniku
cat /proc/mdstat
. syno_vg_reserved_area
można zignorować, liczba volume_x jest równa liczbie woluminów.