Upgrade der Festplattensysteme eines alten Servers von PCIe 1.0 auf 2.0

Upgrade der Festplattensysteme eines alten Servers von PCIe 1.0 auf 2.0Warum das Thema dieses Artikels das Upgrade des Festplattensystems istEs ist klar, dass man in erster Linie Folgendes tun sollte:

  1. Den Arbeitsspeicher erhöhen. Dieser Schritt ist so offensichtlich, dass ich nicht einmal für nötig hielt, darüber in dem Artikel zu schreiben.
  2. Zusätzliche Prozessoren installieren oder beide Prozessoren durch die leistungsstärksten, mit den Sockeln des Servers kompatiblen Versionen ersetzen.

Für alte Server sind sowohl Speicher als auch Prozessoren in der Regel zu sehr günstigen Preisen erhältlich.

Zu einem bestimmten Zeitpunkt steht jeder Serverbesitzer vor der Frage: Upgrade oder neuer Server.

Da der Preis eines neuen Servers mittlerweile in Millionenhöhe betragen kann, entscheiden sich viele für ein Upgrade.

Für ein erfolgreiches Upgrade ist es entscheidend, Kompromisse einzugehen, damit wir für einen geringen Preis (im Vergleich zum Preis eines neuen Servers) einen erheblichen Leistungsgewinn erzielen können.

In diesem Artikel findet sich eine Liste von Server-SSDs PCI-E 2.0 x8, die mittlerweile deutlich im Preis gesenkt wurden, sowie RAID-Controller mit Unterstützung für SSD-Caching und getestete SATA III SSDs auf einem SATA II-Interface.

Der naheliegendste Weg, das Datenspeichersystem aufzurüsten, besteht im Umstieg von HDD auf SSD. Dies gilt sowohl für Laptops als auch für Server. Bei Servern liegt der entscheidende Unterschied vielleicht nur darin, dass SSDs leicht in RAID-Konfigurationen kombiniert werden können.

Allerdings gibt es einige wichtige Punkte zu beachten, da alte Server möglicherweise keine SATA III-Ports haben, was bedeutet, dass ein Austausch oder das Hinzufügen eines entsprechenden Controllers erforderlich sein könnte.

Es gibt natürlich auch Zwischenlösungen.

Caching auf SSD.

Insgesamt eignet sich diese Methode gut für Datenbanken, 1C und jeglichen zufälligen Zugriff. Die Geschwindigkeit wird tatsächlich erhöht. Für große Dateien oder Videoüberwachung ist diese Methode jedoch nutzlos.

RAID-Controller von LSI (IBM, DELL, CISCO, Fujitsu)

Ab der Serie 92xx bietet LSI die CacheCade 2.0-Technologie, die es ermöglicht, nahezu beliebige SATA SSDs als Cache für RAID-Arrays zu verwenden. Sowohl für Lese- als auch für Schreibvorgänge. Außerdem können Spiegelungen aus cache-basierten SSDs erstellt werden.

Mit gebrandeten Controllern wird es komplizierter, insbesondere bei IBM. Die Schlüssel und SSDs für CacheCade müssen zu hohen Preisen von IBM erworben werden, daher ist es einfacher, den Controller auf LSI umzurüsten und einen günstigeren Hardware-Schlüssel zu kaufen. Software-Schlüssel sind wesentlich teurer als Hardware-Schlüssel.

Raid-Controller von Adaptec

Die Controller von Adaptec verfügen über die MaxCache-Technologie, die es auch ermöglicht, SSDs als Cache zu verwenden. Wir interessieren uns für die Versionen der Controller, die mit dem Buchstaben Q enden.

Q-Controller können fast jede SSD verwenden, nicht nur von Adaptec bereitgestellte SSDs.

  • Ab der Serie 5xxx unterstützen alle Controller Hybrid-Raid. Der Kern dieser Technologie besteht darin, dass immer von der SSD gelesen wird, wenn eines der Spiegel-Laufwerke eine SSD enthält.
  • 5xxxQ, zum Beispiel 5805ZQ. Diese Controller unterstützen MaxCache 1.0. Nur Lese-Caching.
  • 6xxQ, zum Beispiel 6805Q. MaxCache 2.0. Lese- und Schreib-Caching.
  • 7xxQ, zum Beispiel 7805Q. MaxCache 3.0. Lese- und Schreib-Caching.
  • 8xxQ macht aus Gründen der Aufrüstung kaum Sinn, aufgrund der hohen Preise.

Ein Artikel über Caching auf SSD auf Habré (Controller und Betriebssysteme).

Software-Technologien für Caching auf SSD

Ich werde diese Technologien nicht im Detail behandeln. Praktisch jedes Betriebssystem unterstützt sie heutzutage. Mir ist aufgefallen, dass bei der Verwendung von btrfs die Leseanfragen automatisch an das Gerät mit der kürzesten Warteschlange weitergeleitet werden – also an eine SSD.

SATA III SSD über SATA II Schnittstelle

Da es nicht immer möglich ist, einen neuen Controller zu kaufen, stellt sich die Frage, wie gut SATA III SSDs über die veraltete SATA II Schnittstelle funktionieren.

Lassen Sie uns einen kleinen Test durchführen. Als Testobjekt verwenden wir eine SATA III SSD Intel S3710 mit 400GB.

Zufälliges Lesen, IOPS
Durchschnittliche Leseverzögerung, mS
Zufälliges Schreiben, IOPS
Durchschnittliche Schreibverzögerung, mS
Lineares Lesen, MB/s
Lineares Schreiben, MB/s

SATA II
21241
2
13580
4
282
235

SATA III
68073
0.468
61392
0.52
514
462

Befehle zur Geschwindigkeitsmessung

fio --name LinRead --eta-newline=5s --filename=/dev/sda --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting 

fio --name LinWrite --eta-newline=5s --filename=/dev/sda --rw=write --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting

fio --name RandRead --eta-newline=5s --filename=/dev/sda --rw=randread --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting

fio --name RandWrite --eta-newline=5s --filename=/dev/sda --rw=randwrite --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting

Wie man sieht, gibt es einen deutlichen Unterschied in der linearen Geschwindigkeit, IOPS und Latenz, daher macht es Sinn, nur den SATA III Anschluss zu verwenden. Wenn dieser nicht vorhanden ist, sollte man einen Controller installieren.

Um der Fairness willen möchte ich sagen, dass andere Experimente einen nur geringen Unterschied in der Geschwindigkeit bei zufälligem Lesen und Schreiben ergeben haben. Möglicherweise ist der große Unterschied bei IOPS zwischen SATA II und SATA III darauf zurückzuführen, dass ich einen äußerst schlechten SATA II Controller oder einen fehlerhaften Treiber verwendet habe.

Es ist jedoch ein Fakt, dass man die Geschwindigkeit von SATA II überprüfen sollte – vielleicht haben Sie ebenfalls einen langsamen Controller. In diesem Fall ist der Wechsel zu einem SATA III Controller unerlässlich.

PCIe SSDs über den PCI-e 2.0 oder 1.0 Bus

Wie bekannt ist, sind die schnellsten SSDs PCI-e NVMe, die nicht durch SAS oder SATA Protokolle eingeschränkt sind.

Bei der Installation moderner PCI-e SSDs muss jedoch berücksichtigt werden, dass die meisten von ihnen nur 4 PCI-e Lanes verwenden, meist PCI-e 3.0 oder 3.1.

Jetzt schauen wir uns die Geschwindigkeits Tabelle für den PCI-e Bus an.

Durchsatz von PCI Express, GByte/s

Jahr
der Einführung

Version
PCI Express

Kodierung

Geschwindigkeit
Übertragung

Durchsatz pro x Lanes

×4
×8
×16

2002
1.0
8b/10b

0.50 GByte/s
1.0 GByte/s
2.0 GByte/s
4.0 GByte/s

2007
2.0
8b/10b

1.0 GByte/s
2.0 GByte/s
4.0 GByte/s
8.0 GByte/s

2010
3.0
128b/130b

1,97 GB/s
3,94 GB/s
7,88 GB/s
15,8 GB/s

Wenn Sie ein PCI 3.0 x4 SSD in einen PCI-e 2.0 Slot einsetzen, funktioniert es mit der gleichen Anzahl von Lanes, aber mit deutlich geringerer Geschwindigkeit. Das Problem ist, dass die linearen Geschwindigkeiten moderner PCI-e SSDs die Bandbreite des PCI-e 2.0-Busses und erst recht des PCI-e 1.0-Busses überschreiten.

M.2 SSD und PCI-e Adapter

Es gibt einige gute Upgrade-Optionen, wenn wir für 10 Dollar einen Adapter kaufen und ein M.2 SSD in den Server einbauen. Allerdings wird die Geschwindigkeit bei guten SSDs eingeschränkt (insbesondere bei PCI-e 1.0), und M.2 SSDs sind nicht immer für Serverlasten geeignet: sie kommen oft mit geringerer Haltbarkeit, unzureichendem Schutz für die Stromversorgung und instabilen Geschwindigkeitsmerkmalen aufgrund der SLC-Caching-Nutzung in günstigen Modellen.

Daher könnte diese Methode nur für einen Server mit PCI-e 2.0-Bus geeignet sein, der nicht kritische Aufgaben ausführt.

PCI-E 2.0 x8 SSD

Das wirtschaftlichste Upgrade ist die Verwendung von PCI-E 2.0 x8 SSDs für Server mit PCI-e 1.0-Bus (Bandbreite bis zu 2 GB/s) und PCI-e 2.0 (bis zu 4 GB/s).

Solche Server SSDs sind jetzt sehr günstig sowohl auf verschiedenen Marktplätzen als auch auf Internet-Auktionen, auch in Russland.

Ich habe eine Tabelle mit moralisch veralteten SSDs erstellt, die Ihren alten Server hervorragend aufrüsten können. Am Ende der Tabelle habe ich einige SSDs mit PCI-E 3.0 x8 Schnittstelle hinzugefügt. Vielleicht haben Sie Glück und finden sie zu einem angemessenen Preis.

Titel
TB
PBW
PCI-E
4k Lese-IOPS, K
4k Schreib-IOPS, K
Lesen, MB/s
Schreiben, MB/s

Fusion-io ioDrive II DUO MLC
2.4
32.5
2.0 x8
480
490
3000
2500

SANDISK FUSION IOMEMORY SX350-1300
1.3
4
2.0 x8
225
345
2800
1300

SANDISK FUSION IOMEMORY PX600-1300
1.3
16
2.0 x8
235
375
2700
1700

SANDISK FUSION IOMEMORY SX350-1600
1.6
5.5
2.0 x8
270
375
2800
1700

SanDisk Fusion ioMemory SX300-3200
3.2
11
2.0 x8
345
385
2700
2200

SanDisk Fusion ioMemory SX350-3200
3.2
11
2.0 x8
345
385
2800
2200

SANDISK FUSION IOMEMORY PX600
2.6
32
2.0 x8
350
385
2700
2200

Huawei ES3000 V2
1,6
8,76
2.0 x8
395
270
1550
1100

Huawei ES3000 V2
3,2
17,52
2.0 x8
770
230
3100
2200

EMC XtremSF
2,2
 
2.0 x8
340
110
2700
1000

HGST Virident FlashMAX II
2,2
33
2.0 x8
350
103
2700
1000

HGST Virident SSD FlashMAX II
4,8
10.1
2.0 x8
269
51
2600
900

HGST Virident FlashMAX III
2,2
7.1
2.0 x8
531
59
2700
1400

Dell Micron P420M
1.4
9.2
2.0 x8
750
95
3300
630

Micron P420M
1.4
9.2
2.0 x8
750
95
3300
630

HGST SN260
1.6
25.10
3.0 x8
1200
200
6170
2200

HGST SN260
3,2
17,52
3.0 x8
1200
200
6170
2200

Intel P3608
3,2
17,5
3.0 x8
850
80
4500
2600

Kingston DCP1000
3,2
2,78
3.0 x8
1000
180
6800
6000

Oracle F320
3.2
29
3.0 x8
750
120
5500
1800

Samsung PM1725
3.2
29
3.0 x8
1000
120
6000
2000

Samsung PM1725a
3.2
29
3.0 x8
1000
180
6200
2600

Samsung PM1725b
3.2
18
3.0 x8
980
180
6200
2600

Upgrade der Festplattensysteme eines alten Servers von PCIe 1.0 auf 2.0Unter diesen SSDs stechen die Fusion ioMemory besonders hervor. Der wissenschaftliche Direktor Fusion war Steve Wozniak. Später wurde das Unternehmen für 1,2 Milliarden Dollar von SanDisk übernommen. Zu seiner Zeit kosteten sie ab 50.000 Dollar pro Stück. Heutzutage kann man sie in neuem Zustand für einige Hundert Dollar pro 1TB und mehr erwerben.

Wenn man sich die Tabelle genauer ansieht, wird deutlich, dass sie eine relativ hohe Anzahl an IOPS beim Schreiben haben, die fast der Anzahl an IOPS beim Lesen entspricht. Angesichts ihres aktuellen Preises halte ich es für sinnvoll, diese SSDs in Betracht zu ziehen.

Allerdings haben sie einige Besonderheiten:

  1. Sie können nicht bootfähig sein.
  2. Ein Treiber ist erforderlich, um verwendet zu werden. Treiber sind praktisch für alles verfügbar, aber für die neuesten Linux-Versionen müssen sie kompiliert werden.
  3. Die optimale Sektorgröße beträgt 4096 Byte. (512 wird ebenfalls unterstützt)
  4. Im schlimmsten Fall kann der Treiber recht viel RAM verbrauchen (bei einer Sektorgröße von 512 Byte)
  5. Die Geschwindigkeit hängt von der Prozessorleistung ab, daher sollten Energiespartechnologien besser deaktiviert werden. Das hat Vor- und Nachteile, da mit einem leistungsstarken Prozessor das Gerät sogar schneller arbeiten kann, als in den Spezifikationen angegeben.
  6. Benötigt eine gute Kühlung. Für Server sollte das kein Problem darstellen.
  7. Nicht empfohlen für ESXi, da ESXi Festplatten mit 512N-Sektoren bevorzugt, was einen hohen Speicherverbrauch des Treibers zur Folge haben kann.
  8. Markenversionen dieser SSD werden von den Anbietern in der Regel bis zur letzten Treiberversion von SanDisk (März 2019) nicht unterstützt.

Ich habe Tests von Fusion ioMemory im Vergleich zu einer ziemlich modernen Server-SSD Intel P3700 PCI-E 3.0 x8 durchgeführt (letztere kostet etwa das Vierfache von Fusion mit ähnlicher Kapazität). Dabei kann auch betrachtet werden, wie stark die Geschwindigkeit durch den x4-Bus reduziert wird.

Fusion PX600 1.3TB PCI-E 2.0 x8
Intel P3700 1.6TB PCI-E 3.0 x4

Upgrade der Festplattensysteme eines alten Servers von PCIe 1.0 auf 2.0
Upgrade der Festplattensysteme eines alten Servers von PCIe 1.0 auf 2.0

Ja, die lineare Lesegeschwindigkeit des Intel P3700 ist definitiv begrenzt. Laut Spezifikation sollte sie 2800 MB/s betragen, bei uns sind es jedoch 1469 MB/s. Insgesamt lässt sich sagen, dass man bei einem PCI-e 2.0-Bus serverseitige PCI-E 3.0 x4 SSDs verwenden kann, wenn man sie zu einem angemessenen Preis beschaffen kann.

Fazit

Die Speicherarchitektur des alten Servers mit PCI-E 1.0 oder 2.0 kann durch den Einsatz von SSDs optimiert werden, die in der Lage sind, 8 PCI-E-Linien zu nutzen und damit eine Bandbreite von bis zu 4 GB/s (PCI-E 2.0) oder 2 GB/s (PCI-E 1.0) erreichen. Am wirtschaftlichsten ist dies mit moralisch veralteten PCI-E 2.0 SSDs.

Es gibt auch praktikable Kompromisslösungen, die den Kauf eines CacheCade-Keys für LSI-Controller oder den Austausch des Adaptec-Controllers gegen die Q-Version betreffen.

Und eine völlig grundlegende Lösung ist der Kauf eines (RAID-)Controllers SATA III, damit die SSDs mit voller Geschwindigkeit arbeiten und alle geschwindigkeitserfordernden Daten verarbeiten können.

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster