Performance und Zuverlässigkeit mit einem Seafile Cluster

Renommierte Einrichtungen aus Forschung und Lehre vertrauen Ihre Daten Seafile an. Ausfallsicherheit und hohe Performance erreichen sie durch den Einsatz von Seafile Clustern mit verteilten Speichersystemen. Service Unterbrechnungen und Skalierungshindernisse sind damit ein Ding der Vergangenheit.

Aufbau eines Seafile Clusters

Ein typischer Seafile Cluster besteht aus einem vorgeschalteten Loadbalancer, zwei Frontend-Servern, einem Background-Server und einem redundanten Speichersystem. Der Loadbalancer sorgt für die Verteilung der Anwenderanfragen auf die verschiedenen Frontend-Knoten (englisch: Nodes) und der Background-Server kümmert sich um die rechenintensiven Hintergrundarbeiten wie Indexierung und die Bereitstellung von Online Editor Funktionen. Beim Speichersystem vertraut man typischerweise verteilten Speichersystemen wie S3, Openstack Swift und Ceph.

Architektur eines Seafile Clusters

Dieser Aufbau erfüllt gleichermaßen Anforderungen an Performance wie an Hochverfügbarkeit. Beim Ausfall einer einzelnen Komponenten funktioniert das System ohne Unterbrechung der Sync & Share Funktion weiter. Gleichzeitig werden bei steigenden Nutzerzahlen die Anfragen gleichmäßig auf die redundanten Frontend-Server verteilt. Wenn diese an ihre Leistungsgrenzen stossen, kann die Kapazität durch das Hinzufügen von Nodes einfach erhöht werden.

Anwendungsfälle eines Seafile Clusters

Die maschinennahe Programmierung macht Seafile sehr sparsam in Bezug auf die benötigten Systemressourcen. Ein Server mit 8 Kernen und 16 GB Arbeitsspeicher ist in vielen typischen Anwendungsfällen ausreichend für bis zu 2.000 Benutzer. (Bei intensiver Nutzung und in Abhängigkeit der verarbeiteten Daten kann der Ressourcenbedarf auch deutlich höher sein.)

Reagiert ein solches System träge, dann ist typischerweise die Volltextsuche mit ihrem großem Arbeitsspeicherbedarf der Fuß auf der Bremse. In diesem Fall empfiehlt sich – sozusagen als Vorstufe zum Cluster – die Trennung in Frontend- und Background-Server. Diese Trennung verschafft dem Seafile Core wieder ausreichend Luft für schnelle Zugriffe bzw. zusätzliche Benutzer.

Aus Performance Sicht ist daher in der Regel ein Cluster erst bei deutlich mehr als 1.000 Anwendern notwendig. Zur Sicherstellung von Hochverfügbarkeit kann der Aufbau eines Clusters jedoch schon früher Sinn machen.

Clusteraufbau einfach gemacht

Alle notwendigen Konfigurationsanpassungen und das Vorgehen zum Aufbau eines Seafile Clusters sind detailliert im Seafile Manual beschrieben. Auch die nachträgliche Umstellung auf einen Clusterverbund wird einen Seafile Administrator vor keine großen Herausforderungen stellen. Belohnt werden Administratoren wie Benutzer gleichermaßen mit einem schnellen und ausfallsicheren System, das beliebig skaliert werden kann.