Защо темата на тази статия е обновление на дисковата подсистемаЯсно е, че на първо място трябва обикновено да:
- Увеличите оперативната памет. Това е толкова очевиден ход, че дори не сметнах за необходимо да пиша за него в основната статия
- Да добавите допълнителен процесор(и) или да замените и двата процесора с най-мощните версии, поддържани от сокетите на сървъра.
За старите сървъри паметта и процесорите, като правило, могат да се намерят на много ниски цени.
В определен момент пред всеки собственик на сървър изниква въпросът — обновление или нов сървър.
Тъй като цената на нов сървър в момента може да бъде измерена в милиони рубли, много хора избират обновлението.
За успешно обновление е много важно да се използват компромиси, за да получим съществена печалба от производителност за незначителна цена (в сравнение с цената на нов сървър).
В статията е представен списък на сървърни SSD PCI-E 2.0 x8, които значително поевтиняха в момента, посочени са 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 с капацитет 400GB.
Случайно четене, 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 прочит iops, K
4k запис iops, K
четене, MB/с
запис, 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 $ за бройка. В момента обаче могат да се купят за няколко стотин долара нови с капацитет от 1ТБ и повече.
Ако разгледате таблицата, ще видите, че те имат доста високо число IOPS при запис, практически равно на числото IOPS при четене. Предвид текущата им цена, на мен ми се струва, че тези SSD заслужават внимание.
Истината е, че имат няколко особености:
- Не могат да бъдат зареждащи
- Нужен е драйвер за ползване. Има драйвери за почти всичко, но за последните версии на Linux ще трябва да се компилират.
- Оптималният размер на сектора им е 4096 байта. (512 също се поддържа)
- Драйверът при най-лош сценарий може да консумира доста много RAM (при размер на сектора 512 байта)
- Скоростта на работа зависи от скоростта на процесора, затова е по-добре да се деактивират енергоспестяващите технологии. Това е едновременно предимство и недостатък, тъй като с помощта на мощен процесор устройството може да работи дори по-бързо, отколкото е посочено в спецификациите.
- Нуждае се от добро охлаждане. За сървъри това не би трябвало да е проблем.
- Не се препоръчва за ESXi, тъй като ESXi предпочита дискове със сектор 512N, а това може да доведе до значително потребление на памет от драйвера.
- Брандираните версии на тези SSD обикновено не се поддържат от доставчиците до нивото на последния драйвер от SanDisk (март 2019)
Направих тестове на Fusion ioMemory в сравнение с доста съвременен сървърен SSD Intel P3700 PCI-E 3.0 x8 (последният струва около 4 пъти повече от 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). Най-икономично е да се направи с морално остарели SSD устройства с PCI-E 2.0.
Също така съществуват относително прости компромисни варианти свързани с покупката на ключа CacheCade за контролерите LSI или смяната на контролера Adaptec с Q-версия.
И напълно банален начин — да закупите (RAID) контролер SATA III, така че SSD устройствата да работят с пълна скорост и да поемат всичко, изискващо бързина.
Източник: habr.com
