Zašto je tema ovog članka nadogradnja diskovnog sustavaJasno je da prvo trebate obično:
- Povećati memoriju. Ovo je toliko očigledan potez da nisam smatrao potrebnim pisati o tome u glavnom članku.
- Dodati dodatni procesor(e) ili zamijeniti oba procesora najmoćnijim verzijama koje podržavaju utore servera.
Za stare servere, RAM i procesori obično se mogu pronaći po vrlo povoljnim cijenama.
U određ momentu, svaki vlasnik vlastitog servera postavlja pitanje — nadogradnja ili novi server.
Budući da cijena novog servera danas može iznositi milione kuna, mnogi biraju put nadogradnje.
Za uspješnu nadogradnju vrlo je važno koristiti kompromise, kako bismo za neznačajan iznos (u odnosu na cijenu novog servera) dobili značajan dobitak u performansama.
U članku je naveden popis servera SSD PCI-E 2.0 x8 koji su sada znatno pojeftinili, navedeni su RAID kontroleri s podrškom za SSD keširanje i testiran SATA III SSD na SATA II sučelju.
Naj očigledniji način nadogradnje diskovnog sustava je prelazak s HDD-a na SSD. Ovo vrijedi i za prijenosna računala i za servere. Na serverima, možda je samo razlika u tome što se SSD može lako kombinirati u RAID.
Istina je da postoje sitni detalji povezani s tim da stari server možda nema SATA III portova i tada će biti potrebno zamijeniti ili dodati odgovarajući kontroler.
Naravno, postoje i međufazi
Keširanje na SSD-u.
Općenito, ovaj način dobro odgovara za baze podataka, 1C, bilo koji slučajni pristup. Brzina se stvarno povećava. Za velike datoteke, videonadzor, ovaj način je beskoristan.
RAID kontroleri LSI (IBM, DELL, CISCO, Fujtsu)
Počevši od serije 92xx, LSI ima tehnologiju CacheCade 2.0 koja omogućava korištenje gotovo bilo kojeg SATA SSD-a kao keša RAID niza. Kako za čitanje, tako i za pisanje. I čak kreiranje zrcala od keširajućih SSD-ova.
Sa brendiranim kontrolerima je sve složenije. To posebno vrijedi za IBM. Ključevi i SSD-ovi za CacheCade morat će se kupovati od IBM-a po nevjerojatnim cijenama, stoga je lakše zamijeniti kontroler s LSI i kupiti jeftiniji hardverski ključ. Softverski ključevi su znatno skuplji od hardverskih.
RAID kontroleri Adaptec
Na kontrolerima Adaptec postoji tehnologija MaxCache koja omogućava korištenje SSD-a kao cache. Zanimaju nas verzije kontrolera koje završavaju slovom Q.
Q-kontroleri mogu koristiti gotovo svaki SSD, a ne samo SSD-ove koje isporučuje Adaptec.
- Od verzije 5xxx svi kontroleri imaju podršku za Hybrid raid. Bit ove tehnologije je da se čitanje uvijek vrši s SSD-a kada postoji ogledalo na jednom od diskova koji uključuje SSD.
- 5xxxQ, na primjer 5805ZQ. Ovi kontroleri podržavaju MaxCache 1.0. Samo cacheiranje čitanja.
- 6xxQ, na primjer 6805Q. MaxCache 2.0. Cacheiranje čitanja i pisanja.
- 7xxQ, na primjer 7805Q. MaxCache 3.0. Cacheiranje čitanja i pisanja.
- 8xxQ za nadogradnju gotovo nije smisleno koristiti zbog visokih cijena.
Softverske tehnologije cacheiranja na SSD-u
Neću pokrivati te tehnologije. Praktički u svakom OS-u se danas podržavaju. Upamtila sam da pri korištenju btrfs, automatski preusmjerava zahtjeve za čitanje prema uređaju s najkraćim redoslijedom — SSD-u.
SATA III SSD na SATA II sučelju
Budući da nije uvijek moguće i isplativo nabaviti novi kontroler, postavlja se pitanje koliko dobro SATA III SSD radi na zastarjelom SATA II sučelju.
Izvršit ćemo mali test. Kao pokušajni uzorak imamo SATA III SSD Intel S3710 od 400GB.
Nasumčno čitanje, iops
Prosječna latencija čitanja, mS
Nasumčno pisanje, iops
Prosječna latencija pisanja, mS
Linearno čitanje, MB/s
Linearno pisanje, MB/s
SATA II
21241
2
13580
4
282
235
SATA III
68073
0.468
61392
0.52
514
462
Komande korištene za testiranje brzine
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
Kao što je vidljivo, razlika u linearnoj brzini, IOPS, kašnjenjima je vrlo značajna, stoga ima smisla koristiti samo SATA III sučelje, a ako ga nema, tada staviti kontroler.
Za pravednost ću reći da prema Razlika u brzini nasumičnog čitanja i pisanja bila je neznatna. Moguće je da je tako velika razlika u IOPS između SATA II i SATA III nastala zbog toga što sam imao neki izuzetno loš kontroler SATA II ili drajver s nekim greškama.
Međutim, činjenica je da treba provjeriti brzinu SATA II — možda imate isti spor kontroler. U tom slučaju, obavezan je prelazak na SATA III kontroler.
PCIe SSD na PCI-e 2.0 ili 1.0 sabirnici
Kao što je poznato, najbrži SSD-ovi su PCI-e NVMe, koji nisu limitirani protokolima SAS ili SATA.
Međutim, prilikom instalacije modernih PCI-e SSD-ova treba uzeti u obzir da većina njih koristi samo 4 PCI-e linije, obično PCI-e 3.0 ili 3.1.
A sada pogledajmo tablicu brzina PCI-e sabirnice.
Propusnost PCI Express, GB/s
Godina
proizvodnje
Verzija
PCI Express
Kodiranje
Brzina
prijenosa
Propusnost na x linija
×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
Prilikom instalacije PCI 3.0 x4 SSD u PCI-e 2.0 sabirnicu, radit će na istom broju linija, ali na znatno manjoj brzini. Postoji problem u tome što linearne brzine modernih PCI-e SSD-ova premašuju propusnost PCI-e 2.0 sabirnice, a pogotovo PCI-e 1.0.
M.2 SSD i PCI-e adapter
Postoje prihvatljive opcije za nadogradnju, kada kupimo adapter za 10 dolara i stavimo M.2 SSD u server, ali opet, za dobre SSD-ove doći će do smanjenja brzina (posebno na PCI-e 1.0), a M.2 SSD-ovi ne razlikuju se uvijek spremnošću za serverske opterećenje: velikom izdržljivošću, zaštitom od napajanja i stabilnošću brzinskih karakteristika zbog punjenja SLC keša na jeftinijim modelima.
Dakle, ovaj način može biti prikladan samo za server s PCI-e 2.0 sabirnicom koji je zauzet neosjetljivim radom.
PCI-E 2.0 x8 SSD
Najekonomičnija nadogradnja je korištenje PCI-E 2.0 x8 SSD za servere s PCI-e 1.0 sabirnicom (propusnost do 2 GB/s) i PCI-e 2.0 (do 4 GB/s).
Slične server SSD-ove sada se može vrlo jeftino nabaviti na raznim tržištima, kao i na internetskim aukcijama, uključujući i Rusiju.
Sastavio sam tablicu takvih moralno zastarjelih SSD-ova koji će odlično ubrzati vaš stari server. Na kraju tablice dodao sam nekoliko SSD-ova s PCI-E 3.0 x8 sučeljem. Možda ćete imati sreće i pronaći ih po razumnim cijenama.
Naziv
TB
PBW
PCI-E
4k read iops, K
4k write iops, K
read, MB/s
write, 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
Ova SSD-ovi posebno se izdvaja Fusion ioMemory. Naučni direktor budu . Kasnije je tu kompaniju za 1,2 milijarde dolara kupio SanDisk. U svoje vreme su koštali od 50 000 dolara po komadu. Sada se mogu kupiti za nekoliko stotina dolara u novom stanju za disk kapaciteta od 1TB i više.
Ako se pažljivo pogleda tabela, može se primetiti da imaju prilično visok broj IOPS za pisanje gotovo jednak broju IOPS za čitanje. S obzirom na njihovu trenutnu cenu, mislim da treba obratiti pažnju na ove SSD-ove.
Istina je da imaju nekoliko specifičnosti:
- Ne mogu biti pokretački
- Potreban je drajver za korištenje. Drajveri su dostupni praktično za sve, ali za poslednje verzije Linux-a morat će se kompajlirati.
- Optimalna veličina sektora im je 4096 bajta. (512 se takođe podržava)
- Drajver u najgorem scenariju može trošiti prilično puno RAM-a (pri veličini sektora od 512 bajta)
- Brzina rada zavisi od brzine procesora, tako da je bolje isključiti tehnologije štednje energije. To je i prednost i nedostatak, jer uz moćan procesor uređaj može raditi čak brže nego što je naznačeno u specifikacijama
- Zahteva dobro hlađenje. Za servere to ne bi trebalo biti problem.
- Nije preporučljivo za ESXi, jer ESXi preferira diskove sa sektorom 512N, što može uzrokovati veliki potrošnju memorije od strane drajvera.
- Brendirane verzije ovih SSD-ova obično ne podržavaju proizvođači do nivoa poslednjeg drajvera od SanDisk (mart 2019)
Sproveo sam testove Fusion ioMemory u poređenju sa prilično modernim servernim SSD Intel P3700 PCI-E 3.0 x8 (poslednji košta četiri puta više od Fusion-a slične kapaciteta). Ujedno se može videti koliko se brzina smanjuje zbog sabirnice x4.
Fusion PX600 1.3TB PCI-E 2.0 x8
Intel P3700 1.6TB PCI-E 3.0 x4


Da, linearna brzina čitanja se definitivno smanjuje kod Intel P3700. Prema specifikacijama treba biti 2800 MB/s, a mi imamo 1469 MB/s. Iako se u celini može reći da se na PCI-e 2.0 mogu koristiti serverni SSD-ovi PCI-E 3.0 x4, ako se uspe pronaći po razumnim cenama.
Zaključci
Diskovni sustav starog servera sa PCI-E 1.0 ili 2.0 sabirnicom može se unaprijediti korištenjem SSD-ova koji koriste 8 PCI-E linija, pružajući propusnost do 4GB/s (PCI-E 2.0) ili 2GB/s (PCI-E 1.0). Najekonomičnije je to učiniti upotrebom moralno zastarjelih PCI-E 2.0 SSD-ova.
Također su jednostavne za implementaciju kompromisne opcije vezane uz kupovinu CacheCade ključa za LSI kontrolere ili zamjenu Adaptec kontrolera s Q-verzijom.
A potpuno banalan način — to je kupiti (RAID) kontroler SATA III kako bi SSD-ovi radili punom brzinom i iznijeli sve zahtjevne operacije.
Izvor: habr.com
