Apple Core Storage: Komposition und Herausforderungen bei der Datenrettung

data organization peculiarities on apple core storage and chances to recover its data

Apple hat in Bezug auf Speicherflexibilität seit langem nur sehr wenig zu bieten, insbesondere für durchschnittliche Mac-Benutzer, die über erforderliche technische Kenntnisse nicht verfügen, um in komplexe RAID-Konzepte sich zu vertiefen und aus der AppleRAID-Technologie Nutzen ziehen zu können. Die Einführung von Core Storage im Jahr 2011, obwohl sie von der breiten Öffentlichkeit fast unbemerkt blieb, ebnete den Weg für wichtige Speichermanagementfunktionen, deren Implementierung nur dank dieser Technologie möglich wurde. Neben den erheblichen Vorteilen für Macintosh-Computer hat Core Storage jedoch einige Nachteile hinsichtlich der Sicherheit von gespeicherten Daten und der Möglichkeiten für die Wiederherstellung.


Grundlagen von Apple Core Storage

Core Storage wurde erstmals in macOS 10.7 Lion veröffentlicht und war bis zu macOS 10.13 High Sierra eine der Schlüsselkomponenten des Datenverwaltungssystems von Mac. Im Wesentlichen handelt es sich dabei um die proprietäre Implementierung eines logischen Volume-Managers von Apple – genau wie Linux LVM fungiert Core Storage als Virtualisierungsebene zwischen dem auf den physischen Speicher angewendeten Partitionsschema und den Dateisystemen, mit denen seine Volumen formatiert sind.

Das Basismodell impliziert, dass ein Partitionsschema der physischen Festplatte einige logische Parameter gibt und bestimmte feste Grenzen zwischen den "Regionen" (so genannten Partitionen) festlegt, so dass das Betriebssystem Informationen über jede der Regionen unabhängig verwalten und dem Benutzer als separate logische Datenträger präsentieren kann. Danach kann ein Dateisystem in jede der Partitionen geschrieben werden, deren Strukturen die Art und Weise definieren, in der Datenblöcke tatsächlich darauf organisiert sind.

Im Gegensatz dazu ermöglicht ein logischer Volume-Manager eine weitaus flexiblere Beziehung zwischen Speichern und Volumen als bei herkömmlichen Partitionsschemata: Partitionen können vom System dynamisch zugewiesen werden, während ein einzelnes Volumen sich über mehrere physische Speichergeräte erstrecken kann.

Anfänglich diente Core Storage als Basis für FileVault 2 – die Technologie, die Macs native Festplattenverschlüsselungsfunktionen in Lion brachte. In Mountain Lion dank der Möglichkeit, die Kapazität eines einzelnen Volumens über ein physischen Speicher hinaus zu erhöhen, erweiterte sich die Verwendung von Core Storage für die Fusion Drive-Konfiguration – eine Kombination aus einem Festplattenlaufwerk und einem Festkörperlaufwerk, die als ein logisches Element behandelt wird.

Hinweis: Weitere Informationen zur Fusion Drive-Technologie finden Sie im entsprechenden Artikel.

Wie werden Daten von Core Storage organisiert?

Die Struktur von Core Storage ist der von Linux LVM sehr ähnlich: Sie besteht ebenfalls aus vier Hauptniveaus, die jedoch nicht vollständig übereinstimmen – ein oder mehrere Physical Volumes werden zu einer Logical Volume Group zusammengefasst, in der Logical Volumes erstellt werden und die eine oder mehrere Volume Families exportieren kann:

  • wie in Linux LVM ist ein Physical Volume (PV) der grundlegendste Baustein, normalerweise ein reales physisches Speichergerät (z. B. eine Festplatte oder eine SSD), es kann sich jedoch auch um ein Festplatten-Image oder einen Satz von Festplatten, die ein RAID-System bilden, handeln. Um ein PV zu werden, muss ein Speicher jedoch mit dem GPT-Partitionierungsschema (GUID Partition Table) partitioniert sein und seine eigene Kennung namens GUID erhalten. Darüber hinaus enthält jeder von ihnen Informationen über die Logical Volume Group, zu der er gehört.

  • Eine Logical Volume Group (LVG) entspricht einer Volume Group in LVM, die ein oder mehrere Physical Volumes umfasst, die einen einzelnen Speicherpool für Logical Volumes bilden. In der Regel wird ein Logical Volume mit der Gesamtkapazität aller Physical Volumes eingerichtet.

  • Ein Logical Volume (LV) ist ein virtuelles Speichergerät innerhalb einer Logical Volume Group, das ein Dateisystem (HFS+) empfängt und gemountet wird. Daten auf einem Logical Volume werden wie auf jedem herkömmlichen Volumen organisiert, so dass sie leicht zugänglich und lesbar sind.

  • Eine Logical Volume Family (LVF) ist ein neues Konzept, das von Apple eingeführt wurde. Sie enthält verschiedene Metadaten zu Logical Volumes, die eine Logical Volume Group umfassen, zusammen mit den Eigenschaften hinsichtlich ihrer Verschlüsselung. Alle angegebenen Eigenschaften werden von allen LVs geerbt.

Da Core Storage in der Lage ist, Speicherzuweisungsoperationen im Hintergrund auszuführen, wird die Technologie verwendet, um den von FileVault 2 durchgeführten Festplattenverschlüsselungsprozess zu vereinfachen. Früher hat FileVault ein verschlüsseltes Dateisystem in regulären Dateien gespeichert, aber die Datei-basierte Technologie war alles andere als perfekt, insbesondere wenn das gesamte Volumen verschlüsselt werden sollte. Mit Core Storage können Daten eines Volumens auf Blockebene verschlüsselt werden: Logical Volumes für verschlüsselte Benutzer- und Systemdaten werden erstellt und Blöcke werden in und aus einer verschlüsselten Partition verschoben. Auf diese Weise wird beim Entsperren eines verschlüsselten Volumes ein neues logisches Volumen erstellt, das das gesamte verschlüsselte Dateisystem und nicht zugewiesenen Speicherplatz als ein Block-Bereich enthält. Eine typische Konfiguration von FileVault 2 sieht folgendermaßen aus:

  • /dev/disk0 – ein physisches Speichersystem mit mehreren Volumen;

  • /dev/disk0s3 – ein Physical Volume auf disk0s3, dessen Inhalt verschlüsselt ist und das Volumen in die Core Storage Logical Volume Group aufgenommen wird;

  • /dev/disk1 – ein Logical Volume in einer Logical Volume Group, das der Ausgangspunkt für die Entschlüsselung des Inhalts von disk0s3 ist.

Zweitens ist Core Storage der Hauptmechanismus für die Automatisierung des Prozesses der Datenverteilung zwischen den beiden Komponenten einer Fusion Drive-Speicherlösung, die normalerweise die folgende Zusammensetzung hat:

  • dev/disk0 – ein physisches Solid-State-Laufwerk, das Teil eines Core Storage LVG ist;

  • dev/disk1 – ein physisches Festplattenlaufwerk, das in einem Core Storage LVG enthalten ist;

  • dev/disk2 – ein Logical Volume, das aus disk0 und disk1 besteht.

In dieser Konfiguration ist disk0 als primäres Gerät in einer Logical Volume Group festgelegt. Das System priorisiert es zum Speichern von Dateien, sodass häufig verwendete Dateien in Blöcken von 128 KB in den schnelleren SSD-Speicher verschoben werden und umgekehrt. Die Datenmigration wird durch vier wichtige Core Storage-Aufrufe ausgeführt: RdChunkCS, WrChunkCS, WrBgMigCS und RdBgMigrCs. Dadurch erhält der Benutzer ein optimiertes System, das die Leistung des Flash-Speichers und die Kapazität des magnetischen Speichers kombiniert.

Vor- und Nachteile von Core Storage

Core Storage ist ein zuverlässiges und leistungsstarkes Volumen-Format. Es bietet die Grundlage für Fusion Drive und seine intelligente Datenmigration, ganz zu schweigen von den direkten Umsetzungen, die für die Implementierung der FileVault 2-Festplattenverschlüsselung erforderlich sind. Die Technologie weist jedoch einige erhebliche Mängel auf, die man zur Kenntnis nehmen sollte:

  • im Gegensatz zu Linux LVM unterstützt Core Storage kein Thin Provisioning;

  • im Unterschied zu LVM ist die Kapazitätserweiterung in Core Storage nicht verfügbar. Daher kann der Speicherpool nicht erweitert werden, wenn der Speicher wächst. Tatsächlich bietet der Befehl von Diskutil die Möglichkeit, die Größe der Groups und Volumes von Core Storage zu ändern, aber der ist jedoch nicht wirklich gut dokumentiert und birgt ein inhärentes Risiko eines vollständigen Datenverlusts.

  • Disk Utility verfügt nicht über die Möglichkeiten, das Core Storage-Layout zu ändern. Man kann nicht ohne das Terminal Logical Volumes erstellen/entfernen oder Groups und Families ansehen.

  • Core Storage unterstützt das neue Apple APFS-Dateisystem nicht. Nach der Installation von macOS High Sierra und später (macOS Mojave für Fusion Drive) wird die Logical Volume Group in einen speziellen APFS-Container konvertiert.

  • die Technologie bietet keine Fehlertoleranzoptionen. Darüber hinaus ist jeder Speicher, das zu Core Storage gehört, Teil eines einzigen Ganzen und kann nicht separat aufgerufen werden, wenn eine der angeschlossenen Festplatten getrennt wird oder ausfällt. Alle Daten, die das defekte System hält, gehen unweigerlich verloren.

Möglichkeit der Datenwiederherstellung

Um sicherzustellen, dass Core Storage auf den problematischen Speicher tatsächlich aktiviert ist, können Sie die hexadezimale Vorschau der größten Partition jeder Festplatte überprüfen: In Position 0x58 muss die Signaturnummer 0x4353 vorhanden sein.

Alle Benutzerdaten, die Core Storage speichert, sind auf die Komponentenfestplatten verteilt. Darüber hinaus sind für die korrekte Interpretation spezielle verschlüsselte Metadaten am Ende jedes Speichers erforderlich. Daher ist das Vorhandensein aller Komponenten für die Datenrettung unbedingt notwendig – der totale Ausfall von mindestens einer Komponente führt zu irreversiblen Datenverlusten. Bei schweren Beschädigungen verschlüsselter Metadaten oder der Speicher-GUID ist es nicht möglich, intakte Dateien wiederherzustellen. Zu weiteren möglichen Problemen gehören:

Der Verlust einer Partitionstabelle auf einer der Festplatten

Der Speicher kann in diesem Fall geöffnet werden, wenn alle Partitionen manuell definiert werden: Der Startsektor und die Größe der Partition in Sektoren müssen korrekt angegeben werden.

Probleme im Zusammenhang mit der Verschlüsselung des Speichers

Wenn die vollständige Festplattenverschlüsselung auf dem Mac aktiviert ist, wird ein spezieller Speicherverschlüsselungsschlüssel generiert und in den Bereich der Metadaten oder in eine spezielle Datei in der Systemkonfigurationspartition namens EncryptedRoot.pllist.wipekey geschrieben. Wenn der Metadatenbereich beschädigt ist oder der Zugriff auf EncryptedRoot.pllist.wipekey unmöglich ist, können die Daten leider nicht entschlüsselt werden, und die Wiederherstellung ist völlig unausführbar.

In anderen Fällen werden Core Storage-Metadaten von UFS Explorer erkannt, und der Speicher kann vom Programm zusammengestellt und anschließend geprüft werden. Wenn Sie Daten von einem Core Storage-Volume retten müssen, verlassen Sie sich bitte auf die Anweisungen.

Um mehr über andere Technologien zum Speichern und Bearbeiten von Daten herauszufinden, sehen Sie den Abschnitt Speichertechnologien.

Letzte Aktualisierung: 06. August 2022

Wenn Ihnen dieser Artikel gefällt, teilen Sie ihn in sozialen Medien: