
V tomto článku se budeme zabývat různými způsoby organizace RAID polí a představíme jeden z prvních hardware RAID kontrolérů s podporou NVMe.
Široké spektrum využití technologie RAID se vyskytuje v serverovém segmentu. V klientském segmentu se nejčastěji používá výhradně softwarový RAID0 nebo RAID1 na dva disky.
V tomto článku bude stručný přehled technologie RAID, malé instrukce pro vytvoření RAID polí pomocí tří různých nástrojů a srovnání výkonu virtuálních disků při použití každého z těchto způsobů.
Co je RAID?
dává vyčerpávající definici technologie RAID:
RAID (angl. Redundant Array of Independent Disks — redundantní pole nezávislých (samostatných) disků) — technologie virtualizace dat pro spojení několika fyzických diskových zařízení do logického modulu za účelem zvýšení odolnosti vůči poruchám a výkonu.
Konfigurace diskových polí a použité technologie závisí na zvoleném úrovni RAID (RAID level). Úrovně RAID jsou standardizovány ve specifikaci . Popisuje různé úrovně RAID, ale za nejběžnější se považují RAID0, RAID1, RAID5 a RAID6.
RAID0, nebo Stripes, — je úroveň RAID, která spojuje dva nebo více fyzických disků do jednoho logického. Objem logického disku je v tomto případě roven součtu objemů fyzických disků zapojených do pole. Na této úrovni RAID chybí redundantnost a selhání jednoho disku může vést ke ztrátě všech dat na virtuálním disku.
Úroveň RAID1, nebo Mirror, vytváří identické kopie dat na dvou a více discích. Objem virtuálního disku by neměl překročit objem nejmenšího z fyzických disků. Data na virtuálním disku RAID1 budou dostupná, dokud alespoň jeden fyzický disk z pole funguje. Použití RAID1 přidává redundantnost, ale je dost drahým řešením, protože v polích se dvěma a více disky je k dispozici objem pouze jednoho disku.
Úroveň RAID5 řeší problém vysokých nákladů. K vytvoření pole s úrovní RAID5 jsou potřeba minimálně 3 disky, přičemž pole je odolné vůči selhání jednoho disku. Data v RAID5 jsou uložena po blocích s kontrolními součty. Není zde přísné dělení na disky s daty a disky s kontrolními součty. Kontrolní součty v RAID5 jsou výsledkem operace XOR aplikované na N-1 bloky, z nichž každý pochází ze svého disku.
I když RAID pole zvyšují redundanci a poskytují zálohu, nejsou vhodné pro ukládání záloh.
Po stručném úvodu do typů RAID polí můžeme přejít k zařízením a programům, které umožňují sestavení a použití diskových polí.
Typy RAID kontrolerů
Existují dva způsoby, jak vytvořit a používat RAID pole: hardware a software. Zaměříme se na následující řešení:
- Linux Software RAID.
- Intel® Virtual RAID On CPU.
- LSI MegaRAID 9460-8i.
Je třeba poznamenat, že řešení Intel® funguje na čipsetu, což vyvolává otázku, zda se jedná o hardwarové nebo softwarové řešení. Například hypervisor VMWare ESXi považuje VROC za software a oficiálně ho nepodporuje.
Linux Software RAID
Softwarová RAID pole v rodině operačních systémů Linux jsou dost rozšířeným řešením jak v klientském segmentu, tak na serverech. Jediné, co potřebujete pro vytvoření pole, je nástroj mdadm a několik blokových zařízení. Jediným požadavkem, který klade Linux Software RAID na používané úložiště, je, že musí být blokové zařízení dostupné systému.
Nedostatek nákladů na hardware a software je zřejmou výhodou tohoto způsobu. Linux Software RAID organizuje disková pole za cenu procesorového času. Seznam podporovaných úrovní RAID a stavu aktuálních diskových polí lze zobrazit v souboru mdstat, který se nachází v kořenovém adresáři procfs:
root@grindelwald:~# cat /proc/mdstat
Personality : [linear] [multipath] [raid0] [raid1] [raid10]
unused devices:
Podpora úrovní RAID se přidává připojením příslušného modulu jádra, například:
root@grindelwald:~# modprobe raid456
root@grindelwald:~# cat /proc/mdstat
Personality : [linear] [multipath] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
unused devices:Všechny operace s diskovými poli se provádějí prostřednictvím příkazového nástroje mdadm. Sestavení diskového pole se provádí jedním příkazem:
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1Po provedení tohoto příkazu se v systému objeví blokové zařízení /dev/md0, které představuje virtuální disk.
Intel® Virtual RAID On CPU
Intel® VROC Standard Hardware Key
Intel® Virtual RAID On CPU (VROC) je softwarově-hardware technologie pro vytváření RAID polí založených na čipsetech Intel®. Tato technologie je převážně dostupná pro základní desky podporující procesory Intel® Xeon® Scalable. Ve výchozím nastavení VROC není k dispozici. Pro jeho aktivaci je nutné nainstalovat hardwarový licenční klíč VROC.
Standardní licence VROC umožňuje vytvářet disková pole s úrovněmi RAID 0, 1 a 10. Prémiová verze rozšiřuje tento seznam o podporu RAID 5.
Technologie Intel® VROC na moderních základních deskách spolupracuje s Intel® Volume Management Device (VMD), která umožňuje horkou výměnu pro disky s NVMe rozhraním.
Intel® VROC se standardní licencí Nastavení polí se provádí prostřednictvím Setup Utility při spuštění serveru. Na kartě Advanced se objeví položka Intel® Virtual RAID on CPU, kde lze nastavit disková pole.
Vytvoření pole RAID1 na dvou jednotkách
Technologie Intel® VROC má své „trumfy v rukávu“. Disková pole vytvořená pomocí VROC jsou kompatibilní s Linux Software RAID. To znamená, že stav polí lze sledovat v /proc/mdstat a spravovat je přes mdadm. Tato „vlastnost“ je oficiálně podporována Intelem. Po sestavení RAID1 v Setup Utility je možné sledovat synchronizaci jednotek v OS:
root@grindelwald:~# cat /proc/mdstat
Osobnosti : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md126 : aktivní raid1 nvme2n1[1] nvme1n1[0]
1855832064 bloky super externí: /md127/0 [2/2] [UU]
[>....................] resync = 1.3% (24207232/1855832064) finish=148.2min speed=205933K/sec
md127 : neaktivní nvme1n1[1](S) nvme2n1[0](S)
10402 bloky super externí: imsm
nepoužívaná zařízení: <none>Je třeba poznamenat, že prostřednictvím mdadm nelze sestavovat pole na VROC (sestavená pole budou Linux SW RAID), ale lze v nich měnit disky a rozebírat pole.
LSI MegaRAID 9460-8i
Vzhled řadiče LSI MegaRAID 9460-8i
RAID řadič je samostatné hardwarové řešení. Řadič pracuje pouze s jednotkami připojenými přímo k němu. Tento RAID řadič podporuje až 24 jednotek s NVMe rozhraním. Podpora NVMe činí tento řadič výjimečným mezi mnoha ostatními.
Hlavní nabídka hardwarového řadiče
V režimu UEFI se nastavení řadiče integrují do Setup Utility. Ve srovnání s VROC menu hardwarového řadiče vypadá výrazně složitěji.
Vytvoření RAID1 na dvou discích
Vysvětlení nastavení diskových polí na hardwarovém řadiči je dost delikátní téma a mohlo by být základem pro celý článek. Zde se však omezíme pouze na vytvoření RAID0 a RAID1 s výchozími nastaveními.
Disky připojené k hardwarovému řadiči nejsou operačnímu systému viditelné. Místo toho řadič "maskuje" všechna RAID pole pod SAS úložiště. Úložiště připojená k řadiči, která nejsou součástí diskového pole, nebudou pro OS dostupná.
root@grindelwald:~# smartctl -i /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-48-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Vendor: AVAGO
Product: MR9460-8i
Revision: 5.14
Compliance: SPC-3
User Capacity: 1,999,844,147,200 bytes [1.99 TB]
Logical block size: 512 bytes
Rotation Rate: Solid State Device
Logical Unit id: 0x000000000000000000000000000000
Serial number: 00000000000000000000000000000000
Device type: disk
Local Time is: Sun Oct 11 16:27:59 2020 MSK
SMART support is: Unavailable - device lacks SMART capability.Ačkoli jsou maskována pod SAS úložišti, pole s NVMe budou pracovat na rychlosti PCIe. Tato vlastnost však umožňuje spuštění z NVMe v Legacy.
Testovací stanice
Každý ze způsobů organizace diskových polí má své fyzické výhody a nevýhody. Ale existuje rozdíl v výkonu při práci s diskovými poli?
Aby bylo dosaženo maximální spravedlnosti, budou všechny testy prováděny na stejném serveru. Jeho konfigurace:
- 2x Intel® Xeon® 6240;
- 12x DDR4-2666 16 GB;
- LSI MegaRAID 9460-8i;
- Intel® VROC Standard Hardware Key;
- 4x Intel® SSD DC P4510 U.2 2TB;
- 1x Samsung 970 EVO Plus M.2 500GB.
Testovanými jsou P4510, z nichž jedna polovina je připojena k základní desce a druhá k RAID řadiči. Na M.2 je nainstalován operační systém Ubuntu 20.04 a testy budou prováděny pomocí fio verze 3.16.
Testování
Nejprve zkontrolujeme latence při práci s diskem. Test probíhá v jednom vláknu, velikost bloku 4 KB. Každý test trvá 5 minut. Před začátkem je pro příslušné blokové zařízení nastaven jako plánovač I/O none. Příkaz fio vypadá následovně:
fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio --iodepth=1 --loops=1000 --runtime=300 --rw= --filename=Z výsledků fio bereme clat 99,00 %. Výsledky jsou uvedeny v tabulce níže.
Náhodné čtení, µs
Náhodné zápisy, µs
Disk
112
78
Linux SW RAID, RAID0
113
45
VROC, RAID0
112
46
LSI, RAID0
122
63
Linux SW RAID, RAID1
113
48
VROC, RAID1
113
45
LSI, RAID1
128
89
Kromě latencí při přístupu k datům bych chtěl vidět výkon virtuálních úložišť a porovnat ho s výkonem fyzického disku. Příkaz pro spuštění fio:
fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio --loops=1000 --runtime=300 --iodepth= --rw= --filename=Výkon se měří v počtu vstupně-výstupních operací. Výsledky jsou uvedeny v tabulce níže.
Náhodné čtení 1 vlákno, IOPS
Náhodné zápisy 1 vlákno, IOPS
Náhodné čtení 128 vláken, IOPS
Náhodné zápisy 128 vláken, IOPS
Disk
11300
40700
453000
105000
Linux SW RAID, RAID0
11200
52000
429000
232000
VROC, RAID0
11200
52300
441000
162000
LSI, RAID0
10900
44200
311000
160000
Linux SW RAID, RAID1
10000
48600
395000
147000
VROC, RAID1
10000
54400
378000
244000
LSI, RAID1
11000
34300
229000
248000
Je snadné si všimnout, že použití hardwarového řadiče zvyšuje latence a snižuje výkon v porovnání se softwarovými řešeními.
Závěr
Použití hardwarových řešení pro tvorbu diskových polí ze dvou disků se zdá být irracionální. Přesto existují úkoly, kde je použití RAID kontrolerů oprávněné. S příchodem kontrolerů podporujících rozhraní NVMe mají uživatelé možnost využít rychlejší SSD ve svých projektech.
Pouze registrovaní uživatelé se mohou účastnit ankety. , prosím.
Používáte RAID řešení?
29,6%Ano, hardwarová řešení32
50,0%Ano, softwarová řešení54
16,7%Ne18
3,7%RAID není potřeba4
Hlasovalo 108 uživatelů. Zdrželo se 14 uživatelů.
Zdroj: habr.com
