Auf Dem Prüfstand Verteilte Dateisysteme Verteilte
Total Page:16
File Type:pdf, Size:1020Kb
02/2017 SDS-Konfiguration und -Performance Titelthema Auf dem Prüfstand Verteilte Dateisysteme Verteilte 20 Das Versprechen von Software Defined Storage ist es, heterogenen Speicher zentral und mit eingebauter Re magazin.de dundanz zu verwalten. Der folgende Test geht der Frage nach, wie kompliziert das Aufsetzen der dazu nötigen verteilten Dateisysteme ist. Ein Benchmark zeigt, welche Operationen jedes am besten beherrscht. Konstantin Agouros www.linux ständischen Unternehmen mehrere Ser- ver warten, auf denen Festplattenplatz brachliegt. In diesem Fall kann es inte- ressant sein, diesen Platz mit Hilfe der verteilten Dateisysteme in einem redun- danten Array zu bündeln. Kandidatenkür Linux-Admins dürfen gleich auf mehrere Varianten solcher hochverfügbaren, ver- teilten Dateisysteme zugreifen. Bekannt sind Gluster-FS [1] und Ceph [2], un- bekannter ist Lizard-FS (siehe folgenden Artikel, [3]). Dieser Beitrag analysiert die drei Systeme und vergleicht in ei- nem Benchmark die Lese- und Schreib- © wathanyu sowong, 123RF sowong, © wathanyu geschwindigkeiten im Testnetz. Zwar ist die Geschwindigkeit ein zent- Nicht selten landen Technologien, die sich beim Crash einzelner Komponenten rales Feature von Dateisystemen, doch anfangs hauptsächlich in großen Rechen- darauf verlassen, dass die Landschaft die gibt es nicht nur ein Tempo: Je nachdem, zentren zum Einsatz kommen, irgend- Daten dennoch konsistent speichert und wofür der Admin das Dateisystem ein- wann auch in den Netzwerken kleinerer zugänglich macht. setzen möchte, kann mal das sequenzi- Unternehmen oder gar – wie im Falle In einer Umgebung mit nur einem File- elle Schrei ben, mal das schnelle Anlegen der Virtualisierung – auf den Desktops server ergibt die Technologie wenig Sinn, neuer Dateien, mal auch das zufällige gewöhnlicher User. Dieser Prozess lässt in großen IT-Landschaften deutlich mehr. Lesen unterschiedlicher Daten ausschlag- sich auch für Software Defined Storage Hier setzt der Admin das Szenario pro- gebend sein. Die Benchmark-Ergebnisse (SDS) beobachten. fessionell mit dedizierten Servern und geben Hinweise auf die Schwächen und Im Grunde geht es bei SDS darum, die Kombinationen aus SSDs und traditio- Stärken der Systeme. Festplatten mehrerer Server in eine große, nellen Festplatten um. Gewöhnlich ver- Die drei Kandidaten im Test verfolgen redundante Speicherlandschaft zu ver- bindet er die Komponenten dabei über dabei unterschiedliche Ansätze. Ceph ist wandeln. Der Nutzer des Speichers soll ein 10-Gigabit-Netzwerk miteinander und ein verteilter Object Store, der in Form sich nicht mehr darum kümmern, auf mit den Clients. von Ceph-FS [4] auch als Dateisystem welcher konkreten Festplatte seine Daten SDS bringt aber inzwischen auch schon einsetzbar wird. Gluster-FS und Lizard- im Augenblick liegen. Zugleich soll er Mehrwert, wenn in kleinen oder mittel- FS sind hingegen als Dateisysteme konzi- Tabelle 1: Testhardware Server CPU RAM Storage Fileserver 1 Intel Xeon X5667 mit 3 GHz und 16 Kernen 16 GByte Disk-Array T6100S mit 10 Hitachi-Platten (7200 RPM), als Raid 1 konfiguriert Fileserver 2 Intel Core i3 530 mit 2,9 GHz und 4 Kernen 16 GByte I-SCSI-Array Thecos mit 2 320-GByte-Festplatten, als Raid 1 konfiguriert Admin-Server Intel Core 2 E6700 mit 2,66 GHz und 2 Kernen 2 GByte keine Angabe Client Intel Core 2 6320 mit 1,86 GHz und 2 Kernen 2 GByte keine Angabe 02/2017 Titelthema Verteilte Dateisysteme Verteilte 21 magazin.de www.linux Abbildung 1: Lizard-FS gehört eher zu den Newcomern unter den verteilten Dateisystemen, bringt aber eine Weboberfläche für Admins mit. piert. Während jedoch zum Betrieb eines mit reichlich Festplatten verbunden war didaten unter gleichen Bedingungen zu Gluster-Setups bereits zwei Knoten ge- (Tabelle 1). Als Betriebssystem auf den testen. Als Testwerkzeuge kamen dabei nügen, braucht Lizard-FS noch einen zu- Storage-Servern lief Centos 7, auf einem Bonnie++ [5] in Version 1.97 und Io- sätzlichen Kontrollknoten. Dafür bringt vierten Admin-Rechner Ubuntu 16.04 zone 3.429 [6] zum Einsatz. Die startete es eine Weboberfläche mit (Abbildung LTS. Er diente Ceph-FS und Lizard-FS als der Tester jeweils auf dem Client und 1), die den Admin über den Zustand des Monitor respektive Master-Server. ließ sie dann jeweils auf das gemountete Clusters informiert. Fileserver 1 besaß ein über SCSI ange- Dateisystem des Testkandidaten los. Der Artikel schaut zunächst, wie viel Auf- schlossenes Storage-Array, Fileserver 2 wand Installation und Konfiguration der war über I-SCSI an ein weiteres Array Gluster-FS Dateisysteme bereiten, und betrachtet im angebunden. Die Kommunikation zwi- Benchmark den Datendurchsatz. schen den Servern erfolgte mit Gigabit- Gluster-FS ließ sich unter den Teilneh- Ethernet, während der Client und der Ad- mern am einfachsten aufsetzen. Der Tes- Der Testaufbau min-Server jeweils nur eine 100-MBit/s- ter musste die Software lediglich auf dem Schnittstelle mitbrachten. Kein Aufbau Ubuntu-Client und den beiden Storage- Das Setup im Linux-Magazin-Labor be- für Hochleistungsanforderungen, aber in Servern installieren. Zur Installation auf stand aus einem Client mit Ubuntu Linux kleineren Unternehmen nicht unüblich. Centos fügte er das Epel-Repository [7] 16.04 LTS, der mit zwei Storage-Servern Das Setup erlaubte es zudem, die Kan- hinzu und rief »yum update« auf. 02/2017 Titelthema Dann kann er die Software in Ver- verwendet, sollte der Admin zunächst (Object Storage Devices), sowie an den sion 3.8.5 über die Pakete »centos-re- die Preflight-Sektion der Dokumentation Admin-Rechner, auf dem zugleich der lease-gluster« und »glusterfs-server« [9] durcharbeiten. Dies sind die wesent- Admin- sowie der Monitor-Node laufen, einspielen. Um den Dienst zu starten, lichen Arbeitsschritte: wobei letzterer die Kontrolle besitzt. aktiviert der Admin den »glusterd« über n Einen »ceph-deploy«-User auf allen Da »ceph-deploy« praktischerweise auch »systemctl«. Nach dem Start des Dienstes Systemen anlegen. die verschiedenen Linux-Distributionen Verteilte Dateisysteme Verteilte auf beiden Storage-Servern prüft er deren n Diesen User in die Sudoers-Liste ein- kennt, kümmert es sich selbst um die In- 22 Lebenszeichen über: tragen, damit er alle Kommandos ohne stallationsdetails. Anschließend aktiviert Passworteingabe ausführen kann. der Tester den ersten Monitor-Node über gluster peer probe IP/Hostname_des_Peer magazin.de n Einen SSH-Schlüssel in der »~/.ssh/ den Befehl: peer probe: success. authorized_keys«-Datei dieses Benut- ceph-deploy mon create-initial www.linux Erscheint die Antwort aus der zweiten zers eintragen, damit sich das Admin- Zeile, verläuft alles nach Plan. Taucht System damit anmelden kann. Das Kommando sammelt auch die eine Fehlermeldung auf, liegt die Ursache n Die »~/.ssh/config« so konfigurieren, Schlüssel der beteiligten Systeme ein, vermutlich an der fehlenden Namensauf- dass SSH beim Kommando »ssh host« damit die Ceph-interne Kommunikation lösung oder der Admin hat schlicht ver- den angelegten Benutzer und die rich- funktioniert. gessen den Dienst zu starten. tige Schlüsseldatei verwendet. Danach erzeugt der Tester das Volume, Das Dateisystem erzeugt der Tester auf Diese Schritte führt der Admin auf allen was in zwei Schritten passiert. Über die den existierenden Dateisystemen der vier Rechnern aus, also auf den Storage- Kommandos Storage-Server, um es im zweiten Schritt Servern, dem Client und dem Admin- ceph-deploy osd prepare Fileserver_1:U zu aktivieren: Server. Unter Centos auf den Storage- /Verzeichnis Fileserver_2:/Verzeichnis Servern ergänzt er wieder das Epel-Repo- ceph-deploy osd activate Fileserver_1:U gluster volume create lmtest replica 2 U sitory [7] und installiert Ceph 10.2.3. Für /Verzeichnis Fileserver_2:/Verzeichnis transport tcp Fileserver_1:/Mountpoint U Fileserver_2:/Mountpoint Debian- und Ubuntu-Systeme (Client und gluster volume start lmtest Admin-Server) wartet in der Preflight- legt er das Volume auf den Storage- Sektion der Dokumentation [9] eine An- Servern Fileserver_1 und Fileserver_2 Um das neu angelegte Volume zu nut- leitung, wo auf der Ceph-Homepage sich an. Wie bei Gluster existieren auch die zen, benötigt der Tester noch das Paket das Repository für Ceph 10.2.2 befindet, Verzeichnisse bereits und enthalten das »glusterfs-client«. Es bringt die Kernel- das im Test zum Einsatz kam. Dateisystem, auf dem Ceph die Daten treiber und notwendigen Werkzeuge mit, Das Tool »ceph-deploy« sammelt Daten speichert. Als Admin aktiviert er das Vo- um ein Volume einzubinden. Das erledigt wie Schlüssel im aktuellen Verzeichnis. lume anschließend. Der Befehl dann der Befehl: Die Dokumentation empfiehlt daher, für ceph-deploy admin Admin-Rechner U jeden Ceph-Cluster ein eigenes Verzeich- mount.glusterfs Fileserver_1:/lmtest U Fileserver_1 Fileserver_2 Client nis anzulegen. Das Kommando /mnt/glusterfs verteilt die Schlüssel an alle Systeme. ceph-deploy new mon-node Anschließend steht das Dateisystem auf Als Argument dient wieder die Liste der dem Client für die Leistungstests bereit. schiebt die Installation an. Es erzeugt Rechner, die einen Key brauchen. im aktuellen Verzeichnis unter anderem Fehlt noch der Metadaten-Server. Ihn Spaß mit »ceph-deploy« die Datei »ceph.conf«. Damit der Testauf- legt er mit dem Befehl »ceph-deploy mds bau mit zwei Storage-Nodes funktioniert create mdsnode« an. Das Kommando Beim schnellen Einstieg in Ceph hilft die (Ceph verwendet standardmäßig drei, »ceph health« überprüft am Ende, ob der Dokumentation unter [8]. Installation damit es eine Mehrheit gibt), benötigt Cluster