Защо темата на тази статия е ъпгрейд на дисковата подсистемаРазбира се, първо трябва, по правило:
- Да увеличите оперативната памет. Това е толкова очевиден ход, че дори не сметнах за нужно да пиша за него в основната статия
- Да инсталирате допълнителни процесори или да замените и двата процесора с най-мощните версии, поддържани от слотовете на сървъра.
За старите сървъри, паметта и процесорите, обикновено, могат да се намерят на ниски цени.
В определен момент пред всеки собственик на сървър възниква въпросът — ъпгрейд или нов сървър.
Тъй като цената на новия сървър в момента може да стигне милиони рубли, много хора предпочитат да ъпгрейдват.
За успешен ъпгрейд е много важно да се използват компромиси, така че за незначителна цена (в сравнение с цената на нов сървър) да получим значително подобрение в производителността.
В статията е представен списък с PСI-E 2.0 x8 сървърни SSD, които значително поевтиняха, посочени са RAID контролери, поддържащи кеширане на SSD и тестван SATA III SSD на интерфейс SATA II.
Най-очевидният начин за ъпгрейд на дисковата подсистема е преминаването от HDD на SSD. Това важи както за лаптопи, така и за сървъри. При сървърите, може би, разликата е само в това, че SSD могат лесно да бъдат композирани в RAID.
Разбира се, има и тънкости, свързани с това, че на стария сървър може да няма SATA III портове и тогава ще се наложи да замените или инсталирате съответния контролер.
Има, разбира се, и междинни решения.
Кеширане на SSD.
Общо взето, този метод е подходящ за бази данни, 1C, всякакъв произволен достъп. Скоростта наистина се увеличава. За огромни файлове и видеонаблюдение, този метод е безполезен.
RAID контролери LSI (IBM, DELL, CISCO, Fujtsu)
Започвайки от серия 92xx, LSI предлага технологията CacheCade 2.0, която позволява използването на почти всякакви SATA SSD като кеш на RAID масиви. Както за четене, така и за запис. И дори да се създаде огледало от кеширащи SSD.
С брандираните контролери е по-сложно. Особено това важи за IBM. Ключовете и SSD за CacheCade ще трябва да бъдат закупени от IBM на огромни цени, затова е по-лесно да смените контролера на LSI и да закупите по-евтин хардуерен ключ. Софтверните ключове струват значително повече от хардуерните.
RAID контролери Adaptec
На контролерите Adaptec има технология MaxCache, която позволява използването на SSD като кеш. Интересуват ни версиите на контролерите, които завършват с буква Q.
Q-контролерите могат да използват почти всеки SSD, а не само SSD, предоставени от Adaptec.
- Започвайки от 5xxx, всички контролери поддържат Hybrid raid. Същността на тази технология е, че четенето винаги се осъществява от SSD, когато има огледало, единият от дисковете е SSD.
- 5xxxQ, например 5805ZQ. Тези контролери поддържат MaxCache 1.0. Само кеширане на четене.
- 6xxQ, например 6805Q. MaxCache 2.0. Кеширане на четене и писане.
- 7xxQ, например 7805Q. MaxCache 3.0. Кеширане на четене и писане.
- 8xxQ почти няма смисъл да се използва за ъпгрейд поради високите цени.
Програмни технологии за кеширане на SSD.
Няма да коментирам тези технологии. Практически всяка ОС в момента ги поддържа. Запомни ми се, че при използване на btrfs, автоматично пренасочва заявките за четене към устройството с най-кратката опашка — SSD.
SATA III SSD на интерфейс SATA II.
Тъй като не винаги е възможно и финансово да се осигури нов контролер, възниква въпросът колко добре работят SATA III SSD на остарелия интерфейс SATA II.
Ще направим малко тест. За опитен модел ще вземем SATA III SSD Intel S3710 с капацитет от 400ГБ.
Случайно четене, IOPS.
Средна латентност на четене, mS.
Случайно писане, IOPS.
Средна латентност на писане, mS.
Линейно четене, MB/s.
Линейно писане, MB/s.
SATA II.
21241
2
13580
4
282
235
SATA III.
68073
0.468
61392
0.52
514
462
Команди, използвани за тестване на скоростта.
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
Както се вижда, разликата в линейната скорост, IOPS, латентности е доста значителна, затова е разумно да се използва само SATA III интерфейс, а ако такъв не съществува, да се постави контролер.
За справедливост ще кажа, че по разликата в скоростта на произволно четене и записване е незначителна. Вероятно такова голямо различие в IOPS между SATA II и SATA III би могло да се дължи на факта, че съм имал някакъв много неуспешен контролер SATA II или драйвер с някакви бъгове.
Въпреки това факт е, че трябва да проверите скоростта на SATA II — вдруги случай може да имате такъв бавен контролер. В такъв случай е задължителен преходът към контролер SATA III.
PCIe SSD на шина PCI-e 2.0 или 1.0
Както е известно, най-бързите SSD — това са PCI-e NVMe, които не са ограничени от протоколите SAS или SATA.
Обаче при инсталирането на съвременни PCI-e SSD трябва да се има предвид, че повечето от тях използват само 4 линии PCI-e, обикновено PCI-e 3.0 или 3.1.
А сега да видим таблицата на скоростите на шината PCI-e.
Пропускна способност на PCI Express, Гбайт/с
Година
на производство
Версия
PCI Express
Кодиране
Скорост
передача
Пропускна способност на x линии
×4
×8
×16
2002
1.0
8b/10b
0.50 Гбайт/с
1.0 Гбайт/с
2.0 Гбайт/с
4.0 Гбайт/с
2007
2.0
8b/10b
1.0 Гбайт/с
2.0 Гбайт/с
4.0 Гбайт/с
8.0 Гбайт/с
2010
3.0
128b/130b
1.97 Гбайт/с
3.94 Гбайт/с
7.88 Гбайт/с
15.8 Гбайт/с
При инсталация на PCI 3.0 х4 SSD в шина PCI-e 2.0, той ще работи на същия брой линии, но на съществено по-ниска скорост. Има проблем, че линейните скорости на съвременните PCI-e SSD надвишават пропускната способност на шината PCI-e 2.0, а още повече на PCI-e 1.0.
M.2 SSD и PCI-e адаптер
Има добри опции за ъпгрейд, когато купуваме адаптер за 10 долара и поставяме M.2 SSD в сървъра, но пак за добри SSD скоростите ще бъдат ограничени (особено на PCI-e 1.0), а и M.2 SSD не винаги са подходящи за сървърни натоварвания: голяма износоустойчивост, защита от захранване и стабилност на скоростните характеристики поради запълването на SLC кеша на евтини модели.
Така че този метод може да е подходящ само за сървър с шина PCI-e 2.0 и ненатоварена работа.
PCI-E 2.0 x8 SSD
Най-икономически логичен ъпгрейд — използването на PCI-E 2.0 x8 SSD за сървъри с шина PCI-e 1.0 (пропускна способност до 2 ГБ/сек) и PCI-e 2.0 (до 4 ГБ/сек).
Подобни SSD за сървъри в момента може напълно евтино да се купят както на различни маркетплейси, така и на интернет аукциони, включително и в Русия.
Съставих таблица на такива морално остарели SSD, които прекрасно ще ускорят вашия стар сървър. Към края на таблицата добавих няколко SSD с интерфейс PCI-E 3.0 x8. Възможно е да имате късмет и да попаднете на разумни цени.
Име
TB
PBW
PCI-E
4k read iops, K
4k write iops, K
read, MB/s
записвайте, MB/с
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
Тези SSD-те особено се открояват с Fusion ioMemory. Научният директор беше . После тази компания бе закупена от SanDisk за 1,2 милиарда долара. В свое време цените им бяха от $50 000 за брой. В момента могат да бъдат закупени за няколко стотин долара в ново състояние за диск с капацитет от 1TB и повече.
Ако разгледате таблицата, ще видите, че имат доста високо число IOPS за запис, почти равняващо се на IOPS за четене. С оглед на текущата им цена, считам, че си заслужава да се обърне внимание на тези SSD.
Вярно е, че имат няколко особености:
- Не могат да бъдат стартиращи
- Необходим е драйвер за използване. Има драйвъри практически за всичко, но за последните версии на Linux ще трябва да ги компилирате.
- Оптималният размер на сектора е 4096 байта. (512 също се поддържа)
- Драйверът при най-лош сценарий може да изисква доста много RAM (при 512-байтов сектор)
- Скоростта на работа зависи от скоростта на процесора, затова е по-добре да се изключат технологии за пестене на енергия. Това е както плюс, така и минус, тъй като с мощен процесор устройството може да работи дори по-бързо от спецификациите.
- Има нужда от добро охлаждане. За сървърите това не би трябвало да е проблем.
- Не се препоръчва за ESXi, тъй като ESXi предпочита дискове със сектор 512N, а това може да доведе до значителен разход на памет от драйвера.
- Брандираните версии на тези SSD обикновено не се поддържат от производителите до последния драйвер от SanDisk (март 2019)
Извърших тестове на Fusion ioMemory в сравнение с доста съвременен SSD на Intel P3700 PCI-E 3.0 x8 (последният струва около четири пъти повече от Fusion с подобен капацитет). Можете да видите колко силно се намалява скоростта заради шината x4.
Fusion PX600 1.3TB PCI-E 2.0 x8
Intel P3700 1.6TB PCI-E 3.0 x4


Да, линейната скорост на четене определено е ограничена при Intel P3700. По спецификации трябва да бъде 2800 MB/сек, а при нас е 1469 MB/с. Въпреки това може да се каже, че при PCI-e 2.0 могат да се използват сървърни SSD PCI-E 3.0 x4, ако успеете да намерите на разумна цена.
Изводи
Дисковата подсистема на стария сървър с PCI-E 1.0 или 2.0 може да се оптимизира чрез използване на SSD, които могат да използват 8 линии PCI-E, осигуряващи пропускателна способност до 4 ГБ/сек (PCI-E 2.0) или 2 ГБ/сек (PCI-E 1.0). Най-икономично е да се направи това, използвайки морално остарели PCI-E 2.0 SSD.
Също така, има лесни компромисни варианти, свързани с покупката на ключ CacheCade за контролери LSI или подмяната на контролера Adaptec с Q-версия.
И напълно банален начин — просто да закупите (RAID) контролер SATA III, за да SSD-ата работят с пълна скорост и да поемат всичко, което изисква бързина.
Източник: habr.com
