Miałem misję odzyskania plików z jednego z moich 2 doskonale działających, nieuszkodzonych, nieszyfrowanych dysków NAS, które były w RAID 1. NAS był Patriot Javelin S4, który (jak dowiedziałem się z moich badań ) używa fałszywego kontrolera RAID firmy Promise Fasttrack.
Informacje na ten temat są bardzo ograniczone, więc dla googlersów w tej samej sytuacji oto kilka faktów na temat tego NAS:
- Kontroler RAID: Promise FastTrack (FakeRaid)
- System głośności: LVM2
- System plików: XFS o rozmiarze bloku 64kb (65536 bajtów)
- Arch: procesor PowerPC 800 MHz AMCC, 256 MB pamięci RAM (dzięki badaniom Matthew)
Miałem przy tym tylko komputer z systemem Windows 10 i MacOS i nie znalazłem żadnego oprogramowania zdolnego do zamontowania XFS w woluminie LVM2 (z jednym wyjątkiem, więcej o tym poniżej). Musiałem wyjąć mojego starego netbooka Acer Aspire One i zainstalować na nim Linuksa Puppy (w szczególności smak LXPUP).
Na Linux Linuksie udało mi się zamontować ten system plików za pomocą narzędzia o nazwie dmraid
. To narzędzie ma sposób montowania wolumenu pdc, który jest jego identyfikatorem dla Promise FastTrack. Gdy udało mi się przeskoczyć przez kilka obręczy, które go zamontowały, uzyskałem dostęp do rzeczywistego systemu plików XFS i ku mojemu rozczarowaniu okazało się, że ma rozmiar bloku 64 kb.
W tym miejscu zacząłem googlować takie rzeczy, jak „odczytać rozmiar bloku 64 kb xfs” i nigdzie się nie dostać. Tylko kilka odpowiedzi, które mówią: „linux nie może odczytać bloków większych niż 4kb, chyba że załatałeś jądro”. Nie mam pojęcia, jak załatać jądro i jestem zaskoczony, że nie ma na to żadnej emulacji.
Wspomniałem o 1 wyjątku wśród aplikacji, które nie mogą odczytać tej partycji na Win / Mac. Tym wyjątkiem był ufsexplorer. Jest to aplikacja za 100 USD, która bez problemu pokazała mi pliki. Skopiowałem kilka plików, udowadniając, że to działa, ale wersja próbna pozwala tylko na kopiowanie małych plików.
Nie chcę wierzyć, że nie ma darmowego narzędzia o otwartym kodzie źródłowym o dowolnym poziomie złożoności, które nie pomogłoby mi w odczytaniu xfs 64kb.
Moje pytanie brzmi: czy ktoś wie o takim narzędziu? Wszelkie szczegółowe instrukcje dotyczące uzyskiwania danych za pomocą jednego lub więcej narzędzi, łatania jądra lub czegoś innego (za darmo) są bardzo mile widziane.
Jeszcze jedna uwaga: zdecydowanie wolałbym nie tworzyć lokalnych obrazów tych dysków (chyba że to jedyny sposób). W końcu to 2 TB danych, może nie mam tak dużo miejsca.
PS Jeśli istnieje znany linux, który mogę zainstalować na moim Acer, który może odczytać 64kb xfs, to również jest realne rozwiązanie.
Aktualizacja 1 : Właśnie dowiedziałem się o https://www.cgsecurity.org/wiki/TestDisk . Może warto spróbować. Zgłosi się, gdy będę miał czas, aby spróbować.
Aktualizacja 2 : TestDisk wydaje się rozpoznawać obecność partycji XFS, ale nie jestem pewien, jak tam przejść. Nie widzę sposobu na wyodrębnienie pliku, więc po prostu porzuciłem go i wypróbowałem podejście qemu w odpowiedzi Matthew.
Odpowiedzi:
Zrobiłem trochę badań nad twoim problemem. Niełatwe, ale wygląda na wykonalne.
Obszar łamania kodu jest następujący (cóż, w nowszych jądrach):
fs/xfs/libxfs/xfs_sb.c
Zasadniczo wymaga, aby rozmiar bloku XFS był co najmniej równy rozmiarowi strony systemowej.
To oznacza dwie rzeczy.
Poszedłem i sprawdziłem naprawdę stare jądro (EL4) i powyższe ograniczenie nadal tam było. Oznacza to, że zasadniczo nie jest możliwe robienie tego, co chcesz robić na swojej architekturze (x86).
Biorąc pod uwagę nazwę NAS, zrobiłem trochę google i odkryłem to: http://www.techwarelabs.com/patriot-javelin-s4-network-attached-storage/2/
Co oznacza, że używa procesora PPC.
Rzeczywiście, w jądrach PowerPC można zbudować tak, aby korzystało z 64 tysięcy stron lub 4 tysięcy stron. To by wyjaśniało, dlaczego blok ma 64k, a także dlaczego nie możesz uruchomić systemu plików na swoim komputerze, gdzie wcześniej działał na swoim własnym NAS.
Jeśli chcesz spróbować otworzyć system plików - myślę, że najlepszą opcją jest uruchomienie instancji maszyny wirtualnej w hiperwizorze za pomocą PPC64LE (myślę, że taka jest rzeczywista architektura tego procesora), Fedora zbuduje PPC64LE z 64k stronami.
https://alt.fedoraproject.org/alt/
Możesz to zrobić za pomocą qemu. Ten facet wydaje jakieś (nie przetestowane) instrukcje, jak to zrobić.
https://rwmj.wordpress.com/tag/ppc64le/
Stamtąd bezpośrednio ujawnij dyski w maszynie wirtualnej i wykonaj normalne polecenie dmraid / lvm / mount, aby uzyskać dostęp do dysku.
źródło
virt-builder fedora-25 --arch ppc64le -o fedora-25-ppc64le.img
. Korzystam z linuksowego szczeniaka i otrzymuję komunikat „supermin: nie mogłem wykryć menedżera pakietów używanego przez ten system lub dystrybucję”.