Proč bylo vybráno téma tohoto článku — upgrade diskového subsystémuJe jasné, že v první řadě je třeba obvykle:
- Zvýšit operační paměť. To je natolik zřejmý krok, že jsem to ani nepovažoval za nutné zmiňovat v hlavním článku
- Nainstalovat další procesor(y) nebo nahradit oba procesory maximálně výkonnými verzemi podporovanými paticemi serveru.
Pro staré servery lze paměť a procesory obvykle nalézt za hubičku.
V určitém okamžiku se před každým majitelem vlastního serveru objeví otázka — upgrade nebo nový server.
Jelikož cena nového serveru může nyní přesáhnout miliony korun, mnoho lidí volí cestu upgradu.
Pro úspěšný upgrade je velmi důležité využívat kompromisy, abychom za zanedbatelnou cenu (v porovnání s cenou nového serveru) získali značný nárůst výkonnosti.
V článku je uveden seznam serverových SSD PCI-E 2.0 x8, které nyní výrazně zlevnily, a jsou uvedeny RAID kontroléry s podporou SSD caching a testovaný SATA III SSD na rozhraní SATA II.
Nejzřejmější způsob upgradu diskového subsystému je přechod z HDD na SSD. To platí jak pro notebooky, tak pro servery. Na serverech je snad jen rozdíl v tom, že SSD lze snadno sestavit do RAID.
Samozřejmě existují i nuance spojené s tím, že na starém serveru nemusí být porty SATA III a v takovém případě bude nutné vyměnit nebo nainstalovat odpovídající kontrolér.
Existují samozřejmě také mezistupňové metody.
Caching na SSD.
Tento způsob je celkově docela vhodný pro databáze, 1C, jakýkoli náhodný přístup. Rychlost se skutečně zvyšuje. Pro obrovské soubory, videodohled je tento způsob bezcenný.
RAID kontroléry LSI (IBM, DELL, CISCO, Fujtsu)
Od série 92xx má LSI technologii CacheCade 2.0, která umožňuje použití téměř jakýchkoli SATA SSD jako cache RAID pole. Jak pro čtení, tak pro zápis. A dokonce i vytváření zrcadla z cache SSD.
S brandovanými řadiči je to složitější. Toto platí zejména pro IBM. Klíče a SSD pro CacheCade je třeba zakoupit od IBM za nesmyslné ceny, proto je snazší vyměnit řadič za LSI a koupit hardwarový klíč za nižší cenu. Softwarové klíče jsou mnohem dražší než hardwarové.
RAID řadiče Adaptec
Na řadičích Adaptec je technologie MaxCache, která také umožňuje používat SSD jako cache. Zajímáme se o verze řadičů, které končí písmenem Q.
Q-řadiče dokážou použít téměř jakýkoli SSD, nejen SSD dodávané firmou Adaptec.
- Od 5xxx mají všechny řadiče podporu Hybrid RAID. Podstatou této technologie je, že se vždy čte z SSD, když existuje zrcadlo jednoho z disků, ve kterém je SSD.
- 5xxxQ, například 5805ZQ. Tyto řadiče podporují MaxCache 1.0. Pouze čtení z cache.
- 6xxQ, například 6805Q. MaxCache 2.0. Čtení a zápis do cache.
- 7xxQ, například 7805Q. MaxCache 3.0. Čtení a zápis do cache.
- 8xxQ pro upgradaci téměř nemá smysl kvůli vysokým cenám.
Programové technologie ukládání do cache na SSD
Těmito technologiemi se nebudu zabývat. Prakticky v jakémkoli OS jsou nyní podporovány. Zapamatoval jsem si, že při použití btrfs automaticky přesměrovává požadavky na čtení na zařízení s nejkratší frontou — SSD.
SSD SATA III na rozhraní SATA II
Protože ne vždy máme možnost nebo peníze na nový řadič, vyvstává otázka, jak dobře fungují SSD SATA III na zastaralém rozhraní SATA II.
Provedeme malý test. Jako pokusného králíka máme SSD SATA III Intel S3710 o kapacitě 400 GB.
Náhodné čtení, IOPS
Průměrná latence čtení, ms
Náhodný zápis, IOPS
Průměrná latence zápisu, ms
Lineární čtení, MB/s
Lineární zápis, MB/s
SATA II
21241
2
13580
4
282
235
SATA III
68073
0.468
61392
0.52
514
462
Příkazy používané pro testování rychlosti
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
Jak je vidět, rozdíl v liniové rychlosti, IOPS a latencích je značný, proto má smysl používat pouze rozhraní SATA III, a pokud to není možné, nainstalovat řadič.
Spravedlivě musím říci, že co rozdíl ve rychlosti náhodného čtení a zápisu byl nevýznamný. Možná, že tak velký rozdíl v IOPS mezi SATA II a SATA III vznikl, protože jsem měl nějaký extrémně slabý řadič SATA II nebo ovladač s nějakými chybami.
Nicméně pravda je taková, že je třeba zkontrolovat rychlost SATA II — co když máte stejně pomalý řadič. V takovém případě je přechod na řadič SATA III nezbytný.
PCIe SSD na sběrnici PCI-e 2.0 nebo 1.0
Jak je známo, nejrychlejší SSD jsou PCI-e NVMe, které nejsou omezovány protokoly SAS nebo SATA.
Při instalaci moderních PCI-e SSD je však třeba brát v úvahu fakt, že většina z nich využívá pouze 4 linky PCI-e, obvykle PCI-e 3.0 nebo 3.1.
A nyní se podívejme na tabulku rychlostí sběrnice PCI-e.
Propustnost PCI Express, GB/s
Rok
výrobce
Verze
PCI Express
Kódování
Rychlost
předávání
Propustnost na x linek
×4
×8
×16
2002
1.0
8b/10b
0.50 GB/s
1.0 GB/s
2.0 GB/s
4.0 GB/s
2007
2.0
8b/10b
1.0 GB/s
2.0 GB/s
4.0 GB/s
8.0 GB/s
2010
3.0
128b/130b
1.97 GB/s
3.94 GB/s
7.88 GB/s
15.8 GB/s
Při instalaci PCI 3.0 x4 SSD na sběrnici PCI-e 2.0 bude fungovat na stejném počtu linek, ale při podstatně nižší rychlosti. Problém je v tom, že liniové rychlosti moderních PCI-e SSD překračují propustnost sběrnice PCI-e 2.0 a tím spíše PCI-e 1.0.
M.2 SSD a PCI-e adaptér
Existují slušné možnosti upgradu, kdy si za 10 dolarů koupíme adaptér a umístíme M.2 SSD do serveru, ale opět pro dobré SSD dojde k omezení rychlostí (zejména na PCI-e 1.0), a M.2 SSD ne vždy splňují požadavky pro serverové zatížení: vysoká odolnost, ochrana proti výpadkům napájení a stabilita rychlostních parametrů kvůli zaplnění SLC cache u levných modelů.
Tento způsob může být vhodný pouze pro servery s sběrnicí PCI-e 2.0 a nezatížené nekritickými úkoly.
PCI-E 2.0 x8 SSD
Nejrozumnější ekonomický upgrade — použití PCI-E 2.0 x8 SSD pro servery se sběrnicí PCI-e 1.0 (propustnost až 2 GB/s) a PCI-e 2.0 (až 4 GB/s).
Takové serverové SSD lze nyní pořídit relativně levně jak na různých tržištích, tak na internetových aukcích, včetně Ruska.
Sestavil jsem tabulku z morálně zastaralých SSD, které skvěle zrychlí váš starý server. Na konec tabulky jsem přidal několik SSD s rozhraním PCI-E 3.0 x8. Třeba budete mít štěstí a koupíte je za rozumnou cenu.
Název
TB
PBW
PCI-E
4k čtení iops, K
4k zápis iops, K
čtení, MB/s
zápis, MB/s
2.4
32.5
2.0 x8
480
490
3000
2500
1.3
4
2.0 x8
225
345
2800
1300
1.3
16
2.0 x8
235
375
2700
1700
1.6
5.5
2.0 x8
270
375
2800
1700
3.2
11
2.0 x8
345
385
2700
2200
3.2
11
2.0 x8
345
385
2800
2200
2.6
32
2.0 x8
350
385
2700
2200
1,6
8,76
2.0 x8
395
270
1550
1100
3,2
17,52
2.0 x8
770
230
3100
2200
2,2
2.0 x8
340
110
2700
1000
2,2
33
2.0 x8
350
103
2700
1000
4,8
10.1
2.0 x8
269
51
2600
900
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
1.4
9.2
2.0 x8
750
95
3300
630
1.6
25.10
3.0 x8
1200
200
6170
2200
3,2
17,52
3.0 x8
1200
200
6170
2200
3,2
17,5
3.0 x8
850
80
4500
2600
3,2
2,78
3.0 x8
1000
180
6800
6000
3.2
29
3.0 x8
750
120
5500
1800
3.2
29
3.0 x8
1000
120
6000
2000
3.2
29
3.0 x8
1000
180
6200
2600
3.2
18
3.0 x8
980
180
6200
2600
Mezi těmito SSD vyčnívají Fusion ioMemory. Vědeckým ředitelem byl . Poté tuto společnost koupila SanDisk za 1,2 miliardy dolarů. V minulosti stály od 50 000 dolarů za kus. Dnes je však možné je koupit za několik stovek dolarů v novém stavu s kapacitou od 1TB a více.
Pokud se podíváte na tabulku, je zřejmé, že mají poměrně vysoký počet IOPS při zápisu, který je téměř stejný s počtem IOPS při čtení. Vzhledem k jejich aktuální ceně, si myslím, že na tyto SSD byste měli dávat pozor.
Mají však několik specifikací:
- Nemohou být spouštěcí.
- Je potřeba ovladač pro jejich použití. Ovladače jsou prakticky pro všechno, ale u nejnovějších verzí Linuxu je budete muset zkompilovat.
- Optimální velikost sektoru je 4096 bajtů. (Podporují se také 512 bajty)
- Ovladač může v nejhorším scénáři spotřebovat poměrně hodně RAM (při velikosti sektoru 512 bajtů)
- Výkon závisí na rychlosti procesoru, takže je lepší vypnout technologie úspory energie. To je výhoda i nevýhoda, protože s výkonným procesorem může zařízení pracovat rychleji, než je uvedeno v technických specifikacích.
- Vyžaduje dobré chlazení. Pro servery by to nemělo být problém.
- Není doporučeno pro ESXi, protože ESXi preferuje disky se sektorem 512N, což může vést k vysoké spotřebě paměti ovladačem.
- Branded verze těchto SSD obvykle nejsou podporovány dodavateli do úrovně posledního ovladače od SanDisk (březen 2019).
Provedl jsem testy Fusion ioMemory v porovnání s poměrně moderním serverovým SSD Intel P3700 PCI-E 3.0 x8 (poslední stojí čtyřikrát více než Fusion podobné kapacity). Můžete také vidět, jak moc je rychlost omezena kvůli sběrnici x4.
Fusion PX600 1.3TB PCI-E 2.0 x8
Intel P3700 1.6TB PCI-E 3.0 x4


Ano, sekvenční rychlost čtení je u Intel P3700 jednoznačně omezena. Podle specifikací by měla být 2800 MB/s, ale máme pouze 1469 MB/s. Celkově lze říci, že při sběrnici PCI-e 2.0 lze použít serverové SSD PCI-E 3.0 x4, pokud je lze získat za rozumnou cenu.
Závěry
Diskový subsystém starého serveru se sběrnicí PCI-E 1.0 nebo 2.0 lze vylepšit použitím SSD, která dokážou využívat 8 linek PCI-E, což poskytuje propustnost až 4GB/s (PCI-E 2.0) nebo 2GB/s (PCI-E 1.0). Nejvíce ekonomicky výhodné je to udělat pomocí morálně zastaralých PCI-E 2.0 SSD.
Také existují jednoduché kompromisní možnosti spojené s nákupem klíče CacheCade pro kontroléry LSI nebo výměnou kontroléru Adaptec za Q-verzi.
A naprosto banální způsob je koupit (raid)kontrolér SATA III, aby SSD fungovaly na plné rychlosti a splnily veškeré požadavky na výkon.
Zdroj: habr.com
