
Šajā rakstā mēs pastāstīsim par dažādām RAID masīvu organizēšanas metodēm, kā arī parādīsim vienu no pirmajiem aparatūras RAID kontrolieriem ar NVMe atbalstu.
Visdažādākās RAID tehnoloģijas izmantošanas iespējas tiek novērotas serveru segmentā. Klientu segmentā visbiežāk tiek izmantots tikai programmatūras RAID0 vai RAID1 uz diviem diskiem.
Šajā rakstā būs īss apskats par RAID tehnoloģiju, neliela instrukcija par RAID masīvu izveidi, izmantojot trīs dažādus rīkus, un salīdzinājums par virtuālo disku veiktspēju, izmantojot katru no metodēm.
Kas ir RAID?
dod visaptverošu definīciju RAID tehnoloģijai:
RAID (angl. Redundant Array of Independent Disks — pārmērīgs neatkarīgu (patstāvīgu) disku masīvs — datu virtualizācijas tehnoloģija, lai apvienotu vairākus fiziskos diska ierīces loģiskā modulī, tādējādi palielinot noturību pret bojājumiem un veiktspēju.
Diska masīvu konfigurācija un tajos izmantotās tehnoloģijas ir atkarīgas no izvēlētā RAID līmeņa (RAID level). RAID līmeņi ir standartizēti specifikācijās . Tajā ir aprakstīti vairāki RAID līmeņi, tomēr visizplatītākie ir RAID0, RAID1, RAID5 un RAID6.
RAID0, vai Stripes, — tā ir RAID līmeņa metode, kas apvieno divus vai vairākus fiziskos diskus vienā loģiskajā diskā. Loģiskā diska apjoms ir vienāds ar fizisko disku apjomu summu, kas veido masīvu. Šajā RAID līmenī nav pārmērīguma, un viena diska bojāejas gadījumā var rasties visu datu zudums virtuālajā diskā.
Līmenis RAID1, vai Mirror, izveido identiskas datu kopijas uz diviem vai vairākiem diskiem. Virtuālā diska apjoms šajā gadījumā nepārsniedz minimālā fiziskā diska apjomu. Dati uz virtuālā RAID1 diska būs pieejami, kamēr viens fiziskais disks no masīva darbojas. RAID1 izmantošana pievieno pārmērīgumu, bet ir diezgan dārga risinājuma, jo masīvos ar diviem un vairāk diskiem ir pieejams apjoms tikai viena diska ietvaros.
Līmenis RAID5 risina dārdzība. Lai izveidotu masīvu ar RAID5 līmeni, nepieciešami vismaz 3 diski, un šis masīvs ir izturīgs pret viena diska bojāeju. Dati RAID5 tiek glabāti blokos ar kontrolsummām. Nav stingras dalīšanas starp datu diskiem un kontrolsuma diskiem. Kontrolsummas RAID5 ir rezultāts XOR operācijas, pielietotas N-1 blokiem, no kuriem katrs ņemts no sava diska.
Lai gan RAID masīvi palielina redundanci un nodrošina rezerves kopijas, tie nav piemēroti rezerves datu glabāšanai.
Pēc īsas ekskursijas pa RAID masīvu veidiem var pāriet pie ierīcēm un programmām, kas ļauj izveidot un izmantot disku masīvus.
RAID kontrolieru veidi
Ir divi veidi, kā izveidot un izmantot RAID masīvus: aparatūras un programmatūras. Mēs apskatīsim šādus risinājumus:
- Linux programmatūras RAID.
- Intel® Virtual RAID On CPU.
- LSI MegaRAID 9460-8i.
Jāatzīmē, ka Intel® risinājums darbojas uz čipseta, tādēļ rodas jautājums, vai tas ir aparatūras risinājums vai programmatūras. Piemēram, hipervizors VMWare ESXi uzskata VROC par programmatūras un to oficiāli neatbalsta.
Linux programmatūras RAID
Programmatūras RAID masīvi Linux operētājsistēmas ģimenē ir pietiekami izplatīts risinājums gan klientu segmentā, gan serveru vidē. Viss, kas nepieciešams, lai izveidotu masīvu, ir rīks mdadm un vairāki bloku ierīces. Vienīgā prasība, ko Linux programmatūras RAID izvirza attiecībā uz izmantotajām ierīcēm, ir būt bloku ierīcei, kas pieejama sistēmai.
Zemākas izmaksas attiecībā uz aparatūru un programmatūru ir acīmredzams šā risinājuma pluss. Linux programmatūras RAID organizē diskus ar procesoru izmaksām. Atbalstīto RAID līmeņu sarakstu un pašreizējā disku masīvu stāvokli var aplūkot failā mdstat, kas atrodas procfs saknē:
root@grindelwald:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid10]
unused devices:
RAID līmeņu atbalsts tiek pievienots, ielādējot attiecīgo kodola moduli, piemēram:
root@grindelwald:~# modprobe raid456
root@grindelwald:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
unused devices:Visas darbības ar disku masīviem tiek veiktas caur komandrindas rīku mdadm. Disku masīva izveide notiek ar vienu komandu:
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1Pēc šīs komandas izpildes sistēmā parādīsies bloka ierīce /dev/md0, kas pārstāv virtuālo disku.
Intel® Virtual RAID On CPU
Intel® VROC Standarta aparatūras atslēga
Intel® Virtual RAID On CPU (VROC) ir programmatūras un aparatūras tehnoloģija, kas ļauj izveidot RAID masīvus, pamatojoties uz Intel® čipsetiem. Šī tehnoloģija galvenokārt ir pieejama galvenajām plates, kas atbalsta Intel® Xeon® Scalable procesorus. Noklusējuma VROC nav pieejams. Tā aktivizēšanai nepieciešams uzstādīt aparatūras licencēšanas atslēgu VROC.
Standarta VROC licence ļauj veidot disku masīvus ar 0, 1 un 10 līmeņa RAID. Premium versija paplašina šo sarakstu, atbalstot RAID5.
Intel® VROC tehnoloģija mūsdienu galvenajās plātēs darbojas kopā ar Intel® Volume Management Device (VMD), kas nodrošina karsto nomaiņu NVMe saskarnes glabātuviem.
Intel® VROC ar standarta licenci Masīvu konfigurēšana tiek veikta caur Setup Utility servera ielādes laikā. Cilnē Papildu parādās punkts Intel® Virtual RAID on CPU, kur var konfigurēt disku masīvus.
RAID1 masīva izveide uz diviem glabātuves ierīcēm
Intel® VROC tehnoloģijai ir savi "triki". Masīvi, kas izveidoti, izmantojot VROC, ir savietojami ar Linux Software RAID. Tas nozīmē, ka masīvu stāvokli var pārraudzīt /proc/mdstat, un administrēt — izmantojot mdadm. Šī "īpašība" tiek oficiāli atbalstīta no Intel. Pēc RAID1 izveides Setup Utility var novērot ierīču sinhronizāciju OS:
root@grindelwald:~# cat /proc/mdstat
Personības: [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md126: aktīvs raid1 nvme2n1[1] nvme1n1[0]
1855832064 bloki super externā:/md127/0 [2/2] [UU]
[>....................] resync = 1.3% (24207232/1855832064) finish=148.2min speed=205933K/sec
md127: neaktīvs nvme1n1[1](S) nvme2n1[0](S)
10402 bloki super externā:imsm
neizmantotās ierīces: <none>Jāatzīmē, ka caur mdadm nevar izveidot masīvus uz VROC (izveidotie masīvi būs Linux SW RAID), bet var mainīt tajā cietos diskus un izjaukt masīvus.
LSI MegaRAID 9460-8i
LSI MegaRAID 9460-8i kontroliera izskats
RAID kontrolieris ir patstāvīgs aparatūras risinājums. Kontrolieris darbojas tikai ar ierīcēm, kas pieslēgtas tieši tam. Šis RAID kontrolieris atbalsta līdz 24 NVMe saskarnes ierīcēm. Tieši NVMe atbalsts izceļ šo kontrolieri starp daudziem citiem.
Aparatūras kontroliera galvenā izvēlne
Izmantojot UEFI režīmu, kontrolleru iestatījumi tiek integrēti Setup Utility. Salīdzinājumā ar VROC aparatūras kontroliera izvēlni, tā izskatās ievērojami sarežģītāk.
RAID1 izveide divos diskos
Disku masīvu iestatīšanas skaidrojums aparatūras kontrolierī ir pietiekami niansēts temats un var kalpot par pamatu pilnvērtīgam rakstam. Šajā gadījumā mēs vienkārši aprobežosimies ar RAID0 un RAID1 izveidi ar noklusējuma iestatījumiem.
Diski, kas pieslēgti aparatūras kontrolierim, nav redzami operētājsistēmai. Tā vietā kontrolieris "maskē" visus RAID masīvus kā SAS disku. Diski, kas pievienoti kontrolierim, bet nav daļa no disku masīva, nebūs pieejami operētājsistēmai.
root@grindelwald:~# smartctl -i /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-48-generic] (lokālā versija)
Autortiesības (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== INFORMĀCIJAS SEKCIJAS SĀKUMS ===
Ražotājs: AVAGO
Produkta nosaukums: MR9460-8i
Revidēšana: 5.14
Atbilstība: SPC-3
Lietotāja jauda: 1,999,844,147,200 baiti [1.99 TB]
Loģiskā bloka izmērs: 512 baiti
Rotācijas ātrums: Cietais statisko ierīču disks
Loģiskā vienības ID: 0x000000000000000000000000000000
Sērijas numurs: 00000000000000000000000000000000
Ierīces veids: disks
Vietējais laiks: Svētdien, 2020. gada 11. oktobris 16:27:59 MSK
SMART atbalsts: Nav pieejams - ierīce neatbalsta SMART iespējas.Neskatoties uz maskēšanu kā SAS diskus, NVMe masīvi darbosies PCIe ātrumā. Tomēr šāda iezīme ļauj startēt no NVMe Legacy režīmā.
Testa stends
Katram diskus masīvu organizēšanas veidam ir savi fiziskie plusi un mīnusi. Bet vai ir atšķirība veiktspējā, strādājot ar diskus masīviem?
Lai panāktu maksimālu taisnīgumu, visi testi tiks veikti vienā un tajā pašā serverī. Tās konfigurācija:
- 2x Intel® Xeon® 6240;
- 12x DDR4-2666 16 GB;
- LSI MegaRAID 9460-8i;
- Intel® VROC Standarta aparatūras atslēga;
- 4x Intel® SSD DC P4510 U.2 2TB;
- 1x Samsung 970 EVO Plus M.2 500GB.
Testēšanas objekti ir P4510, no kuriem viena puse ir pieslēgta pie mātes plates, bet otra - pie RAID kontroliera. Operētājsistēma Ubuntu 20.04 ir uzstādīta uz M.2, un testi tiks veikti ar fio versiju 3.16.
Testēšana
Vispirms pārbaudīsim aizkaves, strādājot ar disku. Tests tiek veikts vienā plūsmā, blokāda 4 KB. Katrs tests ilgst 5 minūtes. Pirms tam attiecīgajam blokieram kā I/O plānotājs tiek iestatīts none. Komanda fio izskatās šādi:
fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio --iodepth=1 --loops=1000 --runtime=300 --rw= --filename=No fio rezultātiem mēs ņemam clat 99.00%. Rezultāti ir sniegti zemāk tabulā.
nejaušā lasīšana, μs
nejauša rakstīšana, μs
Disks
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
Papildus piekļuves laikiem vēlos redzēt virtuālo krātuves veiktspēju un salīdzināt to ar fiziskā diska veiktspēju. Komanda, lai uzsāktu fio:
fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio --loops=1000 --runtime=300 --iodepth= --rw= --filename=Veiktspēja tiek mērīta kā I/O operāciju skaits. Rezultāti ir sniegti zemāk tabulā.
nejauša lasīšana 1 plūsma, IOPS
nejauša rakstīšana 1 plūsma, IOPS
nejauša lasīšana 128 plūsmas, IOPS
nejauša rakstīšana 128 plūsmas, IOPS
Disks
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
Viegli pamanīt, ka aparatūru kontrolieru izmantošana palielina aizkavi un veiktspējas kritumus salīdzinājumā ar programmatūras risinājumiem.
Secinājums
Aparatūras risinājumu izmantošana divu disku diskos joprojām šķiet neracionāla. Tomēr ir uzdevumi, kur RAID kontrolieru izmantošana ir pamatota. Ar NVMe interfeisa atbalstošu kontrolieru parādīšanos lietotājiem ir iespēja izmantot ātrākus SSD savos projektos.
Tikai reģistrētie lietotāji var piedalīties aptaujā. , lūdzu.
Vai jūs izmantojat RAID risinājumus?
29,6%Jā, aparatūras risinājumi32
50,0%Jā, programmatūras risinājumi54
16,7%Nē18
3,7%RAID nav nepieciešams4
Nobalsoja 108 lietotāji. Atturējās 14 lietotāji.
Avots: habr.com
