Apple Core Storage: Složení a možné problémy s obnovou dat
Společnost Apple dlouho neměla příliš co nabídnout, pokud jde o flexibilitu úložišť, zejména pro běžné uživatele počítačů Mac, kteří nemají technické znalosti nebo se prostě nechtějí zabývat složitými koncepty RAID, aby mohli využívat technologie AppleRAID. Uvedení Core Storage v roce 2011, ačkoli proběhlo téměř bez povšimnutí široké veřejnosti, vedlo k některým důležitým funkcím správy úložišť, jejichž implementace byla možná jen díky této technologii. Vedle značných výhod, které přinesla počítačům Macintosh, má však Core Storage i některé nevýhody, pokud jde o bezpečnost uložených dat a šance na jejich obnovu.
Základy úložiště Apple Core Storage
Úložiště Core Storage se poprvé objevilo v systému macOS 10.7 Lion a až do systému macOS 10.13 High Sierra bylo jednou z klíčových součástí systému správy dat v počítačích Mac. V podstatě jde o vlastní implementaci správce logických svazků společnosti Apple - podobně jako linuxový LVM funguje jako virtualizační vrstva mezi schématem oddílů použitým na fyzickém úložišti a souborovými systémy, kterými jsou jeho svazky formátovány.
Základní model předpokládá, že schéma rozdělení dává fyzickému disku určité logické parametry a stanovuje určité pevné hranice mezi "oblastmi" na něm (nazývanými oddíly), aby operační systém mohl spravovat informace o každé z oblastí nezávisle a prezentovat je uživateli jako samostatné logické disky. Poté lze do každého z oddílů zapsat souborový systém, jehož struktury určují způsob, jakým jsou na něm skutečně uspořádány datové jednotky.
Naproti tomu správce logických svazků umožňuje mnohem flexibilnější vztah mezi disky a svazky, než jaký nabízejí běžná schémata oddílů: oddíly může systém dynamicky přidělovat, zatímco jeden svazek může pokrývat více než jedno fyzické úložné zařízení.
Původně sloužilo úložiště Core Storage jako základ pro FileVault 2 - technologii, která v systému Lion přinesla do počítačů Mac nativní možnosti šifrování celého disku. V systému Mountain Lion rozšířila možnost zvýšit kapacitu jednoho svazku nad rámec jedné fyzické jednotky použití úložiště Core Storage pro konfiguraci Fusion Drive - kombinaci pevného a SSD disku považovanou za jeden logický prvek.
Jak jsou data organizována v úložišti Core Storage?
Struktura úložiště Core Storage je dosti podobná struktuře linuxového LVM: skládá se rovněž ze čtyř hlavních úrovní, které se však zcela neshodují - jeden nebo několik fyzických svazků je spojeno do skupiny logických svazků, v níž jsou vytvořeny logické svazky a která může exportovat jednu nebo několik rodin svazků:
- Fyzický svazek (PV) je stejně jako v systému Linux LVM nejzákladnějším stavebním prvkem, obvykle skutečným fyzickým úložným zařízením (například pevným diskem nebo SSD), ale může to být také obraz disku nebo sada disků, které tvoří systém RAID. Aby se však úložiště stalo PV, musí být rozděleno pomocí schématu rozdělení GPT (GUID Partition Table) a získat vlastní identifikátor zvaný GUID. Kromě toho si každé z nich uchovává určité informace o skupině logických svazků, do které patří;
- skupina logických svazků (Logical Volume Group, LVG) je ekvivalentem skupiny svazků v LVM, která zahrnuje jeden nebo více fyzických svazků tvořících jeden fond úložiště pro logické svazky. Zpravidla se nastavuje jeden Logický svazek s celkovou kapacitou všech Fyzických svazků;
- Logický svazek (LV) je virtuální úložné zařízení v rámci skupiny logických svazků, které obdrží souborový systém (HFS+) a připojí se. Data na logickém svazku jsou uspořádána jako na jakémkoli tradičním svazku, aby k nim bylo možné snadno přistupovat a číst je.
- Rodina logických svazků (Logical Volume Family, LVF) je nový koncept zavedený společností Apple, který uchovává různá metadata týkající se logických svazků tvořících skupinu logických svazků spolu se sadou vlastností s ohledem na jejich šifrování. Všechny uvedené vlastnosti jsou děděny každým z LV.
Protože je schopen provádět operace přidělování úložišť na pozadí, používá se úložiště Core Storage k usnadnění procesu šifrování disků prováděného nástrojem FileVault 2. Dříve FileVault ukládal šifrovaný souborový systém do běžných souborů, ale technologie založená na souborech nebyla zdaleka dokonalá, zejména pokud měl být šifrován celý svazek. Úložiště Core Storage umožňuje šifrovat data svazku na úrovni bloků: vytváří logické svazky pro šifrovaná uživatelská a systémová data a přesouvá bloky do šifrovaného oddílu a z něj. Tímto způsobem se při odemknutí šifrovaného svazku vytvoří nový Logický svazek, který obsahuje celý šifrovaný systém souborů a nepřidělený prostor jako jeden blokový kus. Typická konfigurace FileVault 2 vypadá následovně:
-
/dev/disk0 - fyzický úložný systém s několika svazky;
-
/dev/disk0s3 - fyzický svazek na disku0s3, jehož obsah je zašifrován a svazek je zařazen
do skupiny logických svazků základního úložiště; -
/dev/disk1 - logický svazek ve skupině logických svazků, který je výchozím bodem pro dešifrování
obsahu disku0s3.
Zadruhé, úložiště Core Storage se stalo hlavním mechanismem, který pomáhá automatizovat proces distribuce dat mezi oběma složkami jednotky Fusion Drive, která má obvykle následující složení:
-
dev/disk0 - fyzická jednotka SSD, která je součástí skupiny Core Storage LVG;
-
dev/disk1 - fyzická jednotka pevného disku, která je součástí skupiny Core Storage LVG ;
-
dev/disk2 - logický svazek, který se skládá z disku0 a disku1.
V této konfiguraci je disk0 nastaven jako primární zařízení ve skupině logických svazků, proto jej systém upřednostňuje pro ukládání souborů, takže často používané soubory jsou přesouvány v blocích po 128 KB na rychlejší úložiště SSD a naopak. Migrace dat se provádí pomocí čtyř hlavních volání úložiště Core Storage: RdChunkCS, WrChunkCS, WrBgMigCS a RdBgMigrCs. Výsledkem je, že uživatel získá optimalizovaný systém, který kombinuje výkon paměti flash a kapacitu magnetické paměti.
Výhody a nevýhody Core Storage
Apple Core Storage je spolehlivý a vysoce výkonný formát svazků. Poskytuje základ pro jednotku Fusion Drive a její inteligentní migraci dat, nemluvě o transformacích na místě, které jsou nutné pro implementaci šifrování disků FileVault 2. Přesto má tato technologie několik významných nedostatků, kterých si musíme být vědomi:
- na rozdíl od Linux LVM nepodporuje Core Storage "thin provisioning";
- v úložišti Core Storage není na rozdíl od LVM k dispozici živé rozšiřování kapacity, takže není možné rozšiřovat fond úložiště při jeho zvětšování. Příkaz diskutil sice poskytuje možnost změny velikosti skupin a svazků úložiště Core Storage, ale není skutečně dobře zdokumentován a nese s sebou riziko úplné ztráty dat. Při tomto selhání nemá obnova dat z Core Storage úložiště šanci na úspěch ani profesionálními prostředky;
- Nástroj Disk Utility postrádá možnosti manipulace s rozložením úložiště Core Storage - bez použití terminálu nelze vytvářet ani odebírat logické svazky, zobrazovat skupiny nebo rodiny;
- Core Storage nepodporuje nový souborový systém Apple APFS: po instalaci systému macOS High Sierra a novějšího (macOS Mojave pro Fusion Drive) se skupina logických svazků převede na speciální kontejner APFS;
- technologie nenabízí žádné možnosti odolnosti proti chybám. Navíc každý disk patřící do Core Storage je součástí jednoho celku a v případě odpojení nebo selhání některého z členských disků k němu nelze přistupovat samostatně. Všechna data, která vadný systém uchovává, se nevyhnutelně ztratí.
Možnost obnovy dat z Apple Core Storage
Chcete-li se ujistit, že je úložiště Core Storage na problémových discích skutečně povoleno, můžete zkontrolovat hexadecimální zobrazení největšího oddílu každého disku: na pozici 0x58 musí být přítomno "číslo signatury" 0x4353.
Všechna uživatelská data, která úložiště Core Storage uchovává, jsou rozprostřena mezi jednotlivé součásti disků. Kromě toho jsou pro správnou interpretaci vyžadována speciální šifrovaná metadata na konci každého úložiště. Pro obnovu dat je proto naprosto nezbytná přítomnost všech komponent - úplné selhání alespoň jedné z nich vede k nevratné ztrátě dat. Rovněž závažné poškození zašifrovaných metadat nebo GUID úložiště znemožňuje obnovení neporušených souborů. Mezi další možné problémy patří např:
Ztráta tabulky oddílů na jednom z disků.
Úložiště lze v tomto případě otevřít, pokud jsou všechny oddíly definovány ručně: je třeba správně zadat počáteční sektor a velikost oddílu v sektorech.
Problémy související se šifrováním úložiště
Pokud je v počítači Mac povoleno šifrování celého disku, je vygenerován speciální šifrovací klíč úložiště, který se zapisuje do oblasti metadat nebo do speciálního souboru v oddílu konfigurace systému s názvem =EncryptedRoot.pllist.wipekey. Pokud dojde k poškození oblasti metadat nebo znemožnění přístupu k souboru =EncryptedRoot.pllist.wipekey, data bohužel nelze dešifrovat a jejich obnova je mimo možnosti.
V ostatních případech jsme schopni metadata úložiště Core rozpoznat, úložiště lze sestavit a následně provést obnovu dat. Pokud potřebujete obnovit data ze svazku úložiště Core Storage, kontaktujte nás pro více informací.