Bachelorthesis

Marktanalyse verschiedener Deduplizierungslösungen

Vorgelegt am: 6. September 2013

Von: Schnabel, Alexander

Scherbergplatz 5

08371 Glauchau

Studiengang: Technische Informatik

Studienrichtung: Daten- und Kommunikationstechnik

Seminargruppe: 4TI10-1

Matrikelnummer: 4000681

Praxispartner: ibes Systemhaus GmbH

Bergstraße 55

09113 Chemnitz

Gutachter: Herr Prof. Dr. rer. nat. Reinhardt Nindel (ibes Systemhaus GmbH)

Herr Dr. Mathias Sporer (Staatliche Studienakademie Glauchau)

Inhaltsverzeichnis Inhaltsverzeichnis ...... II

Abbildungsverzeichnis ...... III

Abkürzungsverzeichnis ...... IV

1 Einordnung der Themenstellung ...... 1

2 Anforderungen an eine Deduplizierungslösung ...... 2

2.1 Definition Deduplizierung ...... 2

2.2 Arten von Deduplizierung ...... 2

2.3 Hash-Funktion ...... 6

2.4 ZFS-Dateisystem ...... 7

3 Vergleich von Angeboten für Deduplizierungslösungen ...... 10

3.1 Windows Server 2012 ...... 10

3.2 FreeNAS ...... 11

3.3 NexentaStor ...... 13

4 Auswahl, Test und Bewertung von Deduplizierungslösungen ...... 16

4.1 Zur Verfügung stehende Hardware ...... 16

4.2 Hardware-Anforderungen der Lösungen ...... 17

4.3 Installation und Einrichtung ...... 18

4.3.1 Windows Server 2012 ...... 18

4.3.2 FreeNAS ...... 20

4.3.3 NexentaStor ...... 22

4.4 Testverfahren ...... 24

4.5 Tests ...... 25

4.5.1 Win Server 2012 ...... 25

4.5.2 FreeNAS ...... 30

4.5.3 NexentaStor ...... 32

4.6 Bewertung ...... 37

5 Schlussfolgerungen für den Praxiseinsatz ...... 41

Quellenverzeichnis ...... 42

II

Abbildungsverzeichnis Abbildung 1 Deduplizierungsschema ...... 2 Abbildung 2 Dateienbasierter Vergleich ...... 4 Abbildung 3 File-level hashing ...... 4 Abbildung 4 -level hashing ...... 5 Abbildung 5 Sub-block-level hashing ...... 6 Abbildung 6 FreeNAS WebGUI ...... 12 Abbildung 7 NexentaStor WebGUI ...... 14 Abbildung 8 Windows Server 2012 Server-Manager ...... 19 Abbildung 9 FreeNAS Console Setup ...... 21 Abbildung 10 Laufwerkseigenschaften vor Deduplizierung ...... 25 Abbildung 11 Laufwerkseigenschaften nach Deduplizierung ...... 26 Abbildung 12 ATTO Disk Benchmark - Windows Server 2012 ...... 28 Abbildung 13 ATTO Disk Benchmark - Windows Server 2012 (2 Kerne) ...... 29 Abbildung 14 Speicherbelegung FreeNAS ...... 30 Abbildung 15 Deduplizierungsrate FreeNAS ...... 31 Abbildung 16 ATTO Disk Benchmark - FreeNAS ...... 32 Abbildung 17 Speicherbelegung NexentaStor ...... 33 Abbildung 18 Deduplizierungsrate NexentaStor ...... 34 Abbildung 19 ATTO Disk Benchmark – NexentaStor ...... 35 Abbildung 20 ATTO Disk Benchmark - NexentaStor (2 Kerne) ...... 36 Abbildung 21 Speicherplatzeinsparung ...... 37 Abbildung 22 Diagramm robocopy ...... 38 Abbildung 23 Diagramm ExtremeCopy ...... 38 Abbildung 24 Preisübersicht ...... 40 Abbildung 25 Bewertung ...... 40

III

Abkürzungsverzeichnis

HTTP Hypertext Transfer Protocol

HTTPS Hypertext Transfer Protocol Secure

LBA Logical Block Addressing

NAS Network Attached Storage

RAID Redundant Array of Independent Disks

SAS Serial Attached Storage

VTL Virtual Tape Library

WebGUI Web-based Graphical User Interface

IV

1 Einordnung der Themenstellung In der heutigen Zeit werden die Speicheranforderungen durch Datenverarbeitungs- systeme immer größer. Damit einhergehend wachsen auch die Sicherungskopien dieser Daten immer weiter an. Diese Sicherungskopien von den Nutzdaten werden wöchentlich oder auch täglich erzeugt und enthalten oft über 90% redundante Daten. Aber auch die Benutzer selbst gehen mit dem gebotenen Speicherplatz nicht gerade sorgsam um. Da werden Ordnerstrukturen angelegt, die so komplex sind, dass man schnell den Überblick verliert. Dabei kommt es nicht selten vor, dass die Daten in den Ordnern mehrfach vorhanden sind. Man kann dem entgegenwirken, indem die Spei- cherkapazität immer weiter ausgebaut wird. Die technologischen Fortschritte der Hersteller von Festplatten würden das zulassen. Es gibt aber andere, vielleicht güns- tigere Wege. Genau hier setzen Deduplizierungslösungen an. Sie versuchen mit ih- ren spezifischen Algorithmen Duplikate zu finden und zu eliminieren. Die dabei ver- wendeten Verfahren sollen hier erläutert werden. Es wird ein Testszenario erstellt, um die Stärken und Schwächen der verschiedenen Lösungen aufzudecken. Auch kann nicht auf jedes Detail eingegangen werden, da die Zeit und die technischen Möglichkeiten es nicht zulassen. Es sollen trotzdem vergleichbare und möglichst ob- jektive Ergebnisse erarbeitet werden.

1

2 Anforderungen an eine Deduplizierungslösung

2.1 Definition Deduplizierung Mit Deduplizierung wird in der Informationstechnik ein Vorgang bezeichnet, der re- dundante Daten entfernt bevor diese auf einem Massenspeicher abgespeichert wer- den (siehe Abbildung 1). Dabei wird, je nach Deduplizierungsart, über einzelnen Da- teien oder Datenstücken (chunks) ein Hashwert berechnet. Dieser Hashwert wird in einer Indexdatenbank abgelegt. Dadurch sollen Ressourcen, wie Prozessor und Ar- beitsspeicher, geschont und die Zugriffszeit auf die Hashwerte beschleunigt werden, weil nicht ständig neu berechnet werden muss. Die eigentlichen Daten werden auf dem Datenträger abgespeichert. Die Hashwerte werden dann mit den Hashwerten neuer Daten verglichen. Bei einem gleichen Hashwert wird das neue Datum verwor- fen und stattdessen ein Verweis auf das bereits gespeicherte Datum erstellt. Ist der Hashwert ein neuer, noch nicht in der Datenbank vorhandener, so wird er dort abge- speichert und steht für zukünftige Vergleiche bereit. Das zugehörige Datum wird ebenso gespeichert, um bei weiteren positiven Vergleichen darauf verweisen zu können.1 Durch die Deduplizierung entsteht eine kritische Situation. Der Verlust nur eines chunks kann den Verlust sehr vieler Daten bedeuten. Dies muss die eingesetz- te zu verhindern wissen.

Deduplizierung

Abbildung 1 Deduplizierungsschema

2.2 Arten von Deduplizierung Es gibt verschiedene Ansätze bei der Deduplizierung. Einmal wird zwischen in-line- und post-process-Deduplizierung unterschieden. Bei der in-line-Deduplizierung wer- den die Daten „in-line“, also in dem Datenstrom, in dem sie ankommen, sofort verar-

1 online: Deduplizierung, 2013 (30.09.2013) 2 beitet. Diese Methode ist Ressourcenintensiver, spart aber Plattenplatz. Die andere Methode, das post-processing, speichert die ankommenden Daten erstmal ohne wei- tere Verarbeitung auf dem Datenträger ab. Die Deduplizierung erfolgt im Anschluss als Hintergrundprozess oder auch als zeitgesteuerter Prozess. Dabei werden weni- ger Ressourcen beansprucht, aber es muss mehr Speicherplatz vorgehalten werden.

Eine weitere Unterscheidung bei Deduplizierungslösungen wird nach Ort der De- duplizierung vorgenommen. Dabei kann die Deduplizierung an der Quelle (Host- based), am Ziel (Target-based, Appliance-based) oder direkt auf dem Storage (Sto- rage-based) erfolgen. Viele -Programme bieten quellbasierte Deduplizierung an. Dort werden die Backupdaten direkt auf dem zu sichernden System dedupliziert. Das hilft Netzwerkbandbreite zu sparen, kostet aber Rechenleistung auf dem Quell- system. Es gibt auch Lösungen, die jeglichen Datenverkehr über WAN-Verbindungen (Wide Area Network, Weitverkehrsnetz) deduplizieren. Sie werden benutzt um z.B. Zweigstellen mit langsamer Internetanbindung an die Zentrale anzubinden. Bei dem Ansatz mit zielbasierter Deduplizierung können ebenfalls Backup-Programme vor- kommen. Dabei werden die zu sichernden Daten vom Backup-Server erst komplett über das Netzwerk übertragen um dann, bevor sie auf den Sicherungsdatenträger gespeichert werden, zu deduplizieren. Dies setzt einen potenten Backup-Server vo- raus, damit die Backup-Zeitfenster nicht überschritten werden. Es fallen ebenso alle Appliances in diese Kategorie. Eine Appliance ist eine spezielle Hardware mit zuge- höriger Software, die nur für einen bestimmten Zweck konzipiert ist2. Es gibt auch virtuelle Appliances. Dabei wird die spezifische Software in einer virtuellen Umge- bung betrieben und benötigt daher keine eigene Hardware. Eine solche Appliance kann unter anderem ein Network Attached Storage (NAS) oder ein Virtual Tape Library (VTL) sein. Als dritte Kategorie wird Storage-basierte Deduplizierung ge- nannt. Dort erfolgt die Deduplizierung direkt auf dem Speichergerät, welches den Speicherplatz bereitstellt.

Der eigentliche Deduplizierungsvorgang ist ebenfalls unterschiedlich implementiert. Dabei gibt es folgende Datenverarbeitungsarten:

 dateibasierter Vergleich  File-level hashing*  Block-level hashing  Sub-block-level hashing

* siehe Hash-Funktion

2 online: , 2013 (30.09.2013) 3

Die einfachste Methode ist der dateibasierte Vergleich (vgl. Abbildung 2). Diese kann von Hand vorgenommen werden. Dabei gilt es die Metadaten von zwei Dateien zu vergleichen. Metadaten sind Informationen, die eine Datei beschreiben. Zu den Me- tadaten von Dateien zählen deren Eigenschaften wie Dateigröße, Dateinamename und Datum der letzten Änderung. Wenn man in einem Dateisystem zwei Dateien mit identischen Metadaten findet, so kann man sich sicher sein, dass es sich um Dupli- kate handelt und man eine von beiden löschen kann. Somit hat man de-dupliziert. Dieses Vorgehen sollte nicht auf Systemdateien, sondern nur auf Benutzerdateien angewendet werden, um die Funktionsfähigkeit des Betriebssystems nicht zu gefähr- den.

Ganze Dateien Metadaten

0123456789 .txt Größe: 24.023 Byte, Änderungsdatum: 23.08.2013

3725941086 .dll Größe: 357.109 Byte, Änderungsdatum: 01.01.2011

0139542687 .exe Größe: 3618.571 Byte, Änderungsdatum: 10.05.2013

0123498765 .txt Größe: 1.024 Byte, Änderungsdatum: 02.09.2013

0123456789 .txt Größe: 24.023 Byte, Änderungsdatum: 23.08.2013

Abbildung 2 Dateienbasierter Vergleich

Die nächstbessere Methode ist das File-level hashing (siehe Abbildung 3). Dabei wird über jede Datei ein Hashwert berechnet. Mit diesem Wert kann das Programm nun leichter und schneller identische Dateien erkennen und eliminieren. Da sich der Hashwert einer Datei ändert, sobald sich nur ein Bit innerhalb dieser umkehrt, ist die- se Methode noch sehr ineffizient.

Ganze Dateien MD5-Hash

0123456789 .txt c7640a51756df4325c973b3b9db5a4a7

3725941086 .dll 0e645d8d3941532a02fa9f5cef500d65

0139542687 .exe 89adbdbdbadb49e69891c2525a97d18b

0123498765 .txt 443cbf134d643b6fc8c2de4fee73189b

0123456789 .txt c7640a51756df4325c973b3b9db5a4a7

Abbildung 3 File-level hashing

4

Deshalb wurde das Block-level hashing entwickelt. Blöcke sind die kleinste logische Einheit in der Daten auf der Festplatte gespeichert werden können (Logical Block Addressing – LBA). Typischerweise ist ein Block 512 Byte groß. Neuere Dateisyste- me fassen diese Blöcke zu Clustern von meist 4096 Byte zusammen. Da eine Datei somit in viele kleine Stücke aufgeteilt wird und diese Stücke nun verglichen werden, ist es viel wahrscheinlicher Duplikate zu finden. Für das Beispiel mit der Datei und dem einen geänderten Bit bedeutet das, dass nur der Block, in dem sich die Ände- rung befindet, einzigartig ist (Abbildung 4). Die restlichen Blöcke sind Duplikate und können eliminiert werden.

Blöcke MD5-Hash

01234 4100c4d44da9177247e44a5fc1546778 56789 099ebea48ea9666a7da2177267983138 37259 4f1d26071e2066e217e4afc39cc9439a 41086 d538fafd2c832e8cb5d424d68dc7f8af 01395 8ef5f5d664c5ef8e19a616b1f7221038 42687 f0d92a0e3d866de3ab42f2223efddec7 01234 4100c4d44da9177247e44a5fc1546778 98765 c37bf859faf392800d739a41fe5af151 01234 4100c4d44da9177247e44a5fc1546778 56789 099ebea48ea9666a7da2177267983138

Abbildung 4 Block-level hashing

Eine noch feinere Unterteilung der Daten erfolgt mit dem Sub-block-level hashing. Dabei werden die Blöcke noch einmal unterteilt, um noch mehr so genannte Chunks zu erhalten (vgl. Abbildung 5). Von diesen Chunks wird wiederum ein Hashwert ge- bildet und mit anderen verglichen.3

3 vgl. POELKER, NIKITIN, 2009, S. 335ff 5

Chunks MD5-Hash

01 96a3be3cf272e017046d1b2674a52bd3 23 37693cfc748049e45d87b8c7d8b9aacd 45 6c8349cc7260ae62e3b1396831a8398f 67 735b90b4568125ed6c3f678819b6e058 89 7647966b7343c29048673252e490f736 37 a5bfc9e07964f8dddeb95fc584cd965d 25 8e296a067a37563370ded05f5a3bf3ec 94 f4b9ec30ad9f68f89b29639786cb62ef 10 d3d9446802a44259755d38e6d163e820 86 93db85ed909c13838ff95ccfa94cebd9 01 96a3be3cf272e017046d1b2674a52bd3 39 d67d8ab4f4c10bf22aa353e27879133c 54 a684eceee76fc522773286a895bc8436 26 4e732ced3463d06de0ca9a15b6153677 87 c7e1249ffc03eb9ded908c236bd1996d 01 96a3be3cf272e017046d1b2674a52bd3 23 37693cfc748049e45d87b8c7d8b9aacd 49 f457c545a9ded88f18ecee47145a72c0 87 c7e1249ffc03eb9ded908c236bd1996d 65 fc490ca45c00b1249bbe3554a4fdf6fb 01 96a3be3cf272e017046d1b2674a52bd3 23 37693cfc748049e45d87b8c7d8b9aacd 45 6c8349cc7260ae62e3b1396831a8398f 67 735b90b4568125ed6c3f678819b6e058 89 7647966b7343c29048673252e490f736

Abbildung 5 Sub-block-level hashing

2.3 Hash-Funktion Bei der Deduplizierung von Daten wird über jede Datei (bei file-level Deduplizierung) oder über jeden chunk (bei Block- und Sub-block-level Deduplizierung) eine mathe- matische Funktion berechnet. Diese Funktion bildet eine relativ große Eingabemenge auf einen kleineren Hashwert ab. Dabei soll der Hashwert als digitaler Fingerabdruck einer jeden Datei oder jedes Chunks fungieren. Darin besteht die Schwierigkeit in der Wahl der Hashfunktion. Einerseits dürfen keine Kollisionen entstehen und anderer- seits darf die Berechnung des Hashwerts nicht zu komplex geraten. Eine Kollision entsteht, wenn zwei unterschiedliche Eingangswerte (Dateien/Chunks) identische Hashwerte erzeugen. Dieser Umstand darf keinesfalls auftreten bzw. muss erkannt werden, um gezielt darauf reagieren zu können. Häufig verwendete Hash- Algorithmen sind MD5 (Message-Digest Algorithm 5), SHA-1 (Secure Hash Algo- rithm) und SHA-256. 6

2.4 ZFS-Dateisystem Das ZFS-Dateisystem ist ursprünglich ein, für das Betriebssystem Solaris der Firma entwickeltes, transaktionales 128-bit Dateisystem. Es wurde 2006 veröffentlicht. Theoretisch können damit Dateisystemgrößen von rund 3 x 1038 Byte verwaltet werden. Praktisch ist das Dateisystem auf 16 EiB (264 Byte), was 18.4 EB (18,4 x 1018 Byte) entspricht, beschränkt4. Diese extreme Größe resultiert daraus, dass ZFS für Rechenzentren und Mainframe-Systeme konzipiert wurde. NTFS, wel- ches auf Windows-Systemen zum Standard gehört, ist zum Beispiel auf eine Größe von 256 TiB (248 Byte) beschränkt5. Somit kann ZFS rund 65 tausendmal mehr Daten auf einem einzigen Dateisystem speichern als NTFS. Zum Schutz vor inkonsistenten Zuständen auf dem Datenträger überschreibt ein transaktionales Dateisystem die alten Daten nicht, sondern legt die neuen Daten in einem freien Speicherbereich an und aktualisiert den Verzeichniseintrag auf die neuen Daten. Dieses Verfahren wird Copy-On-Write genannt. Jede Speicheroperation wird am Ende entweder bestätigt oder verworfen. Dadurch soll eine Korruption der Daten durch plötzlichen Stromaus- fall oder einen Systemabsturz verhindert werden. Des Weiteren ist ZFS nicht, wie andere Dateisysteme, auf einen physischen Datenträger beschränkt. Es beinhaltet einen Volume-Manager, der es erlaubt mehrere physische Laufwerke in einem Sto- rage-Pool (Speichervorrat) zusammen zu fassen. In diesem Storage-Pool lassen sich nun Dateisysteme (Datasets) anlegen, die sich auch über mehrere physische Daten- träger erstrecken können. Ein weiterer Vorteil gegenüber herkömmlichen Dateisys- temen ist, dass die Größe der Datasets nicht fest vorgegeben werden muss. Alle an- gelegten Datasets teilen sich den verfügbaren Speicher im Storage-Pool. Bei Hinzu- fügen weiterer Datenträger zum Storage-Pool, können die Datasets den neuen Spei- cher automatisch belegen und anwachsen. Es gibt eine Vielzahl an Eigenschaften, die für jedes Dataset definiert werden können. Mit Ausnahme von Kontingenten und Reservierungen können alle anderen Eigenschaften von übergeordneten Datasets geerbt werden. Als weiteres Feature bietet ZFS die Prüfsummenberechnung aller Daten und Metadaten. Datenübertragungsfehler sollen damit vermieden oder berich- tigt werden. Da dies auf Dateisystemebene geschieht, ist es transparent zu den An- wendungen, sie merken davon also nichts.

Außerdem bietet ZFS verschiedene Datenredundanz-Modi. Diese Modi heißen RAID-Z (Redundant Array of Independent Disks). RAID-Z1 bietet einfache Parität und ist mit RAID5 vergleichbar. Eine Anordnung vergleichbar mit RAID6 heißt RAID- Z2. Sie ist gegen den gleichzeitigen Ausfall von 2 Festplatten gesichert. Als Erweite- rung dazu fungiert RAID-Z3. Es benutzt 3 Paritätsbits und kann somit den Ausfall von 3 Festplatten gleichzeitig kompensieren. Ab 6 Festplatten wird RAID-Z2 und ab 9

4 online: ZFS (Dateisystem), 2013 (30.09.2013) 5 online: Working with File Systems, 2005 (30.09.2013) 7

Festplatten wird RAID-Z3 empfohlen6.Ebenso ist die Spiegelung von Datenträgern (ähnlich RAID1) Bestandteil des ZFS-Dateisystems. Durch diese redundanten Stora- ge-Pools ist ZFS in der Lage, korrupte Daten zu erkennen und mit einwandfreien Da- ten aus einer redundanten Kopie zu ersetzen.7

Das ZFS-Dateisystem bietet mit compression (Komprimierung) eine weitere wichtige Eigenschaft. Diese kann für jedes einzelne Dataset, sowie alle darin erstellten Data- sets, separat aktiviert werden. Es stehen folgende Optionen zur Verfügung: on, off, lzjb, gzip, and gzip-N, wobei das N für Zahlen von 1-9 steht und verschiedene Kom- primierungsstärken darstellt. In der aktuellen Version 34 von ZFS, welche in 11.1 verwendet wird, ist nur noch eine Komprimierungsmethode aktiv. Es ist aktuell nur off oder on implementiert. Die anderen Verfahren aktivieren ebenfalls die Option on. Eine weitere Eigenschaft von ZFS ist die Deduplizierung. Sie ist als Datei- system-Eigenschaft integriert und arbeitet auf Blockebene. Bei ZFS kommt inline- Deduplizierung zum Einsatz. Dabei wird im aktuellen Release SHA256 als Hash- Funktion verwendet. Obwohl die Wahrscheinlichkeit bei SHA256 sehr gering ist, eine Hash-Kollision zu erhalten, gibt es die Möglichkeit eine zusätzliche Sicherheit gegen Hash-Kollisionen zu aktivieren. Die Option verify prüft für jede Hash- Übereinstimmung auf Bit-Ebene, ob die beiden Blöcke wirklich identisch sind. Daten, die schon auf einem Volume gespeichert sind, bevor die Deduplizierung aktiviert wurde, werden nicht automatisch dedupliziert. Dies geschieht erst, wenn sie von dem Volume herunter und danach wieder darauf kopiert werden. Obwohl die Deduplizie- rung für jedes Dataset einzeln aktiviert werden kann, kann man die Deduplizierungs- rate nur für den gesamten Speicherpool ausgeben lassen. Für die einzelnen Data- sets nicht. ZFS benutzt eine Deduplizierungstabelle (DDT) um die referenzierten Ein- träge zu speichern. Jeder Eintrag ist dabei ca. 320 Byte groß. Dabei ergibt die Anzahl der gespeicherten Datenblöcke multipliziert mit 320 Byte die Größe der DDT. Die DDT sollte nach Möglichkeit komplett in den Arbeitsspeicher passen, um keine Per- formanceeinbußen zu erleiden. Bei einem bestehenden Datenspeicher kann man mit dem Befehl: zdb -S , überprüfen, wie viel Speicher man mittels Dedupli- zierung einsparen kann. Es wird unter anderem die erwartete Deduplizierungsrate ausgegeben. Liegt diese unter zwei, so ist es nicht empfohlen die Deduplizierung zu aktivieren. Die Performanceeinbußen durch die Berechnung der Hashwerte würden die Speicherplatzeinsparung nicht rechtfertigen. Weiterhin wird die Anzahl der beleg- ten Blöcke angezeigt und man kann leicht den Speicherbedarf für die DDT über- schlagen. Eine weitere wichtige Eigenschaft ist die recordsize. Mit ihr kann die Blockgröße der gespeicherten Daten festgelegt werden. Diese liegt zwischen 512 Byte und 128 KB. ZFS besitzt Algorithmen, die für jede zu speichernde Datei

6 online: RAIDZ Configuration Requirements and Recommendations, 2013 (30.09.2013) 7 online: What Is ZFS?, 2010 (30.09.2013) 8 automatisch die passende Blockgröße ermittelt und die Daten in dieser Größe ab- speichert. Diese sind von Datei zu Datei unterschiedlich. Die recordsize-Eigenschaft wird vor allem für Datenbankdateien benötigt. Diese sind in der Regel sehr groß und dadurch würde eine große Blockgröße gewählt werden. Da aber Datenbanken nur in kleinen Blöcken gelesen werden, ist hier eine kleinere Blockgröße von Vorteil. 8

8 online: Introducing ZFS Properties, 2013 (30.09.2013) 9

3 Vergleich von Angeboten für Deduplizierungslösungen

3.1 Windows Server 2012 Der Windows Server 2012 ist die aktuelle Version des Microsoft Betriebssystems für Server. Erstmals wurde in dieser Version die Möglichkeit implementiert Deduplizie- rung, ohne zusätzliche Software, zu aktivieren. Dabei ist zu beachten, dass die De- duplizierung nur auf Laufwerken aktiviert werden kann, die mit NTFS formatiert, kein Betriebssystemlaufwerk und als nichtentfernbar markiert sind. Windows Server 2012 verwendet ausschließlich post-process-Deduplizierung. Dabei kommt ein abgewan- delter Rabin fingerprint-hash-Algorithmus zum Einsatz. Dieser Algorithmus unter- sucht die Dateien mittels eines sliding window (verschiebendes Fenster) und legt In- haltsabhängig eine geeignete chunk-Größe fest, deren Hashwert dann berechnet wird. Die Größe der Chunks variiert dabei zwischen 32 und 128 KB. Dadurch sollen mehr übereinstimmende Chunks gefunden werden, was der Speicherplatzeinsparung zugutekommt. Aufgrund der kleinsten chunk-Größe von 32 KB werden Dateien, die kleiner als 32 KB sind von der Deduplizierung ausgeschlossen. Vor der Ablage der Chunks in einer Datenbank, dem chunk store, werden sie zusätzlich komprimiert. Der chunk store befindet sich innerhalb des versteckten Ordners System Volume Infor- mation des jeweiligen Laufwerks. Die eigentlichen Dateien werden durch Verknüp- fungen zum chunk store ersetzt, um sie bei Bedarf wieder zusammensetzen zu kön- nen. Windows Server 2012 versucht die Gefahr von Korruptionen einzudämmen, in- dem für Chunks, die mehr als 100 Referenzierungen besitzen automatisch eine Ko- pie angelegt wird. Diese Kopie wird im so genannten hotspot des chunk stores ge- speichert. Außerdem wird für jede Lese- und Schreiboperation eine Prüfsummen- überprüfung durchgeführt. Wenn eine Korruption festgestellt wird, wird ein Eintrag in eine Log-Datei geschrieben. Diese Log-Datei wird dann beim wöchentlichen Scrub- bing-Job (Reinigungsauftrag) abgearbeitet und es wird versucht die korrupten Daten zu reparieren oder aus einem Backup wiederherzustellen. Gelingt das alles nicht, wird versucht, aus neuen eingehenden Chunks den einen zu finden, der den korrup- ten Chunk ersetzen kann.9

Der Windows Server 2012 wird in insgesamt 4 Versionen angeboten: Datacenter, Standard, Essentials und Foundation. Dabei richten sich Essentials und Foundation an kleine Unternehmen mit maximal 25 bzw. 15 Benutzern. Dafür sind die Nutzungs- lizenzen für die Benutzer (Client Access License, CAL) schon im Preis enthalten. Die Foundation-Version ist außerdem nur als vorinstalliertes Betriebssystem auf Servern erhältlich und besitzt keine Deduplizierungsoption10. Ebenfalls keine Deduplizierung besitzt die Essentials-Edition. Daher kommen nur noch Standard und Datacenter in

9 online: JOHNSON, 2012 (30.09.2013) 10 online: Introduction to Windows Server 2012 Foundation, 2013 (30.09.2013) 10

Betracht. Beide Versionen erlauben der Lizenz nach zwei physische Prozessoren in einem Server. Die Datacenter Edition ist für beliebig viele virtuelle Instanzen des Be- triebssystems auf einem Server gedacht und für den Einsatzzweck eines Dateiser- vers nicht notwendig. Mit der Lizenz zur Standard Edition können immerhin noch zwei virtuelle Maschinen auf dem Host betrieben werden. Da ist zu beachten, dass zu dem Preis für die eigentliche Serverlizenz noch die Kosten für die CALs hinzu- kommen. Die Anzahl der CALs ist von der Anzahl der Benutzer oder Geräte abhän- gig, die auf den Server zugreifen sollen. Teilen sich mehrere Benutzer einen PC, so ist die Lizenzierung mit Geräte-CALs günstiger. Hingegen ist es besser, bei Benut- zern mit mehreren Geräten, nach Benutzern zu lizenzieren. Hier wird der Preis für die OEM-Version (dt. Erstausrüster) angegeben.11

Der Windows Server 2012 Standard kostet in der Basislizenz 596€. Fünf Benutzer- CALs kosten 140,30€ und fünf Geräte-CALs schlagen mit 115,60€ zu Buche. Die CALs müssen nach Anzahl der Nutzer oder Geräte evtl. mehrfach erworben wer- den.12

3.2 FreeNAS FreeNAS ist ein auf FreeBSD basierendes, eingebettetes (embedded) NAS-System. Da FreeNAS unter der BSD-Lizenz veröffentlicht wurde, kann es, wie der Name FreeNAS schon sagt, frei verwendet werden. Die verwendete Version trägt die Versi- onsnummer 9.1.0 und wurde am 01. August 2013 veröffentlicht. Es kam die (empfoh- lene) 64-bit Variante zum Einsatz, weil nur damit mehr als 4 GB Arbeitsspeicher adressiert werden können. Als embedded System wird FreeNAS fast ausschließlich über den Browser gesteuert. Die initiale Konfiguration, falls erforderlich, wird über die Konsole vorgenommen. Dies betrifft lediglich die Netzwerkeinstellungen, um den Zu- griff auf das WebGUI (Web-based Graphical User Interface) zu ermöglichen. Außer- dem kann über die Konsole das Zugangspasswort für das WebGUI oder die kom- plette Konfiguration der Lösung zurückgesetzt werden. Auch ein Neustart- und Her- unterfahrvorgang können über die Konsole initiiert werden. Man kann ebenfalls Zu- gang zu einer Eingabeaufforderung erlangen. Die weiterführenden Konfigurations- schritte werden über das WebGUI vorgenommen. Dazu zählen unter anderem das Festlegen des Administratorpasswortes, das Anlegen neuer Benutzer und Gruppen, das Einbinden neuer Laufwerke und die Freigabe von Ordnern. Die Ansicht der Oberfläche ist in drei Bereiche gegliedert (siehe Abbildung 6).

11 online: Windows Server 2012 Editionen, 2013 (30.09.2013) 12 online: Betriebssysteme und Server, 2013 (30.09.2013) 11

Abbildung 6 FreeNAS WebGUI

Links ist eine Baumstruktur mit allen Konfigurationspunkten angelegt. Oberhalb be- findet sich eine Symbolleiste mit den wichtigsten Hauptpunkten der Baumstruktur. Den größten Teil der Oberfläche nimmt die Hauptansicht ein. Hier werden die Haupt- punkte der Baumstruktur als Registerkarten angezeigt. In der obersten Zeile der Re- gisterkarten sind alle Unterpunkte aufgeführt und können direkt angewählt werden. Wenn in der Registerkarte hellblau hervorgehobene Schaltflächen zu sehen sind, öffnet ein Klick darauf ein Popup-Fenster und es können Einstellungen vorgenom- men werden. Dass dieses Schema nicht konsequent umgesetzt wurde kann an dem Punkt ZFS Scrubs gesehen werden. In der Baumstruktur ist es dem Hauptpunkt Speicher untergeordnet. Wenn nun aber ein Unterpunkt davon angeklickt wird, öffnet sich eine neue Registerkarte. Da FreeNAS zum Deduplizieren das ZFS-Dateisystem benutzt, sei hier auf den Punkt 2.4 verwiesen.

FreeNAS ist kostenlos. Für die Anforderungen von Unternehmen bietet die Firma iXsystems Inc. fertige Server unter dem Namen TrueNAS an. Dabei kommt eine leicht abgewandelte Version von FreeNAS zum Einsatz. Außerdem ist bei TrueNAS

12

Support enthalten.13 Der FreeNAS-Support beschränkt sich auf Anwenderforen und es gibt keine Support-E-Mail-Adresse oder –Telefonnummer.

3.3 NexentaStor NexentaStor ist eine auf dem NexentaOS basierende NAS-Softwareplattform. Ne- xentaOS ist eine Mischung aus OpenSolaris und Ubuntu14. Im Wesentlichen ist Ne- xentaStor ähnlich wie FreeNAS aufgebaut. Die Hauptadministration wird über ein WebGUI vorgenommen. Über die Konsole werden die Installation, falls nötig, und die Grundkonfiguration vorgenommen. Die eigentliche Verwaltung wird über eine Web- Oberfläche vorgenommen. Auch hier kommt das ZFS-Dateisystem aus dem Gliede- rungspunkt 2.4 zum Einsatz. Anders als FreeNAS bietet NexentaStor zusätzliche Enterprise-Plug-Ins an. Das High Availability-Plug-In für redundante Anordnungen oder das Target FC-Plug-In, um mittels des Fiber Channel-Protokolls blockbasierte Speicher bereit zu stellen. Für diesen Test wurde eine virtuelle Appliance verwendet. Diese kann vorkonfiguriert über Nexenta bezogen werden.15 Das WebGUI (siehe Abbildung 7) zeigt im oberen, dunkelgrau abgesetzten Bereich, den Hilfe- und Sup- portbereich. Hier kann zum Beispiel die Hilfe aufgerufen, eine neue Lizenz angefor- dert, aber auch direkt, über ein Formular, eine E-Mail an den Support geschickt wer- den. Ganz rechts wird der aktuell angemeldete Benutzer angezeigt. Dort befindet sich auch die Login- bzw. Logout-Schaltfläche, je nachdem ob jemand angemeldet ist oder nicht. Darunter, in einer grünen Zeile, befinden sich die vier Hauptgliede- rungspunkte, die als Registerkarten dargestellt sind. Direkt darunter sieht man in ei- ner grau hinterlegten Leiste die Unterpunkte des aktuell ausgewählten Hauptpunktes. Der aktive Hauptpunkt ist, der besseren Übersicht halber, auch grau eingefärbt wie es der Punkt Status in Abbildung 7 zeigt. Wenn man über einen der Hauptpunkte mit der Maus fährt klappt ein Fenster auf, in welchem die Unterpunkte direkt angewählt werden können. Klick man auf den Hauptpunkt so erscheint eine neue Seite mit eine Übersicht aller Unterpunkte und einer kurzen Erklärung dazu. Der Bereich am linken Rand ist von Unterpunkt zu Unterpunkt unterschiedlich und unterteilt diesen noch einmal. Hier wird das Menü ausgewählt, welches dann auf der restlichen, größten Fläche angezeigt wird.

13 online: TrueNAS™ Unified Storage (30.09.2013) 14 online: Nexenta OS, 2013 (30.09.2013) 15 online: Nexenta, 2013 (30.09.2013) 13

Abbildung 7 NexentaStor WebGUI

NexentaStor wird als kostenpflichtige Enterprise- oder als Community-Version ange- boten. Die Community-Version ist kostenlos und wird durch eine Community (Ge- meinschaft von Entwicklern) aus der Enterprise-Version abgeleitet. Dabei bietet sie nur 18 TB Speicherplatz, Support durch die Community und keine Plug-Ins. Sie ba- siert auch nicht immer auf der neuesten Enterprise-Version. Bei der Enterprise- Version wird nach der rohen Festplattenkapazität lizenziert. Das bedeutet, dass die Kapazität der eingebauten Festplatten, die als Storage-Pool dienen sollen, addiert werden muss. Die Festplatten für die Systemsoftware-Installation und Hotspare- Laufwerke werden nicht berechnet. Ein Hotspare-Laufwerk ist als Ersatz für eine de- fekte Festplatte gedacht, welches automatisch einem (RAID-)Volume hinzugefügt wird, wenn die Festplatte ausfällt. In dem Lizenzpreis ist ein Jahr Support enthalten. Der Support ist bei in der Silver Edition auf E-Mail begrenzt. Zusätzlicher Telefon- support wird in der Gold Edition angeboten. In der Platinum Edition bekommt man außerdem einen festen Supportmitarbeiter zugewiesen. Zusätzlich werden Support- verlängerungen angeboten. Die Software-Lizenz an sich ist unbegrenzt gültig. Dabei gilt es zu beachten, dass der Support nur auf Installationen mit zertifizierter Hardware gewährt wird. Deshalb wird auf der Web-Seite von Nexenta auf Web-Seiten von Hardware-Reseller (Wiederverkäufer) verwiesen. Diese bieten fertig konfigurierte

14

Server mit Nexenta-Software an. Als Richtlinie für Preise dient eine E-Mail mit einem Verkaufsberater von Nexenta. Da die Preisangaben nur in US-Dollar und als Preis- spanne angegeben waren, wurden sie zum aktuellen Umrechnungskurs umgerech- net und mit Preisen in Internet-Shops verglichen. Dabei wurden auf der Internetprä- senz der Firma Zstor GmbH fast identische Preise angeboten, weshalb diese Inter- netseite als Preisgrundlage dienen soll. Es wurde die Gold Edition als Vergleichs- grundlage ausgewählt, weil es den Telefonsupport abdeckt und die mittlere Preisstu- fe darstellt. Den Mehrwert eines fest zugewiesenen Supportmitarbeiters kann man im Voraus schlecht abschätzen, da nicht bekannt ist, wo der Support ansässig ist und wie er arbeitet. Danach ist für NexentaStor Enterprise Gold 8 TB, die kleinste Kapazi- tätsstufe, 2146,00€ zu zahlen. Für die 32 TB-Version sind 5346,00€ fällig. Die größte angebotene Kapazität beträgt 1024 TB und schlägt mit 147.905,00€ zu Buche. Es gibt auch die Möglichkeit die lizenzierte Kapazität zu erweitern. Die Preise sind gleichauf mit denen für eine normale Lizenz. Maximal beträgt die Einsparung rund zwei Prozent.

15

4 Auswahl, Test und Bewertung von Deduplizierungslösungen

4.1 Zur Verfügung stehende Hardware Die Testhardware bestand aus zwei identisch ausgestatteten HP ProLiant DL380p Gen8 und einem HP P2000 G3 SAS Storage. Die beiden Server besaßen je 2 Intel XEON E5-2630 Prozessoren mit je 6 Kernen, die mit 2,30 GHz takteten. Außerdem waren pro Server 64 GB Arbeitsspeicher installiert. Das Storage war mit 13 x 600 GB 2,5 Zoll HP Enterprise Festplatten ausgestattet. Verbunden wurden die Server mit dem Storage per Serial Attached SCSI (SAS). SAS ist eine blockorientierte Punkt-zu- Punkt-Verbindung. Auf dem Storage wurden zwei RAID-Sets angelegt. Ein RAID-Set ist ein Verbund von einzelnen Festplatten nach einem festgelegten RAID-Level, wel- ches nach außen wie ein logisches Laufwerk erscheint. Ein RAID-Set wurde als RAID5 mit 5 Festplatten konfiguriert. Dabei entstand ein logisches Laufwerk mit 2400 GB [ (5-1) x 600 GB] Kapazität. Es enthielt die Testdaten. Das andere wurde als ein RAID10-Verbund mit acht Festplatten eingerichtet, um eine möglichst gute Performance zu erhalten und das Plattensystem als Flaschenhals ausschließen zu können. Die Kapazität betrug ebenfalls 2400 GB (8/2 x 600 GB).

Bei einem RAID5 muss eine Parität über den zu schreibenden Daten berechnet wer- den. Diese muss zusätzlich zu den eigentlichen Daten, welche blockweise aufgeteilt werden, auf die Festplatten geschrieben werden. Dies verlangsamt den Schreibpro- zess. Beim Lesen kann ein RAID5 alle Festplatten parallel benutzen und erzielt eine hohe Datenrate. Ein RAID10 ist ein Verbund aus RAID1 und RAID0. Bei RAID1 (Spiegelung, Mirror) sind genau zwei Festplatten beteiligt. Sie enthalten genau die gleichen Daten. Dafür ist keine aufwendige Berechnung nötig, weshalb ein RAID1 in etwa die gleiche Schreibperformance wie eine einzelne Festplatte besitzt. Die Lese- geschwindigkeit kann indes doppelt so hoch ausfallen, weil von beiden Platten gleichzeitig gelesen werden kann. Ein RAID0 kann mit mindestens zwei einzelnen Festplatten oder auch anderen RAID-Level erzeugt werden. Dabei werden die zu schreibenden Daten aufgeteilt und es kann gleichzeitig auf die darunterliegenden (logischen) Datenträger geschrieben werden. Das Lesen erfolgt ebenfalls parallel von allen beteiligten Platten. In diesem Fall wurde über vier RAID1 ein sogenannter Stri- pe (RAID0) gelegt.

Das RAID10 wurde nacheinander den verschieden Lösungen zur Verfügung gestellt, um darauf die Deduplizierung zu testen. Auf einem Server wurde Windows Server 2012 mit der Hyper-V-Rolle installiert, um den eigentlichen Deduplizierungsserver darauf virtualisieren zu können. Der zweite Server wurde mit VMWare ESXi 5.1.0 installiert. Dies war nötig, weil FreeNAS nicht für Hyper-V optimiert wurde und zum Beispiel die Netzwerkkarten nicht erkannte. Außerdem bietet Nexenta eine vorgefer-

16 tigte Version von NexentaStor an, die lediglich in den ESXi-Server importiert werden muss. Dies spart Zeit und es kann davon ausgegangen werden, dass die virtualisier- te Hardware erkannt wird. Auf Grund von Zeitmangel konnte die VM mit Windows Server 2012 nicht ebenfalls auf dem ESXi-Server installiert werden. Jede virtuelle Maschine hatte eine dedizierte Netzwerkkarte zugewiesen bekommen, die mit einem Gigabit-Switch verbunden war. Dieser soll sich später noch als Flaschenhals heraus- stellen.

4.2 Hardware-Anforderungen der Lösungen Die Hardwareanforderungen des Windows Server 2012 sind sehr bescheiden. Für die Deduplizierung soll ein Einzelprozessor-System mit 4 GB Arbeitsspeicher ausrei- chend sein. Ein Deduplizierungsauftrag benötigt genau einen Prozessorkern und 350 MB Arbeitsspeicher. Es hat keinen positiven Effekt auf die Deduplizierungsrate dem Server mehr Ressourcen zur Verfügung zu stellen. Ein Deduplizierungsauftrag ist für je ein Laufwerk zuständig und benötigt die oben angegebenen Ressourcen. Erst wenn mehrere Laufwerke mit aktivierter Deduplizierung bereitgestellt werden sollen, muss aufgerüstet werden.16

FreeNAS benötigt als Minimum für die Verwendung von ZFS 8 GB Arbeitsspeicher. Bei der Verwendung von Deduplizierung werden 5 GB Arbeitsspeicher pro 1 TB Speicherplatz empfohlen.17

Auf der Download-Seite der Test-Version gibt Nexenta ebenfalls 8 GB plus 1 GB RAM pro 1 TB Speicherplatz an. Bei Hochleistungssystemen werden 2 GB pro 1 TB Speicherplatz zusätzlich zu den 8 GB empfohlen.18 In einer E-Mail, welche mich erst erreichte, als die Testhardware nicht mehr zur Verfügung stand, wird von mindestens 48 GB Arbeitsspeicher gesprochen. Mit Deduplizierung ist sogar von mindestens 192 GB Arbeitsspeicher die Rede. Es ist dort zwar nicht angegeben, aber es kann davon ausgegangen werden, dass diese Konfiguration für hochperformante, hochka- pazitive Umgebungen ausreichend sein sollte.

16 online: Planen der Datendeduplizierungsbereitstellung, 2013 (30.09.2013) 17 online: LAVIGNE, 2013 (30.09.2013) 18 online: Recommended system requirements, 2013 (30.09.2013) 17

4.3 Installation und Einrichtung

4.3.1 Windows Server 2012 Die Deduplizierung ist standardmäßig nicht installiert und muss über die Verwal- tungskonsole, den Server-Manager, nachinstalliert werden. Im Server-Manager oben rechts auf Verwalten klicken und dann den Punkt Rollen und Features hinzufügen auswählen. Es startet ein Assistent. Die erste Seite dient nur der Information. Die zweite Seite ist die Option Rollenbasierte oder featurebasierte Installation schon ausgewählt und man kann auf Weiter klicken. Die Seite Serverauswahl bedarf eben- falls keiner weiteren Anpassung. Auf der Seite Serverrollen auswählen erweitert man den Punkt Datei- und Speicherdienste durch einen Klick auf das kleine Dreiecksym- bol davor. Ein weiter Klick auf das Dreieck vor dem neu erschienenen Punkt Datei- und iSCSI-Dienste lässt den Punkt Datendeduplizierung erscheinen. Dieser muss nur noch aktiviert werden. Daraufhin öffnet sich ein weiteres Fenster, welches die Instal- lation weiterer, für die Datendeduplizierung benötigter Features, anzeigt. Da genügt es mit einem Klick auf Features hinzufügen das Fenster zu schließen. Jetzt ist das zusätzlich benötigte Feature auch mit ausgewählt und man kann mit zweimaligem Klick auf Weiter zum Ende des Assistenten gelangen. Hier kann ausgewählt werden, ob der Server automatisch neugestartet werden soll. Dies sollte aber nur bei einem Server ausgewählt werden, der neuinstalliert ist oder nicht produktiv arbeitet. Die ei- gentliche Installation beginnt mit einem Klick auf Installieren. Der Assistent zeigt den Installationsfortschritt an, kann aber auch geschlossen werden. Dann läuft die Instal- lation im Hintergrund weiter. Wenn die Installation beendet ist, erscheint links im Ser- ver-Manager eine neue Auswahlmöglichkeit, Datei-/Speicherdienste. Alternativ, und für eine Servercore-Installation ohne grafische Oberfläche, kann dieses Feature auch über die Windows PowerShell, ein Kommandozeilenprogramm, installiert werden. Dafür reichen die folgenden Befehle aus:

 Import-Module ServerManager  Add-WindowsFeature -name FS-Data-Deduplication  Import-Module Deduplication

Danach ist die Deduplizierung auch über die PowerShell konfigurierbar.

Die Konfiguration der Deduplizierung erfolgt mit dem Server-Manager indem auf der linken Seite der Punkt Datei-/Speicherdienste ausgewählt wird. Daraufhin wechselt der Server-Manager in eine neue Ansicht. Es erscheint eine zweite Reihe mit aus- wählbaren Elementen, während die ganz linke Spalte verkleinert wird und nur noch Symbole anzeigt. Der eingebundene Datenträger wird in der Datenträger-Übersicht noch als unbekannt angezeigt (siehe Abbildung 8).

18

Abbildung 8 Windows Server 2012 Server-Manager

Unter dem Punkt VolumesDatenträger kann man den zusätzlich angebundenen Datenträger überprüfen und für die Verwendung als Laufwerk in Windows Server konfigurieren. Ein Rechtsklick auf einen neuen Datenträger und die anschließende Auswahl von Neues Volume lässt einen Assistent starten. Dieser erleichtert das An- legen von Partitionen auf den neuen Datenträgern. Nach Auswählen des entspre- chenden Datenträgers und Klick auf Weiter gelangt man zur Definition der Volumen- größe. Automatisch ist die gesamte verfügbare Größe ausgewählt. Auf der nächsten Seite kann ein Laufwerksbuchstabe zugewiesen werden. Hier wurde der vorgegebe- ne Laufwerksbuchstabe E verwendet. Danach wird das Dateisystem, die Größe der Zuordnungseinheiten und der Bezeichnung abgefragt. Dabei wurden die vorgegebe- nen Standardwerte übernommen. Als nächstes kann gleich in diesem Assistent die Datendeduplizierung aktiviert werden. Für das Kopieren der Testdaten wurde die Deduplizierung deaktiviert belassen. Auf der letzten Seite können die Einstellungen noch einmal überprüft werden und mit der Schaltfläche Erstellen wird der Vorgang gestartet. Danach kann der Assistent geschlossen werden und das neue Laufwerk ist einsatzbereit. Die Deduplizierung kann nachträglich über den Server-Manager akti- viert werden. Dazu ist unter Datei-/SpeicherdiensteVolumes der Datenträger E: auszuwählen und im Kontextmenü auf Datendeduplizierung konfigurieren zu klicken. 19

Zum Aktivieren ist ganz oben in dem sich öffnenden Fenster ein Haken zu setzten. Dadurch sind die vorher ausgegrauten Optionen verfügbar. Das Alter, ab welchem die Daten dedupliziert werden sollen, ist standardmäßig auf 5 Tage eingestellt. Für die Evaluierung wurde hier 0 Tage eingestellt, um die Ergebnisse sofort erzielen zu können. Der Zeitplan für die Deduplizierung wurde deaktiviert belassen, um bei den Testdurchläufen keine Einbußen durch eine im Hintergrund laufende Deduplizierung zu erleiden. Abschließend wurde auf dem Deduplizierungs-Laufwerk ein Verzeichnis angelegt, welches freigegeben wurde, um über das Netzwerk darauf zugreifen zu können.

4.3.2 FreeNAS Die Installation des NAS erfolgt entweder über CD oder einen USB-Stick. Da die Te- stumgebung aus einem ESXi Virtualisierungs-Server bestand, wurde direkt die her- untergeladene ISO-Datei zur Installation verwendet. Dies machte das Brennen einer CD überflüssig. Die eigentliche Installation verläuft schnell und unspektakulär. Nach- dem das Installationsprogramm von CD geladen ist, erscheint ein Auswahlmenü. Der Punkt Install/Upgrade ist bereits ausgewählt und muss mit Enter bestätigt werden. Danach wird die Festplatte festgelegt, auf der das System installiert werden soll. Es erscheint eine Warnung, dass alle Daten auf dem ausgewählten Datenträger ge- löscht werden. Nach Bestätigung dieser ist die Installation auch schon vorüber. Es entsteht fast keine Wartezeit, bis die Meldung der erfolgreichen Installation erscheint. Nach Entfernen der virtuellen CD und drücken der Enter-Taste startet das System neu und beginnt mit der Initialisierung. Das nimmt eine gewisse Zeit in Anspruch. Nach Abschluss dieser erscheint das Konsolen-Setup-Menü (siehe Abbildung 9). Da sind im unteren Teil die IP-Adressen zu sehen, über die die WebGUI aufgerufen werden kann. Erscheint dort nicht mindestens eine IP-Adresse, kann durch Eingabe einer 1, gefolgt von Enter, die Netzwerkkarte konfiguriert werden.

20

Abbildung 9 FreeNAS Console Setup Beim ersten Aufrufen des WebGUI sind bereits drei Registerkarten geöffnet. Im Vor- dergrund ist die Registerkarte System Information. Darin sieht man die wichtigsten Informationen wie Version, Arbeitsspeicher, Betriebszeit und Auslastung des NAS. Da FreeNAS ein Projekt mit internationaler Beteiligung ist, ist die Sprache standard- mäßig auf Englisch eingestellt. Deshalb sollte als Erstes die mittlere Registerkarte, Settings, aufgerufen werden. Auf dieser lässt sich die unter anderem die Sprache und die Zeitzone an die deutschen Gegebenheiten anpassen. Die folgenden Anga- ben zu den Bezeichnungen in dem WebGUI beziehen sich auf die deutsche Sprach- einstellung. Die dritte schon geöffnete Registerkarte heißt Berichte. Darin befinden sich grafisch dargestellte Informationen über das System. Zum Beispiel kann hier die Prozessor-Auslastung über die letzten 60 Minuten verfolgt werden. Die Diagramme lassen sich auf fest vorgegebene Zeitintervalle skalieren (letzter Tag, letzte Woche, usw.). Ein Verschieben des angezeigten Intervalls, um die eingestellte Skalierung, ist ebenfalls möglich. Die Einrichtung der Datenträger erfolgt über den Punkt Speicher in der oberen Symbolleiste. In der neuen Registerkarte klickt man auf ZFS Volume Ma- nager und es erscheint ein Popup-Fenster. Hier muss ein Name für das neue Volume vergeben werden. Des Weiteren können die zur Verfügung stehenden Laufwerke zu dem neuen Volume hinzugefügt und der Typ des Volumes angegeben werden. Da- bei stehen, je nach Anzahl der Laufwerke, verschiedene Typen wie RAIDZ-RAIDZ3, Stripe oder Mirror zur Verfügung. Außerdem können Laufwerke hier als (Hot)-Spare-, Log- oder Cache-Laufwerk konfiguriert werden. Die Bedeutungen der anderen Typen wurde bereits in Punkt 2.4 erläutert. Ebenfalls muss hier festgelegt werden, ob das 21

Volume verschlüsselt werden soll oder nicht. Ein späterer Wechsel ist ohne das Lö- schen des Volumes nicht möglich. Verschlüsselung wurde nicht verwendet. Da nur ein Laufwerk in der Liste war, wurde mit diesem ein Stripe-Volume angelegt, da für ein einzelnes Laufwerk nur diese Option zur Verfügung steht. Als nächstes empfiehlt es sich Datasets anzulegen. Diese sind den Ordnern in Windows-Systemen ähnlich. Dadurch kann der Speicher strukturiert werden. Es kann für jedes Dataset separat Deduplizierung, Komprimierung oder Zugriffsrechte festgelegt werden. Es wurde für die Tests ein Dataset angelegt und, als einzige Abweichung von den Voreinstellun- gen, die Deduplizierung aktiviert. Dazu muss in der Übersicht das vorher angelegte Volume ausgewählt werden. Daraufhin erscheint ganz unten eine Symbolleiste, die den Punkt Erstelle ZFS Dataset enthält. Alternativ sind diese Punkte auch links in der Baumstruktur vorhanden. Nach der Erstellung wurden noch die Zugriffsrechte für diese Dataset angepasst, da in der Standardeinstellung nur der root-Benutzer schreibzugriff hat. Folgend wurde eine Windows-Freigabe erstellt, um über das Netzwerk auf das Dataset zugreifen zu können. Dafür wird der Punkt Freigaben be- müht. In der Registerkarte wurde oben Windows Freigabe (CIFS) ausgewählt und dann auf die Schaltfläche Add Windows (CIFS) Freigabe geklickt. Die Benennung der Schaltfläche scheint ein Übersetzungsfehler zu sein, denn in der Baumstruktur auf der linken Seite steht Füge Windows (CIFS) Freigabe hinzu. Beide führen aber zum gleichen Popup-Fenster, indem mindestens ein Name für die Freigabe und der Pfad zu dem Volume oder dem Dataset angegeben werden muss. Zusätzlich wurde ein Haken bei der Option Erlaube Gastzugriff gesetzt, um den Zugriff auf die Freiga- be ohne die Angabe von Benutzername und Passwort zu ermöglichen.

4.3.3 NexentaStor NexentaStor kann per CD installiert werden oder wenn eine Virtualisierungslösung zum Einsatz kommt als virtuelle Appliance importiert werden. In beiden Fällen muss zuerst die Lizenz bestätigt werden. Dann muss die Festplatte für die Systemdaten ausgewählt werden und eine Warnung über das Löschen aller Daten auf der Fest- platte bestätigt werden. Danach beginnt die Installation. Am Ende der Installation er- scheint eine Zusammenfassung über die voreingestellten Werte, wie Hostname, Standardbenutzername und IP-Adresse. Ein Druck auf die Enter-Taste lässt das Sys- tem neu starten. Nach Bestätigung einer weiteren Lizenzbestimmung erscheint der Willkommensbildschirm. Hier sind Informationen wie Software-Version, Seriennum- mer und die Machine Signature zu sehen. Die Machine Signature wird zum Registrie- ren der Appliance benötigt. Die dafür benötigten Informationen stehen ebenfalls auf der Willkommensseite. Nach erfolgreicher Registrierung, auf einer Internetseite von Nexenta, bekommt man eine E-Mail mit dem Registrierungsschlüssel zugeschickt.

22

Dieser wird dann auf der Willkommensseite eingegeben. Erst dann kann die Netz- werkverbindung konfiguriert werden. Danach muss ausgewählt werden, ob mit HTTP (Hypertext Transfer Protocol) oder HTTPS (HTTP Secure), der verschlüsselten Vari- ante, auf die Appliance zugegriffen werden soll. Der zugehörige Standard-Port ist 2000 und muss nur in Ausnahmefällen geändert werden. Ist dieser bestätigt, steht die genaue Adresse für den Zugriff auf das WebGUI da. Für alle weiteren Schritte kann man ab sofort die Web-Oberfläche benutzen. Beim ersten Aufruf der WebGUI wird sofort ein Assistent gestartet, der grundlegende Dinge wie Name, Zeitzone oder Sprache der Appliance festlegen lässt. Auf der nächsten Seite des Assistenten soll- ten die Passwörter für die Standardbenutzer admin und root geändert werden. Die dritte und vorletzte Seite ist zum Konfigurieren von E-Mail-Benachrichtigungen vor- gesehen. Auf der letzten Seite wird eine Zusammenfassung der Einstellungen aus- gegeben und die Konfiguration muss gespeichert werden. Danach startet sofort ein zweiter Assistent. Dieser bietet im ersten Schritt Konfigurationsmöglichkeiten für das Netzwerk. Hier können zusätzliche Netzwerkkarten konfiguriert werden. Außerdem können hier das Gateway und die DNS-Server bearbeitet werden. Im zweiten Schritt können, per iSCSI bereitgestellte Datenträger, an die NexentaStor-Lösung angebun- den werden. Internet Small Computer System Interface (iSCSI) ist eine Technologie, die die Nutzung des blockbasierten SCSI-Protokolls über das Netzwerk ermöglicht. Damit ist es möglich entfernte, an das Netzwerk angeschlossene Speichergeräte wie lokal angeschlossene Speichergeräte zu nutzen. Auf der dritten Seite des Assisten- ten werden die eingebauten oder angebundenen Laufwerke angezeigt. Der nächste Schritt dient zum Hinzufügen der Laufwerke zu einem neuen Volume. Dabei können, je nach Anzahl der Laufwerke, verschiedene RAID-Level ausgewählt werden. Es ist ebenso möglich Laufwerke als Log- und Cache-Laufwerke zu konfigurieren, um Da- tenzugriffe zu beschleunigen. Da nur ein Laufwerk vorhanden war, musste bei Re- dundanztyp None ausgewählt werden. Es muss ein Name für das neue Volume an- gegeben werden und es können grundlegende Einstellungen wie Deduplizierung, Kompression oder automatisches Anwachsen definiert werden. Eine Importfunktion für bereits existierende Volumes ist auch vorhanden. In Schritt fünf können für die vorher angelegten Volumes Ordner erstellt werden. Auch hier können die Eigen- schaften bearbeitet werden. Es wurde hier die Deduplizierung aktiviert und alles an- dere auf den Standardwerten belassen. Es ist möglich in diesem Schritt auch mehre- re Ordner anzulegen. Nachdem die Ordner mit einem Klick auf Create angelegt wur- den, erscheinen diese auf der Seite ganz oben. Hier kann ausgewählt werden, über welche Protokolle diese Ordner zur Verfügung gestellt werden sollen. Dabei wurde nur CIFS ausgewählt. Auf der sechsten und letzten Seite wird eine Übersicht über die getroffenen Konfigurationen angezeigt und es mit der Schaltfläche Start NMV der

23

Assistent beendet werden. Dadurch gelangt man zur Übersichtsseite der WebGUI und die Lösung ist einsatzbereit.

4.4 Testverfahren Um die Deduplizierungsrate zu ermitteln wurde versucht, einen praxisnahen Daten- mix zu verwenden. Die Testdaten bestanden aus 194.914 Dateien, die auf 20.757 Ordner verteilt waren. Die Gesamtgröße betrug 2,01 TB (2.221.041.700.451 Bytes). Unter den Daten waren ISO-Dateien, Bilder im JPG-Format, Archive, virtuelle Fest- plattendateien (VHD), SQL- und ein Benutzerverzeichnis.

Als Testverfahren wurde folgendes Scenario verwendet. Auf dem physikalischen Server, auf dem als Betriebssystem Windows Server 2012 installiert war, nachfol- gend nur noch als Host bezeichnet, wurde die Freigabe der Deduplizierungslösung als Netzlaufwerk verbunden (Laufwerk Y). Die virtuellen Deduplizierungssysteme werden im Weiteren kurz als VM (virtuelle Maschine) bezeichnet. Nach dem Kopie- ren der Testdaten auf die jeweiligen Laufwerke der VMs, wurden verschiedene Ko- piertests durchgeführt. Dabei war immer nur eine VM aktiv und die anderen ausge- schalten, um sich nicht gegenseitig zu beeinflussen.

Einmal wurde mit dem windowseigenen Programm robocopy.exe ein Verzeichnis mit 28 Dateien und einer Gesamtgröße von 3,994GB von der VM auf den Host kopiert. Danach wurden diese Dateien in ein neues Verzeichnis auf das deduplizierte Lauf- werk der VM zurückkopiert. Dabei wurde jeweils die benötigte Zeit und die daraus resultierende Übertragungsrate in eine Log-Datei geschrieben.

Ferner wurde mit dem Programm ExtremeCopy der Firma Easersoft eine einzelne ISO-Datei mit 3,47GB Größe kopiert. Es kam die portable Standard Edition mit der Versionsnummer 2.0.5 zum Einsatz. Hier wurde ebenso zuerst die Datei von der VM auf den Host und dann zurück in das Wurzelverzeichnis der Freigabe kopiert. Außer- dem wurde die ISO-Datei, bei einem weiteren Kopiervorgang, auf der Freigabe über- schrieben. Damit sollte ein Unterschied der Übertragungsgeschwindigkeit zwischen neuen Daten und bereits vorhandenen Daten festgestellt werden. Die Ergebnisse der Kopiervorgänge wurden in Log-Dateien festgehalten.

Als letzter Vergleich wurde ATTO Disk Benchmark der Firma Atto Technology in der Version 2.47 verwendet. Dieses Programm testet die Schreib- und Lesegeschwindig- keit von Laufwerken. Dabei werden Testdaten in Blöcken zwischen 512 Byte und 8 MB geschrieben und gelesen. Die Ergebnisse werden grafisch dargestellt. Die ge- wählten Einstellungen sollen sicherstellen, dass die Daten direkt und ohne schnelle Zwischenspeicher auf die virtuelle Festplatte geschrieben werden (Direct I/O). Die

24 andere Einstellung, Overlapped I/O, bewirkt, dass mehrere gleichzeitige Zugriffe auf das Testlaufwerk erfolgen. In diesem Fall sind es vier.

4.5 Tests

4.5.1 Win Server 2012 Die VM mit Windows Server 2012 wurde im ersten Test mit einem Prozessorkern und 4 GB Arbeitsspeicher ausgestattet. Das entspricht den Mindestanforderungen (siehe Punkt: Hardware-Anforderungen der Lösungen). Die Kapazität, belegter und freier Speicherplatz des Deduplizierungslaufwerkes sind in Abbildung 10 zu sehen.

Abbildung 10 Laufwerkseigenschaften vor Deduplizierung

Dann wurde die Deduplizierung auf dem Laufwerk aktiviert. Die Deduplizierung kann, wie in Punkt 4.3.1 beschrieben, über den Server-Manager aktiviert werden. Es ist auch möglich dies über die PowerShell zu tun. Dafür wurde der Befehl:

 Set-DedupVolume E: -MinimumFileAgeDays 0 ausgeführt. Dieser bewirkt, dass die Deduplizierung aktiviert wird und das Alter der Dateien null Tage betragen muss, bevor diese dedupliziert werden. Es können noch weitere Parameter angegeben werden, aber diese waren nicht Bestandteil des Tests. Den Erfolg des Befehls kann mit Get-DedupVolume überprüfen. Dazu muss in der linken Spalte, Enabled, ein True bei dem entsprechenden Laufwerk stehen. Damit

25 die Daten dedupliziert werden muss noch ein Deduplizierungsauftrag gestartet wer- den. Dies geschieht mittels:

 Start-DedupJob E: -Type Optimization -Wait

Der Type-Parameter bedeutet in diesem Fall Deduplizieren. Mit dem Parameter Wait wartet die PowerShell auf die Beendigung der Deduplizierung und zeigt eine einfa- che Fortschrittsanzeige. Man kann alle ausgeführten Deduplizierungsaufträge auch in der Ereignisanzeige nachverfolgen. Dazu muss zu dem Punkt:

 Eventlog  Anwendungs- und Dienstprotokolle  Microsoft  Windows  Deduplication  Operational navigiert werden. Dort konnte eine Gesamt-Deduplizierungszeit von 18:20:50 hh:mm:ss ermittelt werden. Damit liegt die Deduplizierungsrate mit ca. 108 GB/h leicht über den Angaben von Microsoft (100 GB/h). Der Prozessor war zu dieser Zeit durchschnittlich zu 97% ausgelastet. Der Arbeitsspeicher war mit 65% nicht voll ausgelastet und der Deduplizierungsprozess belegte ca. 628 MB der 4 GB Gesamtkapazität. Durch die Deduplizierung konnten insgesamt 1,22 TB Speicher- platz eingespart werden, wie in Abbildung 11 sehen ist. Über die Hälfte der Daten- menge konnte somit eingespart werden.

Abbildung 11 Laufwerkseigenschaften nach Deduplizierung

Nach der Ermittlung der Einsparung waren die Übertragungstests an der Reihe. Das Herunterladen der Testdaten mit robocopy hat 37s gedauert, was mit einer Übertra- 26 gungsrate von 114,48 MB/s einhergeht. Beim Kopieren der Testdaten auf das de- duplizierte Laufwerk kamen 116,98 MB/s zu Stande. Das liegt nah an der maximalen theoretischen Übertragungsrate einer 1GBit/s-Verbindung. Diese liegt bei 125 MB/s (1000 MBit/8).

Der zweite Kopiertest mit ExtremeCopy lieferte folgende Ergebnisse:

 VM zu Host: 33.3 MB/s  Host zu VM: 82.9 MB/s  Host zu VM überschreiben: 93.8 MB/s

Das Programm ATTO Disk Benchmark lieferte die in Abbildung 12 zu sehenden Er- gebnisse.

27

Abbildung 12 ATTO Disk Benchmark - Windows Server 2012

Da bei der vorherigen Konfiguration nur ein Prozessorkern benutzt wurde und dieser während der Deduplizierung fast vollständig ausgelastet war, wurde ein zweiter Test mit dieser Lösung durchgeführt. Dieses Mal mit zwei Prozessorkernen. Bei der De- duplizierung war kein Unterschied auszumachen. Der Prozessor war in Spitzen zu 53% ausgelastet. Dies bestätigt die Aussage von Microsoft, dass ein Deduplizie- rungsauftrag nur einen Prozessorkern benötigt. Die Übertragungsraten mit robocopy waren mit 114,13 MB/s im Download und 117,08 MB/s im Upload so gut wie iden- tisch mit denen des ersten Tests.

28

ExtremeCopy verbesserte sich leicht:

 VM zu Host: 42,9 MB/s  Host zu VM: 108 MB/s  Host zu VM überschreiben: 108 MB/s

Der ATTO Disk Benchmark bot ein ähnliches Bild wie mit einem Kern (siehe Abbil- dung 13).

Abbildung 13 ATTO Disk Benchmark - Windows Server 2012 (2 Kerne)

29

Es sei noch anzumerken, dass ein Löschen von Daten auf einem deduplizierten Laufwerk unter Windows Server 2012 nicht zu einer sofortigen Freigabe des Spei- cherplatzes führt. Die Leerung des Papierkorbes wurde dabei vorgenommen. Der Speicher wird erst mit der einmal in der Woche laufenden Garbage-Collection- Aufgabe (Müll einsammeln) frei. Dabei werden die nicht mehr referenzierten Chunks aus dem chunk store entfernt und so der Speicher wieder freigegeben. Dies kann auch per PowerShell erfolgen, indem folgender Befehl abgesetzt wird:

Start-DedupJob E: -Type GarbageCollection .

4.5.2 FreeNAS FreeNAS wurde mit einem Prozessorkern und 8 GB Arbeitsspeicher betrieben. Es ist im Nachhinein nicht mehr Auszumachen, warum nicht die mindestens empfohlenen 10 GB Arbeitsspeicher verwendet wurden. Außerdem war es nicht mehr möglich, diesen Test nachzuholen.

Da die Deduplizierung in-line erfolgte, musste sie nach dem Kopieren der Daten nicht erst aktiviert werden. Man konnte das Ergebnis der Deduplizierung sofort in Augen- schein nehmen. Das WebGUI von FreeNAS ist dabei nicht sehr aussagekräftig wie in Abbildung 14 zu sehen ist. Einzig die Zahl 1,8 TiB in der Spalte Benutzt lässt auf eine Speicherplatzeinsparung schließen.

Abbildung 14 Speicherbelegung FreeNAS

Erst der Aufruf der Kommandozeile (Shell), welche sich am unteren Ende der Baum- struktur auf linken Seite befindet, bringt Details ans Licht. Der Befehl zpool list zeigt die Deduplizierungsrate an (siehe Abbildung 15). Damit lässt sich die Deduplizie- rungsrate berechnen. Sie beträgt ≈ 21% [100 - (100 / 2,01 * 1,58)]. Durch die De- duplizierung wurden ca. 430 GB (2,01 TB - 1,58 TB) an Speicherplatz eingespart.

30

Abbildung 15 Deduplizierungsrate FreeNAS

Danach folgten die Kopiertests. Mit robocopy wurden 45,13 MB/s im Download und 33,1 MB/s im Upload auf die FreeNAS-VM im Durchschnitt ermittelt.

Mit dem Programm ExtremeCopy kamen folgende durchschnittliche Übertragungsra- ten zu Stande:

 VM zu Host: 25,3 MB/s  Host zu VM: 40,5 MB/s  Host zu VM überschreiben: 41 MB/s

Die Ergebnisse von ATTO Disk Benchmark kann man in Abbildung 16 sehen.

31

Abbildung 16 ATTO Disk Benchmark - FreeNAS

4.5.3 NexentaStor Um einen direkten Vergleich mit dem ebenfalls auf dem ZFS-Dateisystem basieren- den FreeNAS zu ermöglichen, wurde die NexentaStor-Lösung ebenfalls mit einem Prozessorkern und 8 GB Arbeitsspeicher konfiguriert. Die erzielten Deduplizierungs- ergebnisse können in Abbildung 17 und Abbildung 18 gesehen werden. Hier gilt es zu Differenzieren. Abbildung 17 zeigt das Dataset mit dem Namen Nexenta. Man kann erkennen, dass 1,4 TB Daten gespeichert wurden. Dass die Komprimierungsra- te (compressratio) 1,39x beträgt, ist der standardmäßigen Aktivierung der Kompres- sion geschuldet. Von der Deduplizierungsrate ist nichts zu sehen. 32

Abbildung 17 Speicherbelegung NexentaStor

Die Deduplizierungsrate ist nur auf der Übersichtsdarstellung des Storage-Pools zu sehen (siehe Abbildung 18). Sie wird hier mit 1,11x angezeigt. Damit ist sie fast ge- nauso groß wie bei FreeNAS. Dass hier trotzdem weniger Speicher beansprucht wird, liegt an der Komprimierung. Der gesamte eingesparte Speicher beträgt 740 GB (2,01 GB - 1,27 GB). Die Deduplizierungsrate (plus Komprimierung) liegt mit dieser Konfiguration und nach der Formel 100 - (100 / 2,01 * 1,27) bei ca. 37%.

33

Abbildung 18 Deduplizierungsrate NexentaStor

Die Kopiertests mit robocopy hatten folgende Übertragungsraten hervorgebracht. Der Download der Testdaten erfolgte mit 65,64 MB/s. Beim Upload hin zur NexentaStore- Lösung kam eine Übertragungsrate von 41,35 MB/s zu Stande.

ExtremeCopy lieferte folgende Übertragungsraten:

 VM zu Host: 31,8 MB/s  Host zu VM: 46,3 MB/s  Host zu VM überschreiben: 47,7 MB/s 34

Auch hier wurde ATTO Disk Benchmark verwendet. Die Ergebnisse zeigt Abbildung 19.

Abbildung 19 ATTO Disk Benchmark – NexentaStor

Auch hier wurde eine Konfigurationsänderung auf zwei Prozessorkerne vorgenom- men, um die Kopiertests zu wiederholen. Im robocopy-Benchmark stiegen die Über- tragungsraten an. Dabei wurden 88,7 MB/s im Download und 73,75 MB/s im Upload gemessen.

35

Bei ExtremeCopy bot sich folgendes Bild:

 VM zu Host: 43,4 MB/s  Host zu VM: 67,8 MB/s  Host zu VM überschreiben: 69,9 MB/s

Die Ergebnisse des ATTO Disk Benchmark veränderten sich nur geringfügig, wie Abbildung 20 zeigt.

Abbildung 20 ATTO Disk Benchmark - NexentaStor (2 Kerne)

36

4.6 Bewertung Die Abbildung 21 zeigt die Deduplizierungsraten der einzelnen Lösungen. Dabei ist zu beachten, dass bei NexentaStor zusätzlich die Komprimierung aktiviert ist. Dies hat zum einen eine größere Einsparung an Speicherplatz zur Folge, aber kostet zu- sätzlich Rechenleistung. Ohne Komprimierung wären die FreeNAS- und die Nexen- taStor-Lösung bei den Deduplizierungsraten gleichauf. Für die NexentaStor wären ohne Komprimierung höhere Datenraten möglich gewesen, da die komprimierten Daten bei jedem Zugriff durch den Prozessor verarbeitet werden müssen. Bei lang- sam drehenden Festplatten kann die Komprimierung dafür einen Geschwindigkeits- vorteil bringen, da dadurch weniger Daten auf den Datenträger geschrieben werden müssen. Für einen weiteren Test stand die Hardware nicht mehr zur Verfügung.

Speicherplatzeinsparung in % 70 59 60

50

40 37

30 21 20

10

0 Windows Server 2012 FreeNAS NexentaStor

Abbildung 21 Speicherplatzeinsparung

Die niedrigsten Übertragungsraten lieferte der FreeNAS-Server. Die nächst schnelle- re Lösung war NexentaStor und der mit Abstand schnellste war der Windows Server 2012. Eine Übersicht der Übertragungsraten zeigen die Diagramme in den Abbildung 22 und Abbildung 23. Dabei ist zu beachten, dass die Raten beim Windows Server 2012 sehr nach am Limit der Netzwerkverbindung liegen und dort evtl. noch höhere Geschwindigkeiten möglich wären. Auch hier war nicht genügend Zeit vorhanden, um Link Aggregation, eine Möglichkeit mehrere Netzwerkanschlüsse zu einem logischen zusammenzufassen, zu implementieren und zu testen. Diese Funktion beherrschen alle drei Testkandidaten.

37

robocopy 117,08

125 116,98

114,48 114,13

100

88,7 73,75

75 65,64

Download MB/s

50 45,13

41,35 Upload MB/s 33,1

25

0 Server 2012 Server 2012 FreeNAS NexentaStor NexentaStor (1 Core) (2 Cores) (2 Cores)

Abbildung 22 Diagramm robocopy

Dass die Transferraten mit ExtremeCopy niedriger liegen als bei robocopy könnte mit der Version von ExtremeCopy zusammenhängen. Die hier verwendete Version ist laut Hersteller nicht für Windows 8 / Server 2012 vorgesehen. Wie in dem Diagramm in Abbildung 23 zu sehen, profitieren vor allem die Downloadraten von mehr Prozes- sorkernen. FreeNAS war auch hier wieder die langsamste Lösung, wenn auch nicht so viel Rückstand zu NexentaStor herrschte.

ExtremeCopy

125

108 108

100 93,8

82,9 69,9

75 67,8

VM2Host MB/s 47,7

46,3 Host2VM MB/s 43,4

50 42,9

41

40,5 33,3

31,8 Host2VM_ü MB/s 25,3 25

0 Server 2012 Server 2012 FreeNAS NexentaStor NexentaStor (1 Core) (2 Cores) (2 Cores)

Abbildung 23 Diagramm ExtremeCopy

38

Die Testergebnisse des ATTO Disk Benchmark sind ab einer Transfergröße von 64 KB relativ konstant. Darunter ist die Performance für Festplatten typisch, da kleine Dateien auf der Festplatte verstreut gespeichert werden. Dafür muss der Schreib- /Lesekopf der Festplatte ständig neu positioniert werden. Das kostet Zeit. Die größe- ren Transfergrößen werden in Blöcken hintereinander geschrieben, was in einem kontinuierlichen Schreibvorgang erfolgt und daher schneller ist. FreeNAS, welches eine sehr große Differenz zwischen Lese- und Schreibrate aufwies, war auch hier Performance-Schlusslicht. Die Leseraten konnten annähernd mit denen der Konkur- renzprodukte mithalten, auch wenn bei 128 KB Transfergröße ein Einbruch der Lese- rate vorlag.

Ein weiterer Test mit NexentaStor, wobei diese Lösung mit vier Prozessor-Kernen und 32 GB Arbeitsspeicher konfiguriert war, begann vielversprechend. Es sollte der Einfluss der voreingestellten Blockgröße von 128 KB im Vergleich zu einer Blockgrö- ße von 32 KB ermittelt werden. Zu Beginn des Kopiervorganges, indem das Dataset mit den 2 TB Daten gefüllt wurde, waren die Übertragungsraten hoch. Nach einer gewissen Zeit brachen diese drastisch ein. Gleichzeitig meldete die Appliance wenig freien Arbeitsspeicher, womit der Grund für die Verlangsamung gefunden war. Durch die kleinere Blockgröße hatte sich die Anzahl der Einträge in der DDT vervierfacht und die DDT größer als der zur Verfügung stehende Arbeitsspeicher anschwellen lassen. Dadurch musste ein Teil der DDT auf die viel langsamere Festplatte ausge- lagert werden, was den Geschwindigkeitseinbruch erklärt. Hier hätte nur noch mehr Arbeitsspeicher geholfen. Wenn man davon ausgeht, dass für Datenbanken und VMs eine Blockgröße von 8 KB empfohlen wird, ist die Herstellerangabe von mindes- tens 192 GB Arbeitsspeicher durchaus als realistisch zu betrachten. Der Test wurde vorzeitig abgebrochen, weil die Hardware anderweitig benötigt wurde. Ein Blick auf die Speichereinsparung verriet aber, dass diese mit ca. 42% nur fünf Prozent über der im ersten Test lag. Da nicht alle Daten kopiert wurden, kann man diese Zahlen nicht direkt vergleichen. Es ist möglich, dass die restlichen zu kopierenden Daten den Duplizierungsfaktor noch weiter hätten ansteigen lassen. Eine Verringerung der De- duplizierungsrate wäre aber ebenso möglich.

Einzig beim Preis kann FreeNAS punkten. Wie in Abbildung 24 zu sehen, ist FreeNAS kostenlos. Der Preis für Hardware ist hier außen vor, da alle Lösungen zu- sätzlich Hardware benötigen, um betrieben werden zu können. Einzig der Preis für eine große Menge Arbeitsspeicher ist für die auf dem ZFS-Dateisystem aufbauenden Lösungen einzukalkulieren. Die Preise von Windows Server 2012 sind von der An- zahl der CALs, aber nicht von der Größe der zu verwaltenden Daten abhängig. Bei NexentaStor ist dies genau andersherum. Hier ist mit der Lizenz eine unbegrenzte Anzahl gleichzeitiger Zugriffe auf die Appliance möglich. Es müssen die Speicherka-

39 pazitäten entsprechend lizenziert werden. Die Lizenzkosten können sich bei sehr großen Datenmengen auf über 100.000€ belaufen.

Preis Windows Server NexentaStor FreeNAS 2012 8 TB 32 TB 1024 TB Basislizenz 596,00 € - € 2.146,00 € 5.346,00 € 147.905,00 € 5 CALs (gemittelt) 127,95 € - € - € - € - €

Gesamtpreis für Rohkapazität und 25 Zugriffslizenzen 1.235,75 € Rohkapazität und 100 - € 2.146,00 € 5.346,00 € 147.905,00 € Zugriffslizenzen 3.155,00 € Rohkapazität und 250 Zugriffslizenzen 6.993,50 €

Abbildung 24 Preisübersicht

Zusammenfassend sind in Abbildung 25 die Ergebnisse dieser Arbeit zusammenge- fasst.

Bewertung Windows Server FreeNAS NexentaStor 2012 Deduplizierungsrate 2 1 1 Geschwindigkeit 2 0 1 Preis 1 2 0 Benutzeroberfläche 2 0 1 Hardwareanforderungen 2 0 0

Gesamt 9 3 3 Abbildung 25 Bewertung Die maximale Punktzahl von zwei Punkten pro Bewertungsdisziplin beträgt zwei Punkte. Diese wurden dem Produkt mit den jeweilig höchsten Raten (Übertagung, Deduplizierung) oder dem günstigsten Preis zugeordnet. Bei der Benutzeroberfläche zählten der Aufbau und der Informationsgehalt der angezeigten Daten. Da sich Windows Server 2012 mit nur einem Prozessorkern und 4 GB Arbeitsspeicher be- gnügt, steht ihm die volle Punktzahl zu. Dass FreeNAS und NexentaStor je einen Punkt in der Kategorie Deduplizierungsrate erhielten, liegt an den fast identischen reinen Deduplizierungsraten. NexentaStor hatte nur auf Grund der Komprimierung noch mehr Speichereinsparung. Diese kann bei FreeNAS ebenso erwartet werden, das beide auf der gleichen Dateisystem-Technologie aufbauen.

40

5 Schlussfolgerungen für den Praxiseinsatz Gern wäre in dieser Arbeit noch auf andere Lösungsansätze eingegangen worden, aber die anderen Lösungen disqualifizierten sich entweder mit zu geringen Speicher- kapazitäten oder es war schlicht nicht möglich eine Teststellung zu bekommen. Zum Abschluss kann behauptet werden, dass Deduplizierung ein großes Einsparpotential an Speicherplatz hervorbringen kann, wenn die geeignete Technologie für die jewei- ligen Daten verwendet wird. Dies hat aber seinen Preis, Rechenleistung und Arbeits- speicher. Die ressourcenschonendste Lösung stellt hier der Windows Server 2012 dar. Er bot außerdem die höchsten Deduplizierungsraten und die schnellsten Über- tragungsraten beim Zugriff auf die Daten. Die anderen beiden Lösungen können, zumindest für den Einsatz in Produktivumgebungen, nicht empfohlen werden. Da wären einerseits der hohe Arbeitsspeicherbedarf und andererseits vor allem die nied- rigeren Deduplizierungsraten. Für den Heimbereich kann die Community-Version von NexentaStor empfohlen werden, sofern genügend Arbeitsspeicher zur Verfügung steht. Diese ist kostenlos und kann, völlig ausreichende, 18 TB Speicherplatz verwal- ten. In der Kürze der Testzeit konnte nicht auf die Langzeitperformance und die Feh- leranfälligkeit getestet werden. Da die Deduplizierung eine noch relativ neue Techno- logie ist, sie wurde beim Windows Server erst mit der Version 2012 eingeführt, ist eine weitere Verbesserung der Algorithmen in kommenden Versionen zu erwarten. Da in Unternehmen, die auf Windows Server setzen, meist die Lizenzen für das Be- triebssystem und den Zugriff darauf, vom Microsoft Volumen-Lizenzprogramm abge- deckt werden, entstehen dort nicht einmal Zusatzkosten. Somit kann der Windows Server 2012 für diese Unternehmen empfohlen werden.

41

Quellenverzeichnis

Betriebssysteme und Server, Jacob Elektronik GmbH. 2013 In: http://direkt.jacob- computer.de/betriebssysteme-und-server-software_gruppe_12304.html

Computer appliance, Wikipedia. 2013 In: http://en.wikipedia.org/wiki/Computer_appliance/

Deduplizierung, Wikipedia. 2013 In: http://de.wikipedia.org/wiki/Deduplizierung

LAVIGNE, Dru: FreeNAS 9.1.0 Users Guide. 2013 In: http://www.freenas.org/images/resources/freenas9.1.0/freenas9.1.0_guide.pdf

Introduction to Windows Server 2012 Foundation, Microsoft TechNet. 2013 In: http://technet.microsoft.com/en-us/library/jj679892.aspx

Introducing ZFS Properties, Oracle. 2013 In: http://docs.oracle.com/cd/E26502_01/html/E29007/gazss.html

JOHNSON, Scott M.: Introduction to Data Deduplication in Windows Server 2012, 2012. In: http://blogs.technet.com/b/filecab/archive/2012/05/21/introduction-to-data- deduplication-in-windows-server-2012.aspx

NexentaStor, Nexenta Systems Inc. 2013 In: http://www.nexenta.com/corp/products/nexentastor

Nexenta OS, Wikipedia. 2013 In: http://en.wikipedia.org/wiki/Nexenta_OS

42

Planen der Datendeduplizierungsbereitstellung, Microsoft TechNet. 2013 In: http://technet.microsoft.com/de-de/library/hh831700.aspx

POELKER, Christopher, NIKITIN, Alex: for Dummies, 2nd Edi- tion. Indianapolis, USA, 2009

RAIDZ Configuration Requirements and Recommendations, Solaris Internals. 2013 In: http://www.solarisinternals.com/; ZFS Best Practices Guide, 1.2.2 RAIDZ Configu- ration Requirements and Recommendations

TrueNAS Unified Storage, iXsystems Inc. In: http://www.ixsystems.com/storage/ix/truenas/

What Is ZFS?, Oracle. 2010 In: http://docs.oracle.com/cd/E19082-01/817- 2271/zfsover-1/index.html

Windows Server 2012 Editionen, Microsoft. 2013 In: http://www.microsoft.com/de- de/server/windows-server/2012/editionen.aspx#263

Working with File Systems, Microsoft TechNet. 2005 In: http://technet.microsoft.com/de-de/library/bb457112(en-us).aspx

ZFS Data Deduplication Requirements, Oracle. 2012 In: http://docs.oracle.com/cd/E23824_01/html/E24456/filesystem-6.html

ZFS (Dateisystem), Wikipedia. 2013 In: http://de.wikipedia.org/wiki/ZFS_(Dateisystem)/

43

Ehrenwörtliche Erklärung

„Ich erkläre hiermit ehrenwörtlich“,

1. Dass ich meine Bachelorthesis mit dem Thema

Marktanalyse verschiedener Deduplizierungslösungen

ohne fremde Hilfe angefertigt habe,

2. dass ich die Übernahme wörtlicher Zitate aus der Literatur sowie die Ver- wendung der Gedanken anderer Autoren an den entsprechenden Stellen innerhalb der Arbeit gekennzeichnet habe und

3. dass ich meine Bachelorthesis bei keiner anderen Prüfung vorgelegt ha- be.

Ich bin mir bewusst, dass eine falsche Erklärung rechtliche Folgen haben wird.

______

Ort, Datum Unterschrift

44

Thesen

1. Mit Deduplizierung kann Speicherplatz eingespart werden.

2. Für Deduplizierung ist schnelle und ausreichend dimensionierte Hardware er- forderlich.

3. Deduplizierung ist teuer.

4. Das ZFS-Dateisystem ist besser als NTFS, welches in Windows benutzt wird.

5. Deduplizierung ist ausgereift.

45