13 Scale-out-Dateisysteme sind seit vielen Jahren ein anspruchsvolles Forschungsthema. Da Unternehmen immer mehr Daten erzeugen, werden Dateisysteme unverzichtbar, die Petabytes an Daten speichern, Tausenden von Benutzern gleichzeitigen Zugriff bieten und die Konsistenz des Dateisystems wahren können. All das muss bei Verfügbarkeit rund um die Uhr und schnellen Antwortzeiten weltweit gelingen. Um die Herausforderungen beim Aufbau skalierbarer und hochverfügbarer georeplizierter Systeme zu meistern, stellt neue Forschung von Scality und den RainbowFS-Partnern ein neues georepliziertes, wirklich nebenläufiges Dateisystem vor. Die Studie beschreibt ElmerFS, ein Dateisystem, das konfliktfreie replizierte Datentypen (auf Englisch) (CRDTs) in einem Active-Active-Szenario mit geografisch verteilter Bereitstellung nutzt. Die Forschungsarbeit wurde auf der HotStorage21 (auf Englisch) vorgestellt, die vom 26. bis 27. Juli stattfand. Der Bedarf an einem neuen Ansatz Skalierbare und hochverfügbare georeplizierte Dateisysteme zu entwickeln ist äußerst schwierig, denn es hängt von neuer Forschung zu Methoden der Nebenläufigkeit, der Replikation und der Sicherstellung konsistenter Datensichten über Benutzer und Rechenzentren hinweg ab. Diese Systeme müssen Konflikte, die bei gleichzeitigen Vorgängen entstehen, so lösen, dass die Korrektheit des Dateisystems gewahrt bleibt, das Ergebnis für den Benutzer sinnvoll ist und nicht von der herkömmlichen Dateisystemschnittstelle abweicht. Die Korrektheit eines Dateisystems bedeutet im Grunde, dass Benutzer immer die richtigen Daten sehen und Dateien immer in der richtigen Reihenfolge aktualisiert werden. Außerdem darf sich das Dateisystem selbst nie in einem inkonsistenten Zustand befinden – es darf also keine zwei Dateien oder Verzeichnisse mit demselben Namen geben, und keine Verzeichnisse oder Dateien dürfen nach dem Umbenennen unzugänglich sein. Die Konfliktlösung in bestehenden Systemen führt jedoch oft zu unerwarteten oder inkonsistenten Ergebnissen. Die Herausforderung besteht also darin, eine Lösung zu finden, die Konflikte zwischen gleichzeitigen Vorgängen sinnvoll löst und zugleich die gewünschten Eigenschaften bewahrt. Zudem muss die Lösung ältere Anwendungen und Protokolle unterstützen, die noch weit verbreitet sind und nicht mit Mechanismen für den Umgang mit Nebenläufigkeitsanomalien entwickelt wurden. ElmerFS im Überblick Gemeinsam mit meinen Kollegen von den Universitäten Sorbonne und Grenoble haben wir ein neues Dateisystem vorgeschlagen, das die oben beschriebenen Herausforderungen angeht. Das Design von ElmerFS nutzt die Eigenschaften von CRDTs, um sicherzustellen, dass gleichzeitige Vorgänge auf verschiedenen Replikaten immer zu einem korrekten Zustand konvergieren – und dabei die Semantik eines herkömmlichen POSIX-Dateisystems (Portable Operating System Interface) erhalten bleibt. Das übergeordnete Ziel ist eine Konfliktlösung, die für Benutzer intuitiv ist und zugleich die Kompatibilität mit Anwendungen wahrt, die für bestehende Dateisystemschnittstellen entwickelt wurden. Damit Benutzer die Ergebnisse der Konfliktlösung über Dateisystemvorgänge ergänzen oder rückgängig machen können, stellt eine ElmerFS-Implementierung sicher, dass Dateisystemreplikate bei widersprüchlichen Vorgängen letztlich zu einem gemeinsamen, korrekten Zustand konvergieren. Stellen Sie sich zum Beispiel zwei Benutzer vor, Alice und Bob, die einander nicht erreichen können. Beide erstellen eine Datei namens „report.doc“. Unter normalen Umständen hätte nur einer von beiden den Vorgang ausführen können. Da das System jedoch immer verfügbar sein muss, hat es beide Vorgänge akzeptiert. Sobald die Verbindung wiederhergestellt ist, zeigt das System Bob seine eigene Datei „report.doc“ und Alices Datei „report.doc:Alice“ an. Bob kann seiner Datei entweder einen neuen Namen geben oder nichts tun und weiterarbeiten, wobei er die konfliktbehaftete Datei als weitere Datei mit anderem Namen behandelt. Fortgesetzte Partnerschaft mit RainbowFS Diese Forschung ist das Ergebnis der Zusammenarbeit von Scality mit RainbowFS, einem kooperativen Forschungsprojekt, das von der französischen nationalen Forschungsagentur finanziert wird. Es vereint eine Koalition von Partnern, die einen Ansatz für verteilten Speicher untersuchen, der eine auf die Anwendung zugeschnittene Konsistenzsemantik gewährleistet und dabei Skalierbarkeit und Verfügbarkeit bewahrt. Dies ist Teil der laufenden Zusammenarbeit von Scality mit der Fondation Inria (auf Englisch), dem Stiftungszweig des französischen nationalen Forschungsinstituts für digitale Wissenschaften. Investitionen in und die Zusammenarbeit mit solchen Projekten und Organisationen sind zentral für die Mission von Scality, und an der Spitze technologischer Fortschritte und Forschung zu stehen, ist seit Langem eine Priorität des Unternehmens. Den vollständigen Forschungsbericht finden Sie hier.