Wie wir den WD ActiveScale P100 für unseren S3-Speicher getestet haben

Wir testen regelmäßig neue Hard- und Software zur Verwendung in unseren Diensten. Sie möchten immer mehr Funktionen zu einem vernünftigen Preis. Heute werde ich Ihnen erzählen, wie wir das Western Digital ActiveScale P100-Gerät verstanden und es für unseren S3-Speicher anprobiert haben.

Ab sofort ein kleiner Haftungsausschluss: Wir haben das Produkt auf seine Verwendung im öffentlichen Dienst getestet. Vielleicht blieben einige Funktionen übrig, die für den privaten Gebrauch interessant und wichtig sind.


Dies ist ActiveScale P100 im April 2019 vor der Installation im OST-Rechenzentrum.

Jetzt läuft unser S3 auf Cloudian HyperStore 7.1.5. Diese Version bietet 98% Kompatibilität mit Amazon APIs. Die aktuelle Lösung bietet alles, was wir als Dienstleister und für unsere Kunden benötigen. Deshalb haben wir nicht weniger nach Alternativen gesucht.

Diesmal fiel uns die Software- und Hardwarelösung Western Digital ActiveScale in die Hände. Der Anbieter positioniert es als Lösung für die Organisation eines S3-Clusters.

So sieht es aus:


ActiveScale P100 ist in einer der Hallen des OST-Rechenzentrums installiert.

Die drei obersten Einheiten sind Steuerknoten. Die folgenden sechs Einheiten sind Knoten zum Speichern von Daten. Jeder der sechs Knoten enthält 12 Festplatten mit jeweils 10 TB. Insgesamt 720 TB "rohe" Kapazität. Der Komplex umfasst auch 2 Netzwerkgeräte. Für jeden Knoten - 2 Links von 10G. Insgesamt sind für diese Entscheidung 11 Einheiten im Rack erforderlich.

Wir haben ActiveScale durch Auslastungstests geführt: Ein Skript hat eine andere Anzahl von Dateien unterschiedlicher Größe generiert, versucht, sie im Singlethread- und Multithread-Modus hochzuladen, und die Ausführungszeit von Befehlen zum Hochladen und Löschen von Dateien aufgezeichnet. Dieser Test war künstlich: Er wurde von einem Computer mit einem SSD-Laufwerk, viel Speicher und einem Prozessor mit einer Frequenz von 3,2 GHz mit einer begrenzten Kanalbreite von 100 Mbit / s durchgeführt. Trotzdem haben wir die Ergebnisse eines ähnlichen Tests für die aktuelle Lösung und die erzielten Ergebnisse lagen über unseren Erwartungen.

Test
Objektgröße
Anzahl der Objekte
Anzahl der Threads
Durchschnittsgeschwindigkeit
Ladezeit
Entfernungszeit *
1
10 Kb
100.000
1
104 kb / s
2 h 40 m
6 m 58 s
2
10 Kb
100.000
20
11 MB / s
35 m 4 s
11 m 38 s
3
1 Mb
100.000
1
5 MB / s
5 h 55 m
7 m 16 s
4
1 Mb
100.000
20
11 MB / s
2 h 31 min
7 m 26 s
5
10 GB
1
1
10 MB / s
16 m 5 s
3 s
6
10 GB
1
20
10 MB / s
16 m 2 s
3 s
Stresstestergebnisse.

* Beim Löschen wird ein Objekt nur zum Löschen markiert. Die Entfernung selbst erfolgt einmal täglich. Wenn der Cluster fast voll ist, kann dies das Kapazitätsmanagement erschweren, da keine aktuellen Informationen zu den verwendeten Ressourcen vorliegen.

Die Amazon S3-Kompatibilität wurde auf standardmäßige Weise getestet. Hier ist einer der Tests, die ich verwendet habe.

Zum Zeitpunkt des Tests verfügten wir über die grundlegendste Dokumentation, sodass wir uns unabhängig voneinander mit dem Gerät dieser „Black Box“ befassten - über die Admin-Weboberfläche, die API und den physischen Zugriff.

Was wurde in gefunden


Admin-Oberfläche Auf der Hauptseite finden Sie zusammenfassende Informationen zu Clustergrößen und Arbeitsmetriken, Statistiken zu Objekten, Benutzern, Buckets und Speicherrichtlinien.



Benutzeroberfläche Im S3-Dienst ist dies erforderlich, damit der Administrator auf der Clientseite Benutzer hinzufügen / entfernen, Zugriffsschlüssel für sie generieren, Benutzer zitieren usw. Der P100 verfügt nicht über diese, aber nach unserem Feedback plant der Anbieter, sie zu implementieren.

Benutzer- / Rollenverwaltung. Um einen öffentlichen Dienst zu organisieren, müssen wir Benutzer mit unterschiedlichen Zugriffsrechten erstellen können. P100 weist diesbezüglich erhebliche Einschränkungen auf:

  • Sie können nur einen Systembenutzer erstellen, dh einen Cluster-Administrator. Mehr - nur durch Integration mit Active Directory.
  • Benutzer können nicht gruppiert und einem Administrator zugewiesen werden. Dies macht es uns unmöglich, eine öffentliche Dienstleistung zu erbringen.
  • Der Benutzer kann nicht dauerhaft gelöscht werden. Wenn der neue Benutzer denselben Benutzernamen hat, müssen Sie kreativ sein.
  • Das Festlegen von Kontingenten für Benutzer (Volumen, Anzahl der Transaktionen usw.) ist nur über die CLI möglich.

Abrechnung. Der P100 ist sofort einsatzbereit, und dies ist der größte Nachteil für uns als Dienstleister. Wir haben ein kommerzielles Produkt, und wir müssen Kunden irgendwie in Rechnung stellen. P100 verfügt über Statistikprotokolle, die stündlich über das Admin-Panel entfernt werden können. Theoretisch können Sie sie analysieren, die erforderlichen Daten herausnehmen und eine Berechnung für sie durchführen. Diese Protokolle werden jedoch nur 30 Tage gespeichert. Was in Situationen zu tun ist, in denen der Kunde bittet, das Konto für die vorherigen Monate zu überprüfen, ist nicht klar.

Festlegen eigener Regeln zum Speichern von Objekten. Der P100 hat bereits die folgenden Einstellungen erhalten: Dateien, die kleiner als der Block (20 KB) sind, werden im Löschcode (EC) 6 + 2-Modus gespeichert. Dateien, die größer als Chunk sind, werden im EC 13 + 4-Modus gespeichert. Der P100 bestimmt selbst die Dateigröße und wählt den entsprechenden Modus aus.

Zum einen hat der P100 mehr Möglichkeiten. Auf der anderen Seite sind alle Einstellungen für Speicherregeln für den Replikationsfaktor und den Löschcode nur in der Phase der Clusterbereitstellung möglich. Später im laufenden Betrieb ist es nicht mehr möglich, neue Datenspeicherregeln hinzuzufügen oder bestehende zu ändern. Dies muss beim Erweitern des Clusters erfolgen, damit die Effizienz und Zuverlässigkeit des Speichers optimal ist.


Erasure Code Speicherleistungstabelle.

Native CLI \ AdminAPI. Zur Verwaltung des Clusters verfügt der P100 über eine CLI, die jedoch nur für Ubuntu (wir verwenden Red Hat) geschrieben und getestet wurde. Es bietet keine wesentlichen Vorteile gegenüber der Interaktion durch Curl-Anforderungen (put, get, post), es gibt jedoch einige Funktionen zum Verwalten des Clusters.

Unterstützung für die grundlegende AWS S3-API und AWS CLI. Dies ist nur ein Indikator für die Kompatibilität mit der Amazon API. Einfach ausgedrückt, ist es in dieser Lösung möglich, die Befehle für Amazon S3 zu verwenden. Erfahrungsgemäß schwankt dieser Indikator im Durchschnitt zwischen 50 und 70%.

P100 erreichte laut Testergebnis 58%. Es war nicht möglich, Kompatibilitätstests für das Zuweisen von Zugriffsrechten zu einzelnen Objekten durchzuführen, da Sie in der P100-Lösung den allgemeinen Zugriff nur einem Bucket und nicht einem separaten Objekt zuweisen können. Es gibt auch kein IAM (Identity and Access Management). Infolgedessen liegt die Kompatibilität näher bei 50%.


Aus den Testergebnissen.

Betriebssystemverwaltung. Entsprechend der Spezifikation erscheint ActiveScale OS 5.x.Anhand der Protokolle und Ordner, die über die Weboberfläche verfügbar sind, habe ich herausgefunden, dass es höchstwahrscheinlich auf einer Debian-Distribution basiert. Während des Tests konnten keine Methoden zur Selbstverwaltung von Updates, zur Installation kritischer Sicherheitsupdates, Ihrer Überwachungsagenten usw. gefunden werden. Muss unbedingt den technischen Support von P100 kontaktieren, wenn eine speziell geschulte Person abreist.

Die Anzahl der Bucket pro Benutzer. In solchen Diensten kann der Benutzer normalerweise bis zu 100 Buckets erstellen, eine Art „Ordner“ zum Speichern von Dateien. Im Allgemeinen reicht dies aus, aber die Praxis zeigt, dass es nicht viele Eimer gibt. Beim P100 sind 100 Eimer das Maximum. In unserer aktuellen Lösung kann der Benutzer 1000 Eimer erstellen.

Festlegen von Zugriffsrechten für Bucket und Objekte. In P100 können Sie Zugriff auf einen bestimmten Bereich, aber nicht auf ein bestimmtes Objekt gewähren. Letzteres wird häufig von Benutzern verwendet, da Sie damit die Anzahl der Downloads und den Zeitpunkt des Herunterladens begrenzen können.

Cluster- / Benutzer- / Bucket-Statistiken. Wir benötigen diese Informationen, um die Clusterauslastung zu verfolgen und nicht den Moment zu verpassen, in dem wir durch Ressourcen an die Obergrenze gelangen.

In der Benutzeroberfläche können Sie Statistiken zu Benutzern und Buckets in nahezu Echtzeit anzeigen (die Informationen werden einmal pro Stunde aktualisiert).



Es kann über einen speziellen System-Bucket heruntergeladen werden, aber in der heruntergeladenen Form wird anstelle von E-Mail oder Benutzernamen eine UUID angezeigt. Sie müssen also irgendwie vergleichen, welche Art von Benutzer sich hinter bestimmten UUIDs versteckt. Dies ist kein Problem, wenn es 10 Benutzer gibt, aber wenn mehr?

Selbstdiagnose. Der P100 kann über SNMP den gesamten Eisenteil des Clusters abfragen und auf einem Dashboard anzeigen. Beispielsweise können Sie die Fülle und Temperatur von Festplatten, die Speichernutzung usw. anzeigen.


Informationen zum Status des Systemknotens.


Informationen zum Status von Festplatten. Wenn ein Laufwerk ausfällt, können Sie die Hintergrundbeleuchtung einschalten, um es schnell zu finden und zu ersetzen.


Parameter zum Laden der CPU und des Speichers im Cluster.

Benutzeraktionen protokollieren. Es ist nicht da, was bedeutet, dass es nicht einfach ist, die Situationen zu verstehen, in denen "wer die Datei gelöscht und sie gelöscht hat".

Unterstützt SSE / SSE-C. P100 unterstützt die Verschlüsselung, aber mit Einschränkungen: Sie müssen einen separaten Lizenzschlüssel anfordern, und das ist zusätzliches Geld.

Load Balancer. Es ist eingebaut, vermutlich HAProxy wert. Sie müssen es auf ein Minimum konfigurieren: Geben Sie einfach die eingehenden und ausgehenden IP-Adressen an.

Automatisierung von Eingabe- / Ausgabeprozessen von Knoten oder Platten auf Knoten. Dies ist hilfreich, wenn ein Knoten in einem Cluster unterbrochen wird und außer Betrieb genommen werden muss. Jetzt haben wir für solche Situationen eine vorgefertigte Lösung. Ich habe im P100 keinen solchen Mechanismus gefunden. Sie können einen separaten Knoten nur über die Admin-Weboberfläche deaktivieren. Höchstwahrscheinlich müssen Sie den Ingenieur des Anbieters einladen.

S3 Gate Appliance. Mit dieser Softwarelösung können Sie ftp / nfs / samba-gate auf der Clientseite bereitstellen und die Dateien, die in S3 enthalten sein sollen, dort ablegen. Eine praktische Sache, wenn der Endbenutzer nicht weiß, wie man S3 benutzt. Leider hat die P100 dies nicht an Bord.

Arbeitsanwendung Ports. Beim P100 sind nur die Standardports für S3 verfügbar - 80, 443.

Benutzerdokumentation. Es gibt nur API-Dokumentation.

Administrative Dokumentation. Vom Verkäufer auf Anfrage zur Verfügung gestellt.

Nicht getestet, aber vom Verkäufer deklariert


Mehrere Endpunkte. Wir kamen mit einer fertigen Installation an, bei der nur ein Endpunkt pro Cluster bereits konfiguriert war. Änderung fehlgeschlagen.

Geo-Reservierung. Mit dieser Option können Daten an drei Standorten repliziert und Kunden zu Sicherungsstandorten gewechselt werden. Wir hatten nur einen Cluster, daher war ein Test nicht möglich.

Integration mit AD. Deklariert, aber wir verwenden kein AD in Bezug auf S3, daher haben wir nicht getestet.

Schlussfolgerungen


Generell hat der WD ActiveScale P100 einen positiven Eindruck hinterlassen: Er funktioniert „out of the box“, schnell und ist gleichzeitig sehr akzeptabel. Dies ist jedoch eine private Lösung, mit der noch kein öffentlicher S3-Dienst erstellt werden kann. Hier ist die Hauptsache, dass wir nicht genug hatten:

  • Es gibt keine Möglichkeit, Benutzergruppen zu erstellen und einen Administrator für diese einzurichten.
  • keine grafische Benutzeroberfläche;
  • keine Abrechnung;
  • Aufnahme zusätzlicher Funktionen nur durch Aufruf an den Verkäufer;
  • Die Unfähigkeit, unterschiedliche Speicherrichtlinien beizubehalten und sie in Abhängigkeit von den aktuellen Aufgaben verschiedenen Benutzergruppen innerhalb desselben Clusters zuzuweisen.

Der Verkäufer nahm alle Wünsche auf der Grundlage von Tests an. Vielleicht wird in naher Zukunft einer von ihnen realisiert.

Source: https://habr.com/ru/post/de477836/


All Articles