iCloud Drive in Sonoma: Neuer Dienst mit alteingesessenen Helfern
iCloud Drive ist ein hochkomplexes System, das Dokumente jeder Art auf Apples Servern vorhält und Änderungen auf verschiedenen Geräten synchronisiert. Die Herausforderung: Am besten merkt man gar nicht, dass es arbeitet. Um das Realität werden zu lassen, hat Apple über die Jahre viel Entwicklungsleistung in die zugrunde liegenden Dienste investiert. Das aktuelle Mac-Betriebssystem (Sonoma) geht dabei neue Wege: Der Dienst "CloudDocs" wird von FileProvider abgelöst. Dieser ist seit 2021 für externe Cloud-Dienste ins System integriert. Apple selbst setzt für iCloud erst mit der Einführung von macOS 14 auf die FileProvider-Struktur.
In einer Reihe von Blog-Artikeln berichtet Howard Oakley von seinen Beobachtungen bei der Analyse der Prozedur. Dafür richtete er seinen Mac so ein, dass er den iCloud-Speicher optimiert. In dem Fall kann Sonoma selbstständig entscheiden, wann das System eine Datei auf Cloud-Server auslagert und auf dem lokalen Laufwerk nur noch einen Verweis (Stub) vorhält. Dieser Prozess nennt sich "eviction" und setzt ein Laufwerk im APFS-Format voraus.
FileProvider ist eifrig und gesprächigZuerst durchstöberte Oakley die Protokolldateien beim Speichern einer
einzelnen Datei in einem iCloud-Ordner. In den Protokolldateien (Logs) konnte er daraufhin beobachten, welche Prozesse an dem Vorgang beteiligt sind: FileProvider zeigt in den Logs die meiste Aktivität und hat anscheinend fast alle Aufgaben des CloudDocs-Prozesses übernommen. Dabei flutet der Dienst beinahe das "Unified Log" von Sonoma. Die Informationsmenge profitiert jedoch von einer Innovation: Die Protokolldateien machen umfangreich Gebrauch von Emoji und technischen Symbolen, um die Meldungen lesbarer zu machen.
Innovation im Log: Emoji und technische Symbole erleichtern das Aufspüren relevanter Fehlermeldungen.
Beim Aufteilen hilft ein VeteranOakley konnte bei Versuchen mit
größeren Datensätzen weitere Besonderheiten beobachten. Weiterhin ist der bird-Prozess für Up- und Download von Dateien zuständig. Übersteigen Dateien eine bestimmte Größe, werden sie vom MMCS in Brocken unterteilt (MMCS steht für MobileMe Chunking Service). Die Protokolle erwähnen auch spezifische Minimalgeschwindigkeiten beim Datentransfer; sie scheinen aber unterschiedlich stringent angewendet zu werden. Bei seinen Untersuchungen der Protokolldateien stieß er zudem auf gelegentliche Time-Out-Meldungen, wie er sie für
CloudKit dokumentierte. Doch offenbar waren alle systeminternen Dienste darauf vorbereitet, sodass in diesem Fall keine negativen Konsequenzen oder verwirrenden Fehlermeldungen entstanden.
Nebenprodukt: Überarbeiteter Log-ViewerIn diesem Zusammenhang hat Howard Oakley sein kostenloses Tool
Mints auf Version 1.19 aktualisiert. Es sammelt für verschiedene Anwendungszwecke die jeweils relevanten Protokolldateien in einer Übersicht und differenziert sie farblich. Darin erscheinen nun auch Logs des FileProvider-Diensts.