Odzyskiwanie danych Fusion Drive iMac
Do naszego laboratorium trafił Apple iMac 27″, który całkowicie przestał uruchamiać system macOS. Komputer korzystał z fabrycznego rozwiązania Apple Fusion Drive, czyli jednej logicznej przestrzeni zbudowanej z szybkiego SSD oraz pojemnego dysku HDD.
Już po otwarciu obudowy było widać, że nie mamy do czynienia ze zwykłą awarią jednego nośnika.
Wnętrze iMaca było ekstremalnie zabrudzone. Kurz niemal całkowicie zatkał elementy chłodzenia, radiator, wentylator oraz kanały przepływu powietrza. Komputer przez długi czas pracował więc w bardzo wysokiej temperaturze.
Stan był na tyle poważny, że część izolacji przewodów straciła elastyczność, a podczas poruszania zaczynała pękać i kruszyć się.
Wysoka temperatura nie uszkodziła tylko jednego elementu. Problemy występowały równocześnie na SSD, HDD oraz w logicznej strukturze Fusion Drive.
Mimo takiego stanu udało się odbudować cały wolumen i odzyskać ponad 1,17 TB danych użytkownika.
Konfiguracja Apple Fusion Drive
W komputerze pracowały dwa nośniki:
SSD: Samsung MZ-JPV1280/0A6 / Apple SSD SM0128G
Pojemność: 128 GB
Interfejs: Apple PCIe, złącze proprietary 12+16 pin
Typ pamięci: MLC
oraz:
HDD: Seagate Barracuda ST2000DM001
Pojemność: 2 TB
Format: 3,5 cala
Interfejs: SATA III
Prędkość obrotowa: 7200 RPM
Do diagnostyki i odzysku wykorzystaliśmy:
- ACE Lab PC-3000 Portable III,
- ACE Lab PC-3000 Express RAID,
- Data Extractor,
- zewnętrzne oprogramowanie do analizy oraz rekonstrukcji struktury Fusion Drive i APFS.
-
Dlaczego awaria Fusion Drive jest szczególnie trudna?
Fusion Drive nie działa jak dwa niezależne nośniki, z których każdy przechowuje osobne katalogi.
System macOS traktuje SSD i HDD jako jedną logiczną przestrzeń.
Podczas normalnej pracy część bloków jest przenoszona pomiędzy szybszym SSD i pojemniejszym HDD. Na obu urządzeniach znajdują się więc fragmenty danych użytkownika, informacje systemowe oraz metadane potrzebne do prawidłowej interpretacji całego wolumenu.
Dlatego awaria jednego elementu może spowodować utratę dostępu do całej struktury.
Tutaj sytuacja była jeszcze trudniejsza, ponieważ problemy występowały jednocześnie na obu nośnikach.
Nie można było więc naprawić jednego urządzenia i po prostu uruchomić systemu.
Najpierw trzeba było zabezpieczyć fizyczną zawartość SSD i HDD, a dopiero później odbudować z nich wirtualny Fusion Drive.
Skrajne przegrzanie wnętrza iMaca
Po zdjęciu wyświetlacza od razu zobaczyliśmy, w jakich warunkach pracował komputer.
Radiator procesora był praktycznie zapchany kurzem. Podobnie wyglądał wentylator oraz kanały powietrzne.
Na płycie głównej znajdowała się gruba warstwa zabrudzeń, która pokrywała zarówno drobne elementy elektroniczne, jak i układy zasilania.
W takiej sytuacji system chłodzenia traci wydajność. Wentylator może pracować, ale powietrze nie przepływa prawidłowo przez radiator.
W efekcie temperatura wewnątrz obudowy przez długi czas pozostaje znacznie wyższa niż powinna.
To szczególnie niebezpieczne dla pamięci NAND, kontrolerów SSD, układów zasilania oraz klasycznego dysku twardego pracującego przez wiele godzin w podwyższonej temperaturze.
W tym przypadku oba elementy Fusion Drive nosiły już skutki takiej pracy.
Uszkodzony SSD Samsung 128 GB
Pierwszym problemem był SSD Samsung MZ-JPV1280/0A6.
Nośnik wykazywał problemy z firmware oraz bardzo niestabilny dostęp do pamięci NAND. Podczas kopiowania pojawiało się wiele nieczytelnych bloków.
Co gorsza, część problemów znajdowała się w szczególnie istotnych obszarach logicznych.
Uszkodzenia dotyczyły między innymi bloków potrzebnych do prawidłowej interpretacji partycji i struktur systemu plików.
Dlatego nie wystarczało uzyskanie samej detekcji urządzenia.
Musieliśmy wykonać możliwie pełną kopię sektorową SSD.
Dwa dni kopiowania 128 GB SSD
Po przygotowaniu nośnika w PC-3000 Portable III rozpoczęliśmy obrazowanie.
Teoretycznie SSD o pojemności 128 GB powinien skopiować się szybko. W tym przypadku operacja trwała jednak około 48 godzin.
Przyczyną była niestabilna pamięć NAND.
Kiedy kontroler trafiał na problematyczne obszary, trzeba było ograniczać obciążenie, ponawiać dostęp i zmieniać sposób pracy, aby nie pogorszyć stanu urządzenia.
Najważniejszym celem nie była szybkość.
Liczyło się zabezpieczenie maksymalnej liczby poprawnych bloków, zanim nośnik całkowicie utraci możliwość pracy.
Problemy z Seagate ST2000DM001
Drugi element Fusion Drive również nie był sprawny.
Seagate Barracuda ST2000DM001 wykazywał problemy z obszarem systemowym firmware oraz posiadał liczne uszkodzone sektory w przestrzeni użytkownika.
Tutaj również nie mogliśmy pozwolić systemowi operacyjnemu na zwykłe próby dostępu.
Za pomocą PC-3000 Express przygotowaliśmy HDD do bezpiecznej pracy technologicznej.
Ograniczyliśmy działanie procesów, które podczas niestabilnej pracy mogły dodatkowo obciążać mechanikę i firmware.
Następnie zabezpieczyliśmy istotne struktury Service Area i rozpoczęliśmy wykonanie kopii sektorowej.
Najpierw obrazy obu nośników, dopiero później rekonstrukcja
To był kluczowy moment całego zlecenia.
Nie próbowaliśmy odbudowywać Fusion Drive bezpośrednio na oryginalnych urządzeniach.
Najpierw przygotowaliśmy możliwie kompletne obrazy:
- SSD 128 GB,
- HDD 2 TB.
Dopiero kopie stały się podstawą dalszej pracy.
Dzięki temu mogliśmy wielokrotnie analizować strukturę logiczną bez dodatkowego obciążania oryginalnych nośników.
Fusion Drive nie chciał się poprawnie odbudować
Po zabezpieczeniu obu urządzeń rozpoczęliśmy rekonstrukcję logicznej struktury Fusion Drive.
Tutaj pojawiła się kolejna przeszkoda.
Data Extractor potrafił odnaleźć strukturę APFS, jednak natywny sposób parsowania zatrzymywał się na uszkodzonym fragmencie metadanych.
Szczególnie problematyczny był obszar około:
LBA 4 048 352
System plików częściowo się odbudowywał.
Widoczny był nawet katalog Users, czyli najważniejsza lokalizacja z punktu widzenia klienta.
Problem polegał na tym, że katalog pozostawał pusty.
To oznaczało, że sama rekonstrukcja kontenera Fusion Drive działała, ale uszkodzenie jednego z istotnych fragmentów APFS blokowało dostęp do właściwych rekordów katalogowych użytkownika.
Zmiana sposobu analizy APFS
Na tym etapie dalsze powtarzanie tej samej procedury nie miało sensu.
Mieliśmy już zabezpieczone obrazy sektorowe, dlatego można było zastosować inne narzędzie i inny sposób interpretacji metadanych.
Oba obrazy połączyliśmy ponownie jako wirtualną strukturę Fusion Drive w zewnętrznym oprogramowaniu analitycznym.
W tym przypadku wykorzystaliśmy UFS Explorer.
Inny algorytm interpretacji APFS potrafił wykorzystać alternatywne informacje zapisane w kontenerze oraz dostępne punkty kontrolne systemu plików.
Dzięki temu program nie zatrzymał całej rekonstrukcji na pojedynczym uszkodzonym obszarze.
I właśnie wtedy pojawił się przełom.
Katalog Users odbudował się prawidłowo
Po ponownej analizie logiczna struktura została zrekonstruowana znacznie dokładniej.
Katalog Users, który wcześniej pozostawał pusty, odzyskał pełną zawartość.
System pokazał około:
1,17 TB danych użytkownika
oraz blisko:
1 milion plików.
Odbudowa obejmowała prawidłową strukturę katalogów, nazwy plików oraz ich rozmieszczenie.
Co najważniejsze, mimo problemów fizycznych obu elementów Fusion Drive praktycznie cały materiał użytkownika pozostał dostępny.
Ponad 1 TB danych odzyskanych z uszkodzonego Fusion Drive
Końcowy rezultat był bardzo dobry.
Mimo jednoczesnej awarii SSD i HDD oraz uszkodzeń metadanych APFS udało się odzyskać 100% danych użytkownika objętych zleceniem.
Łącznie zabezpieczyliśmy ponad 1,17 TB materiału.
To zlecenie wymagało pracy na kilku poziomach jednocześnie:
- diagnostyki skrajnie przegrzanego iMaca,
- stabilizacji uszkodzonego SSD,
- wielogodzinnego kopiowania zdegradowanej pamięci NAND,
- pracy technologicznej z HDD Seagate,
- zabezpieczenia obu nośników sektor po sektorze,
- rekonstrukcji struktury Apple Fusion Drive,
- analizy APFS,
- oraz zastosowania alternatywnej metody parsowania metadanych.
Dopiero połączenie tych wszystkich etapów pozwoliło dotrzeć do właściwych plików.
Dlaczego nie warto próbować uruchamiać takiego iMaca wielokrotnie?
Przy awarii Fusion Drive kolejne próby uruchamiania systemu mogą pogorszyć sytuację.
Jeżeli SSD ma problemy z pamięcią NAND, kontroler może wielokrotnie próbować obsługiwać niestabilne bloki. Z kolei HDD z uszkodzonymi sektorami wykonuje kolejne próby korekcji i relokacji.
Jednocześnie macOS próbuje złożyć logiczną strukturę Fusion Drive i uzyskać dostęp do metadanych APFS.
W przypadku sprzętowego uszkodzenia obu urządzeń nie daje to realnej korzyści.
Znacznie bezpieczniej jest najpierw zabezpieczyć fizyczną zawartość każdego elementu osobno, a dopiero potem prowadzić rekonstrukcję na kopiach.
Przegrzewanie może uszkodzić więcej niż jeden nośnik
Ten przypadek pokazuje również, jak ważny jest sprawny układ chłodzenia komputera.
Tutaj nie mieliśmy pojedynczej przypadkowej awarii.
Komputer przez długi czas pracował z praktycznie niedrożnym systemem chłodzenia. Kurz znajdował się na radiatorach, wentylatorze, płycie głównej i elementach zasilania.
Długotrwała wysoka temperatura przyspiesza starzenie elektroniki oraz pamięci flash, natomiast klasyczny HDD również pracuje wtedy poza optymalnymi warunkami.
W efekcie uszkodzeniu uległy oba elementy odpowiedzialne za przechowywanie jednej logicznej przestrzeni Fusion Drive.
Mimo tak trudnego punktu wyjścia udało się odbudować strukturę APFS i odzyskać komplet wymaganych przez klienta danych.
Wynik zlecenia
Komputer: Apple iMac 27″
Konfiguracja: Apple Fusion Drive
SSD: Samsung MZ-JPV1280/0A6 / Apple SSD SM0128G, 128 GB
HDD: Seagate Barracuda ST2000DM001, 2 TB
Uszkodzenia: firmware, NAND, Service Area HDD, uszkodzone sektory i metadane APFS
Odzyskana zawartość: około 1,17 TB
Liczba plików: blisko 1 milion
Wynik: 100% danych użytkownika objętych zleceniem





