RAID-grupet mbi NVMe

RAID-grupet mbi NVMe
Në këtë artikull do të flasim për mënyrat e ndryshme të organizimit të masivëve RAID, si dhe do të tregojmë për një nga kontrolluesit RAID harduerikë të parë me mbështetje për NVMe.

Të gjitha llojet e aplikimeve të teknologjisë RAID gjenden në segmentin e serverëve. Në segmentin e klientëve zakonisht përdoret vetëm RAID0 ose RAID1 me dy disqe.

Në këtë artikull do të japim një përmbledhje të shkurtër të teknologjisë RAID, një udhëzues të vogël për krijimin e masivëve RAID me tre mjete të ndryshme dhe një krahasim të performancës së disqeve virtuale kur përdoren çdo metodë.

ÇfarĂ« Ă«shtĂ« RAID?

Wikipedia jep një definicion të plotë të teknologjisë RAID:

RAID (angl. Redundant Array of Independent Disks — njĂ« masiv i tepĂ«rt i disqeve tĂ« pavarur — teknologji virtualizimi tĂ« tĂ« dhĂ«nave qĂ« bashkon disa pajisje fizike tĂ« diskut nĂ« njĂ« modul logjik pĂ«r tĂ« pĂ«rmirĂ«suar qĂ«ndrueshmĂ«rinĂ« dhe performancĂ«n.

Konfigurimi i masivëve të disqeve dhe teknologjitë e përdorura varen nga nivelet RAID. Nivelet RAID janë standardizuar në specifikimin Common RAID Disk Data Format. Ky dokument përshkruan shumë nivele RAID, megjithatë nivelet më të zakonshme janë konsideruar RAID0, RAID1, RAID5 dhe RAID6.

RAID0, ose Stripes, është një nivel RAID që bashkon dy ose më shumë disqe fizike në një logjik. Kapaciteti i diskut logjik në këtë rast është i barabartë me shumën e kapacitetit të disqeve fizike që përfshihen në masiv. Në këtë nivel RAID nuk ka tepërsi, dhe dështimi i një disku mund të çojë në humbjen e të dhënave në disku virtual.

Niveli RAID1, ose Mirror, krijon kopje identike të të dhënave në dy ose më shumë disqe. Kapaciteti i diskut virtual në këtë rast nuk e kalon kapacitetin minimal të disqeve fizike. Të dhënat në diskun virtual RAID1 do të jenë të aksesueshme sa herë që të paktën një disk fizik nga masivi është në punë. Përdorimi i RAID1 shton tepërsi, por është një zgjidhje mjaft e shtrenjtë, pasi në masivët me dy disqe ose më shumë është i aksesueshëm vetëm kapaciteti i njërit.

Niveli RAID5 zgjidh problemin e kostos së lartë. Për të krijuar një grup me nivel RAID5 nevojiten të paktën 3 disqe, me këtë grup që është i qëndrueshëm ndaj dështimit të një disku. Të dhënat në RAID5 ruhen në blloqe me kontrolle sumash. Nuk ka një ndarje të rreptë midis disqeve me të dhëna dhe disqeve me kontrolle suma. Kontrolli sumash në RAID5 është rezultati i operacionit XOR, i aplikuar për N-1 blloqe, të cilat janë marrë nga disqet e tyre.

Megjithëse grupet RAID rritin mbështetjen dhe ofrojnë rezervimin, ato nuk janë të përshtatshme për ruajtjen e kopjeve rezervë.

Pas një përmbledhjeje të shkurtër mbi llojet e grupeve RAID, mund të kalojmë në pajisjet dhe programet që lejojnë ndërtimin dhe përdorimin e grupeve të disqeve.

Llojet e kontrolleve RAID

Ekzistojnë dy mënyra për të krijuar dhe përdorur grupe RAID: harduerore dhe software. Ne do të shqyrtojmë zgjidhjet e mëposhtme:

  • Linux Software RAID.
  • IntelÂź Virtual RAID On CPU.
  • LSI MegaRAID 9460-8i.

Vlen të theksohet se zgjidhja IntelŸ funksionon në çipin, për shkak të së cilës lind pyetja nëse është zgjidhje harduerore apo software. Për shembull, hipervizori VMWare ESXi e konsideron VROC si software dhe nuk e mbështet zyrtarisht.

Linux Software RAID

Grupet software RAID në familjen e OS Linux janë një zgjidhje e zakonshme si në segmentin e konsumatorëve ashtu edhe në atë server. E vetmja gjë që nevojitet për të ndërtuar një grup është utilita mdadm dhe disa pajisje bllok. Kërkesa e vetme që Linux Software RAID ka për disqet e përdorura është të jenë pajisje bllok, të aksesueshme nga sistemi.

Mungesa e kostove për pajisjet dhe softuerin është një avantazh i dukshëm i kësaj metode. Linux Software RAID organizon grupe disqesh me koston e kohës së procesorit. Lista e niveleve të mbështetura të RAID dhe gjendja e grupeve aktuale të disqeve mund të shihet në skedarin mdstat, i cili ndodhet në rrënjën e procfs:

root@grindelwald:~# cat /proc/mdstat 
Personalitetet : [linear] [multipath] [raid0] [raid1] [raid10] 
disqe të papërdorura:

Mbështetja për nivelet e RAID shtohet duke lidhur modulit përkatës të bërthamës, për shembull:

root@grindelwald:~# modprobe raid456
root@grindelwald:~# cat /proc/mdstat 
Personalitetet : [linear] [multipath] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
disqe të papërdorura:

Të gjitha operacionet me grupet e disqeve kryhen përmes utilitës së komandës mdadm. Ndërtimi i grupit të disqeve bëhet me një komando:

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1

Pas pas aplikacioni të kësaj komande në sistem do të shfaqet një pajisje blloku /dev/md0, e cila përfaqëson një disk virtual.

IntelÂź Virtual RAID On CPU

RAID-grupet mbi NVMeIntelÂź VROC Standard Hardware Key
IntelŸ Virtual RAID On CPU (VROC) është një teknologji softuerike dhe harduerike për krijimin e grupeve RAID mbi bazën e çipsetëve IntelŸ. Kjo teknologji është kryesisht e disponueshme për plakat nënë që mbështesin procesorët IntelŸ XeonŸ Scalable. Nga default, VROC nuk është e disponueshme. Për ta aktivizuar, është e nevojshme të instaloni një çelës licencimi harduerik VROC.

Licenca standarde VROC lejon krijimin e grupeve të diskëve me nivelet RAID 0, 1 dhe 10. Versioni premium e zgjeron këtë listë me mbështetje për RAID5.

Technologjia IntelŸ VROC në plakat nënë moderne funksionon së bashku me IntelŸ Volume Management Device (VMD), e cila mundëson zëvendësimin e ngrohtë për pajisjet me ndërfaqen NVMe.

RAID-grupet mbi NVMeIntelŸ VROC me licencë standarde Konfigurimi i grupeve bëhet përmes Setup Utility gjatë ngarkimit të serverit. Në skedën Të avancuara shfaqet pika IntelŸ Virtual RAID on CPU, ku mund të konfiguroni grupet e diskëve.

RAID-grupet mbi NVMeKrijimi i një grupi RAID1 me dy pajisje ruajtëse
Teknologjia IntelŸ VROC ka "truket e saj në mëngë". Grupet e diskëve të ndërtuara me VROC janë të përputhshme me Linux Software RAID. Kjo do të thotë se gjendja e grupeve mund të monitorohet në /proc/mdstat dhe administrimi bëhet përmes mdadm. Kjo "veçori" mbështetet zyrtarisht nga Intel. Pas ndërtimit të RAID1 në Setup Utility, mund të vëzhgoni sinkronizimin e pajisjeve në OS:

root@grindelwald:~# cat /proc/mdstat 
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : aktive raid1 nvme2n1[1] nvme1n1[0]
      1855832064 blocks super external:/md127/0 [2/2] [UU]
      [>....................]  resync =  1.3% (24207232/1855832064) finish=148.2min speed=205933K/sec
      
md127 : inaktive nvme1n1[1](S) nvme2n1[0](S)
      10402 blocks super external:imsm
       
dispozita të papërdorura: <asnjë>

Vlen të theksohet se përmes mdadm nuk mund të krijohen grupe në VROC (grupet e ndërtuara do të jenë Linux SW RAID), por mund të këmbëngulni diskët në to dhe t'i prishni grupet.

LSI MegaRAID 9460-8i

RAID-grupet mbi NVMePamja e kontrolluesit LSI MegaRAID 9460-8i
Kontrolluesi RAID është një zgjidhje harduerike e pavarur. Kontrolluesi funksionon vetëm me pajisjet e lidhura direkt me të. Ky kontrollues RAID mbështet deri në 24 pajisje me ndërfaqen NVMe. Pikërisht mbështetja NVMe e dallon këtë kontrollues nga shumë të tjerë.

RAID-grupet mbi NVMeMenuja kryesore e kontrolluesit harduerik
Në mënyrën UEFI, konfigurimet e kontrolluesit integrohen në Setup Utility. Krahasuar me VROC, menuja e kontrolluesit hardware duket shumë më e komplikuar.

RAID-grupet mbi NVMeKrijimi i RAID1 në dy disqe
Shpjegimi i konfigurimit të grupeve të disqeve në kontrolluesin hardware është një temë mjaft delikate dhe mund të bëjë që të jetë një artikull i plotë. Këtu ne thjesht do të kufizohemi në krijimin e RAID0 dhe RAID1 me konfigurime të paracaktuara.

Disqet e lidhura në kontrolluesin hardware nuk janë të dukshme për sistemin operativ. Në vend të kësaj, kontrolluesi "maskon" të gjithë grupet RAID si disqe SAS. Disqet e lidhura me kontrolluesin, por që nuk janë pjesë e grupit të disqeve, nuk do të jenë të qasshme për SO.

root@grindelwald:~# smartctl -i /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-48-generic] (ndërtime lokale)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== FILLIMI I seksionit të informacionit ===
Kompania:               AVAGO
Produkt:              MR9460-8i
Revizioni:             5.14
Përputhshmëria:           SPC-3
Kapaciteti i përdoruesit:        1,999,844,147,200 bytes [1.99 TB]
Madhësia logjike e bllokut:   512 bytes
Shpejtësia e rrotullimit:        Pajisje Solid State
ID e Njësisë Logjike:      0x000000000000000000000000000000
Numri serial:        00000000000000000000000000000000
Lloji i pajisjes:          disk
Koha lokale është:        Diel 11 Tetor 16:27:59 2020 MSK
Përkrahja SMART është:     E pa Disponueshme - pajisja nuk ka aftësi SMART.

Megjithëse maskohet si disqe SAS, grupet me NVMe do të punojnë me shpejtësinë PCIe. Megjithatë, kjo karakteristikë lejon ngarkimin nga NVMe në Legacy.

Standi i testimit

Çdo njĂ« nga mĂ«nyrat e organizimit tĂ« grupeve tĂ« disqeve ka avantazhe dhe disavantazhe fizike. Por a ka ndonjĂ« ndryshim nĂ« performancĂ« gjatĂ« punĂ«s me grupet e disqeve?

Për të arritur një drejtësi maksimale, të gjitha testet do të kryhen në të njëjtin server. Konfigurimi i tij:

  • 2x IntelÂź XeonÂź 6240;
  • 12x DDR4-2666 16 GB;
  • LSI MegaRAID 9460-8i;
  • ÇelĂ«si Standard Hardware i IntelÂź VROC;
  • 4x IntelÂź SSD DC P4510 U.2 2TB;
  • 1x Samsung 970 EVO Plus M.2 500GB.

Të testuarit janë P4510, nga të cilat një gjysmë është lidhur me tabelën e nënës, ndërsa tjetra është lidhur me kontrolluesin RAID. Në M.2 është instaluar sistemi operativ Ubuntu 20.04, dhe testimet do të kryhen me ndihmën e fio version 3.16.

Testimi

NĂ« radhĂ« tĂ« parĂ« do tĂ« kontrollojmĂ« vonesat gjatĂ« punĂ«s me diskun. Testi kryhet nĂ« njĂ« kanal, madhĂ«sia e bllokut 4 KB. Çdo test zgjat 5 minuta. Para fillimit, pĂ«r pajisjen pĂ«rkatĂ«se tĂ« bllokut, planifikuesi I/O vendoset nĂ« none. Komanda fio duket si mĂ« poshtĂ«:

fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio  --iodepth=1 --loops=1000 --runtime=300  --rw= --filename=

Nga rezultatet e fio ne marrim clat 99.00%. Rezultatet janë paraqitur në tabelën më poshtë.

Leximi i rastit, ”s
Shkrimi i rastit, ”s

Disku
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

Përveç vonesave në qasjen në të dhëna, dëshiroj të shoh performancën e ruajtësve virtualë dhe ta krahason me performancën e diskut fizik. Komanda për të nisur fio:

fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio --loops=1000 --runtime=300 --iodepth= --rw= --filename=

Performanca matet në numrin e operacioneve të hyrjes dhe daljes. Rezultatet janë paraqitur në tabelën më poshtë.

Leximi i rastit 1 rrjedhë, IOPS
Shkrimi i rastit 1 rrjedhë, IOPS
Leximi i rastit 128 rrjedha, IOPS
Shkrimi i rastit 128 rrjedha, IOPS

Disku
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

ËshtĂ« e lehtĂ« tĂ« vĂ«resh se pĂ«rdorimi i kontrolluesit harduerik sjell njĂ« rritje tĂ« vonesave dhe ulje tĂ« performancĂ«s krahasuar me zgjidhjet programore.

Përfundim

Përdorimi i zgjidhjeve harduerike për të krijuar grupe diskesh nga dy disqe duket irracional. Megjithatë, ka detyra ku përdorimi i kontrolluesve RAID është i arsyeshëm. Me shfaqjen e kontrolluesve që mbështesin ndërfaqen NVMe, përdoruesit kanë mundësinë të përdorin SSD më të shpejtë në projektet e tyre.

RAID-grupet mbi NVMe

Vetëm përdoruesit e regjistruar mund të marrin pjesë në anketë. Hyni, ju lutem.

A përdorni zgjidhje RAID?

  • 29,6%Po, zgjidhje harduerike32

  • 50,0%Po, zgjidhje programore54

  • 16,7%Jo18

  • 3,7%RAID nuk Ă«shtĂ« i nevojshĂ«m4

Kanë votuar 108 përdorues. U përmbajtën 14 përdorues.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster