
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?
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 . 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/nvme2n1Pas 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
IntelÂź 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.
IntelŸ 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.
Krijimi 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
Pamja 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ë.
Menuja 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.
Krijimi 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.
Vetëm përdoruesit e regjistruar mund të marrin pjesë në anketë. , 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
