Wir suchen einen Speicher mit vernünftiger Geschwindigkeit. Aufgrund des geringen Budgets haben wir uns für die Verwendung von Software-iSCSI- oder AoE-Zielen entschieden. Bevor wir unsere Produktionsinfrastruktur ändern, führen wir einige Tests durch, um die beste Technologie auszuwählen.
Zum Testen verwenden wir:
- Fujitsu Siemens RX200 S4 als Ziel
- Fujitsu Siemens RX200 S4 als Initiator
- NetGear verwaltete 1 GBit-Switch
- Onboard-NICs (Broadcom mit TOE), EdiMax-NICs, Broadcom-NICs mit TOE - alle 1 GBit
- Der Zielserver verwendet einen QLogic-Controller mit 6 2 TB WD Blue SATA-Laufwerken.
- Sowohl das Ziel- als auch das Initiator-Betriebssystem sind Ubuntu 16.04 LTS mit allen Updates. Der Switch ist für Speicherzwecke vorgesehen. Wir testen Anleihen und Multipathing.
Unser Problem ist die niedrige Lesegeschwindigkeit. Zum Testen verwenden wir dd
eine 40-100GB Datei.
- Das lokale Lesen und Schreiben auf einem Zielserver beträgt über 300 MB / s.
- Das Schreiben auf den Server per iSCSI oder AoE beträgt über 200 MB / s, was uns zufriedenstellt.
- Das Lesen vom Server beträgt immer 95-99 MB / s.
Wir haben ietd, aoetools, LIO ausprobiert. Wir haben Anleihen von 2 NICs verwendet: balance-rr und LACP, Multipathing mit rr. Verwendet normale und Jumbo-Frames. Schließlich haben wir sogar eine direkte Ethernet-Verbindung zwischen Ziel und Host hergestellt (kein Switch).
Alle Tests liefern mehr weniger die gleichen Ergebnisse (natürlich ergab die Verwendung gängiger Netzwerkkarten ohne EVG und iSCSI 20 bis 30% schlechtere Ergebnisse).
Das Testen des Netzwerks mit iperf ergab Übertragungen von etwa 200 MB / s (2 GBit). Das Beobachten der NIC-Nutzung auf dem Ziel mit bmon zeigte die gleiche Auslastung beider Geräte (jeweils etwa 50 MB / s zum Lesen, etwa 100 MB / s zum Schreiben).
Da wir kein Glück hatten, entschieden wir uns für eine dritte Netzwerkkarte (beide Seiten natürlich). Die Ergebnisse waren seltsam:
- 2 Netzwerkkarten - jeweils 50 MB / s
- 3 Netzwerkkarten - jeweils 33 MB / s
Gibt es eine Begrenzung für die Zielsoftware, die eine Ausgabe von mehr als 1 GBit / s deaktiviert?
Was machen wir falsch?