Kailangan bang lumikha ng isang RAID array mula sa isang SSD at anong mga controller ang kailangan para dito?

Hello Habr! Sa artikulong ito sasabihin namin sa iyo kung ito ay nagkakahalaga ng pag-aayos ng mga array ng RAID batay sa mga solid-state na solusyon na SATA SSD at NVMe SSD, at magkakaroon ba ng malubhang kita mula dito? Napagpasyahan naming tingnan ang isyung ito sa pamamagitan ng pagsasaalang-alang sa mga uri at uri ng mga controllers na nagpapahintulot nito na gawin, pati na rin ang saklaw ng aplikasyon ng mga naturang configuration.

Kailangan bang lumikha ng isang RAID array mula sa isang SSD at anong mga controller ang kailangan para dito?

Sa isang paraan o iba pa, bawat isa sa atin kahit isang beses sa ating buhay ay nakarinig ng mga kahulugan tulad ng "RAID", "RAID-array", "RAID-controller", ngunit malamang na hindi tayo nagbigay ng seryosong kahalagahan dito, dahil ang lahat ng ito ay hindi malamang para sa isang ordinaryong PC boyar Interesting. Ngunit gusto ng lahat ng mataas na bilis mula sa mga panloob na drive at walang problema na operasyon. Pagkatapos ng lahat, gaano man kalakas ang hardware ng computer, ang bilis ng drive ay nagiging bottleneck pagdating sa pinagsamang pagganap ng PC at server.

Ganito ang nangyari hanggang sa ang mga tradisyonal na HDD ay napalitan ng mga modernong NVMe SSD na may maihahambing na kapasidad na 1 TB o higit pa. At kung mas maaga sa mga PC mayroong madalas na mga kumbinasyon ng SATA SSD + isang pares ng mga capacious HDD, ngayon ay nagsisimula silang mapalitan ng isa pang solusyon - NVMe SSD + isang pares ng mga capacious SATA SSDs. Kung pag-uusapan natin ang tungkol sa mga corporate server at β€œclouds,” marami na ang matagumpay na lumipat sa SATA SSDs, dahil lang sa mas mabilis ang mga ito kaysa sa conventional na β€œtin cans” at may kakayahang magproseso ng mas malaking bilang ng I/O operations nang sabay-sabay.

Kailangan bang lumikha ng isang RAID array mula sa isang SSD at anong mga controller ang kailangan para dito?

Gayunpaman, ang fault tolerance ng system ay nasa medyo mababang antas pa rin: hindi natin mahuhulaan, tulad ng sa β€œBattle of Psychics,” nang may katumpakan kahit hanggang isang linggo kung kailan mamamatay ang isang partikular na solid-state drive. At kung ang mga HDD ay "mamamatay" nang unti-unti, na nagpapahintulot sa iyo na mahuli ang mga sintomas at kumilos, pagkatapos ay ang mga SSD ay "mamamatay" kaagad at walang babala. At ngayon na ang oras upang malaman kung bakit kailangan ang lahat ng ito? Sulit ba ang pag-aayos ng mga RAID arrays batay sa mga solid-state solution na SATA SSD at NVMe SSD, at magkakaroon ba ng seryosong kita mula dito?

Bakit kailangan mo ng RAID array?

Ang mismong salitang "array" ay nagpapahiwatig na na maraming mga drive (HDD at SSD) ang ginagamit upang lumikha nito, na pinagsama gamit ang isang RAID controller at kinikilala ng OS bilang isang solong imbakan ng data. Ang pandaigdigang gawain na malulutas ng RAID arrays ay ang pagliit ng oras ng pag-access ng data, pagpapataas ng bilis ng pagbasa/pagsusulat at pagiging maaasahan, na nakakamit salamat sa kakayahang mabilis na makabawi kung sakaling mabigo. Sa pamamagitan ng paraan, hindi kinakailangan na gumamit ng RAID para sa mga pag-backup sa bahay. Ngunit kung mayroon kang sariling server sa bahay, kung saan kailangan mo ng patuloy na pag-access 24/7, ibang bagay iyon.

Mayroong higit sa isang dosenang antas ng mga array ng RAID, na ang bawat isa ay naiiba sa bilang ng mga drive na ginamit dito at may sariling mga kalamangan at kahinaan: halimbawa, pinapayagan ka ng RAID 0 na makakuha ng mataas na pagganap nang walang pagpapahintulot sa kasalanan, pinapayagan ka ng RAID 1 na awtomatikong i-mirror ang data nang hindi tumataas ang bilis, at ang RAID 10 na pinagsama ay naglalaman ng mga posibilidad ng nasa itaas. Ang RAID 0 at 1 ay ang pinakasimpleng (dahil hindi sila nangangailangan ng mga kalkulasyon ng software) at, bilang resulta, ang pinakasikat. Sa huli, ang pagpili na pabor sa isa o isa pang antas ng RAID ay nakasalalay sa mga gawaing itinalaga sa hanay ng disk at sa mga kakayahan ng controller ng RAID.

Home at corporate RAID: ano ang pagkakaiba?

Ang batayan ng anumang modernong negosyo ay malalaking volume ng data na dapat na ligtas na nakaimbak sa mga server ng kumpanya. At gayundin, tulad ng nabanggit namin sa itaas, dapat silang bigyan ng patuloy na pag-access 24/7. Malinaw na, kasama ang hardware, ang bahagi ng software ay mahalaga din, ngunit sa kasong ito ay pinag-uusapan pa rin natin ang tungkol sa kagamitan na nagsisiguro ng maaasahang pag-iimbak at pagproseso ng impormasyon. Walang software ang magliligtas sa isang kumpanya mula sa pagkasira kung hindi natutugunan ng hardware ang mga gawaing itinalaga dito.

Kailangan bang lumikha ng isang RAID array mula sa isang SSD at anong mga controller ang kailangan para dito?

Para sa mga gawaing ito, nag-aalok ang anumang tagagawa ng hardware ng tinatawag na mga enterprise device. Ang Kingston ay may makapangyarihang solid-state na solusyon sa anyo ng mga modelong SATA Kingston 450R (DC450R) ΠΈ serye ng DC500, pati na rin ang mga modelo ng NVMe DC1000M U.2 NVMe, DCU1000 U.2 NVMe at DCP-1000 PCI-e, na nilayon para gamitin sa mga data center at supercomputer. Ang mga array ng naturang mga drive ay karaniwang ginagamit kasabay ng mga hardware controller.

Kailangan bang lumikha ng isang RAID array mula sa isang SSD at anong mga controller ang kailangan para dito?

Para sa consumer market (iyon ay, para sa mga home PC at NAS server), mga drive tulad ng Kingston KC2000 NVMe PCIe, ngunit sa kasong ito ay hindi kinakailangan na bumili ng hardware controller. Maaari mong limitahan ang iyong sarili sa isang PC o NAS server na nakapaloob sa motherboard, maliban kung siyempre plano mong mag-assemble ng isang home server sa iyong sarili para sa mga hindi tipikal na gawain (pagsisimula ng isang maliit na home hosting para sa mga kaibigan, halimbawa). Bilang karagdagan, ang mga array ng home RAID, bilang panuntunan, ay hindi nangangailangan ng daan-daan o libu-libong mga drive, na limitado sa dalawa, apat at walong device (karaniwang SATA).

Mga uri at uri ng RAID controllers

May tatlong uri ng RAID controllers batay sa mga prinsipyo ng pagpapatupad ng RAID arrays:

1. Software, kung saan ang pamamahala ng array ay nahuhulog sa CPU at DRAM (iyon ay, ang program code ay pinaandar sa processor).

2. Pinagsama, ibig sabihin, nakapaloob sa mga motherboard ng isang PC o NAS server.

3. Hardware (modular), na mga discrete expansion card para sa mga konektor ng PCI/PCIe sa mga motherboard.

Ano ang kanilang pangunahing pagkakaiba sa isa't isa? Ang mga software RAID controllers ay mas mababa kaysa sa integrated at hardware sa mga tuntunin ng pagganap at fault tolerance, ngunit hindi nangangailangan ng mga espesyal na kagamitan upang gumana. Gayunpaman, mahalagang tiyakin na ang processor ng host system ay sapat na makapangyarihan upang patakbuhin ang RAID software nang hindi negatibong nakakaapekto sa pagganap ng mga application na tumatakbo din sa host. Ang mga pinagsama-samang controller ay karaniwang nilagyan ng kanilang sariling cache memory at gumagamit ng isang tiyak na halaga ng mga mapagkukunan ng CPU.

Ngunit ang mga hardware ay may parehong sariling cache memory at isang built-in na processor para sa pagpapatupad ng mga algorithm ng software. Kadalasan, pinapayagan ka nitong ipatupad ang lahat ng uri ng antas ng RAID at suportahan ang ilang uri ng mga drive nang sabay-sabay. Halimbawa, ang mga modernong controllers ng hardware mula sa Broadcom ay maaaring sabay na kumonekta sa mga aparatong SATA, SAS at NVMe, na nagpapahintulot sa iyo na huwag baguhin ang controller kapag nag-a-upgrade ng mga server: lalo na, kapag lumipat mula sa SATA SSD patungo sa NVMe SSD, hindi kailangang baguhin ang mga controller.

Kailangan bang lumikha ng isang RAID array mula sa isang SSD at anong mga controller ang kailangan para dito?

Sa totoo lang, sa tala na ito napunta tayo sa tipolohiya ng mga controllers mismo. Kung may mga three-mode, dapat bang may iba pa? Sa kasong ito, ang sagot sa tanong na ito ay nasa sang-ayon. Depende sa mga function at kakayahan, ang mga controller ng RAID ay maaaring nahahati sa ilang uri:

1. Mga ordinaryong controller na may function ng RAID
Sa buong hierarchy, ito ang pinakasimpleng controller na nagbibigay-daan sa iyong pagsamahin ang HDD at SSD sa mga RAID array ng mga antas na "0", "1" o "0+1". Ito ay ipinatupad sa pamamagitan ng program sa antas ng firmware. Gayunpaman, ang mga naturang device ay halos hindi mairekomenda para sa paggamit sa corporate segment, dahil wala silang cache at hindi sinusuportahan ang mga arrays ng mga antas na "5", "3", atbp. Ngunit para sa isang entry-level na home server ay angkop ang mga ito.

2. Mga Controller na gumagana kasabay ng iba pang mga controller ng RAID
Ang ganitong uri ng controller ay maaaring ipares sa integrated motherboard controllers. Ito ay ipinatupad ayon sa sumusunod na prinsipyo: ang isang discrete RAID controller ay nag-aalaga sa paglutas ng "lohikal" na mga problema, at ang built-in na isa ay tumatagal sa mga function ng data exchange sa pagitan ng mga drive. Ngunit mayroong isang nuance: ang parallel na operasyon ng naturang mga controller ay posible lamang sa mga katugmang motherboard, na nangangahulugang ang kanilang saklaw ng aplikasyon ay seryosong limitado.

3. Mga standalone RAID controllers
Ang mga discrete na solusyon na ito ay naglalaman ng lahat ng kinakailangang chips upang gumana sa mga enterprise-class na server, na mayroong sariling BIOS, cache memory at processor para sa mabilis na pagwawasto ng error at pagkalkula ng checksum. Bilang karagdagan, natutugunan nila ang mataas na pamantayan ng pagiging maaasahan sa mga tuntunin ng pagmamanupaktura at may mataas na kalidad na mga module ng memorya.

4. Panlabas na RAID controllers
Hindi mahirap hulaan na ang lahat ng mga controller na nakalista sa itaas ay panloob at tumatanggap ng kapangyarihan sa pamamagitan ng PCIe connector ng motherboard. Ano ang ibig sabihin nito? At ang kabiguan ng motherboard ay maaaring humantong sa mga error sa pagpapatakbo ng RAID array at pagkawala ng data. Ang mga panlabas na controller ay napalaya mula sa hindi pagkakaunawaan na ito, dahil nakalagay ang mga ito sa isang hiwalay na kaso na may independiyenteng supply ng kuryente. Sa mga tuntunin ng pagiging maaasahan, ang mga naturang controller ay nagbibigay ng pinakamataas na antas ng imbakan ng data.

Broadcom, Microsemi Adaptec, Intel, IBM, Dell at Cisco ay ilan lamang sa mga kumpanyang kasalukuyang nag-aalok ng hardware RAID controllers.

Mga operating mode ng RAID controllers SAS/SATA/NVMe

Ang pangunahing layunin ng tri-mode na HBA at RAID controllers (o controllers na may Tri-Mode functionality) ay ang lumikha ng NVMe-based na hardware RAID. Magagawa ito ng 9400 series controllers ng Broadcom: halimbawa, MegaRAID 9460-16i. Ito ay kabilang sa isang independiyenteng uri ng RAID controller, ay nilagyan ng apat na SFF-8643 connectors at, salamat sa Tri-Mode support, pinapayagan kang kumonekta sa SATA/SAS at NVMe drive nang sabay-sabay. Bilang karagdagan, ito rin ay isa sa mga pinaka-matipid sa enerhiya na controllers sa merkado (kumokonsumo lamang ng 17 Watts ng enerhiya, na may mas mababa sa 1,1 Watts para sa bawat isa sa 16 na port).

Kailangan bang lumikha ng isang RAID array mula sa isang SSD at anong mga controller ang kailangan para dito?

Ang interface ng koneksyon ay PCI Express x8 na bersyon 3.1, na nagbibigay-daan para sa isang throughput na 64 Gbit/s (inaasahang lalabas ang mga controller para sa PCI Express 2020 sa 4.0). Ang 16-port controller ay batay sa isang 2-core chip SAS3516 at 72-bit DDR4-2133 SDRAM (4 GB), pati na rin ang kakayahang kumonekta ng hanggang 240 SATA/SAS drive, o hanggang 24 na NVMe device. Sa mga tuntunin ng pag-aayos ng mga array ng RAID, ang mga antas na "0", "1", "5" at "6", pati na rin ang "10", "50" at "60" ay sinusuportahan. Sa pamamagitan ng paraan, cache memory MegaRAID 9460-16i at iba pang mga controller sa 9400 series ay protektado mula sa mga pagkabigo ng boltahe ng opsyonal na CacheVault CVPM05 module.

Ang three-mode na teknolohiya ay batay sa SerDes data conversion function: pag-convert ng serial representasyon ng data sa SAS/SATA interface sa parallel form sa PCIe NVMe at vice versa. Ibig sabihin, nakikipagnegosasyon ang controller sa mga bilis at protocol upang gumana nang walang putol sa alinman sa tatlong uri ng mga storage device. Nagbibigay ito ng walang putol na paraan upang sukatin ang mga imprastraktura ng data center: maaaring gamitin ng mga user ang NVMe nang hindi gumagawa ng makabuluhang pagbabago sa iba pang mga configuration ng system.

Kailangan bang lumikha ng isang RAID array mula sa isang SSD at anong mga controller ang kailangan para dito?

Gayunpaman, kapag nagpaplano ng mga pagsasaayos sa mga NVMe drive, ito ay nagkakahalaga ng pagsasaalang-alang na ang mga solusyon sa NVMe ay gumagamit ng 4 na PCIe lane upang kumonekta, na nangangahulugang ang bawat drive ay gumagamit ng lahat ng mga linya ng SFF-8643 port. Lumalabas na apat na NVMe drive lamang ang maaaring direktang konektado sa MegaRAID 9460-16i controller. O limitahan ang iyong sarili sa dalawang solusyon sa NVMe habang sabay na kumukonekta sa walong SAS drive (tingnan ang diagram ng koneksyon sa ibaba).

Kailangan bang lumikha ng isang RAID array mula sa isang SSD at anong mga controller ang kailangan para dito?

Ipinapakita ng figure ang paggamit ng connector "0" (C0 / Connector 0) at connector "1" para sa mga koneksyon sa NVMe, pati na rin ang mga connector na "2" at "3" para sa mga koneksyon sa SAS. Maaaring baligtarin ang pagsasaayos na ito, ngunit dapat na konektado ang bawat x4 NVMe drive gamit ang mga katabing lane. Ang mga operating mode ng controller ay itinakda sa pamamagitan ng StorCLI o Human Interface Infrastructure (HII) configuration utilities, na gumagana sa UEFI environment.

Kailangan bang lumikha ng isang RAID array mula sa isang SSD at anong mga controller ang kailangan para dito?

Ang default na mode ay "PD64" profile (sumusuporta lamang sa SAS/SATA). Tulad ng sinabi namin sa itaas, mayroong tatlong profile sa kabuuan: ang mode na "SAS/SATA only mode" (PD240 / PD64 / PD 16), ang "NVMe only mode" (PCIe4) mode at isang mixed mode kung saan ang lahat ng uri ng drive maaaring gumana: "PD64 -PCIe4" (suporta para sa 64 na pisikal at virtual na disk na may 4 na NVMe drive). Sa mixed mode, ang value ng tinukoy na profile ay dapat na β€œProfileID=13”. Sa pamamagitan ng paraan, ang napiling profile ay nai-save bilang master at hindi na-reset kahit na bumalik sa mga setting ng factory sa pamamagitan ng Set Factory Defaults na utos. Maaari lamang itong baguhin nang manu-mano.

Sulit ba ang paglikha ng isang RAID array sa isang SSD?

Kaya, naunawaan na namin na ang mga RAID array ay ang susi sa mataas na pagganap. Ngunit sulit ba ang pagbuo ng RAID mula sa mga SSD para sa bahay at pang-korporasyon na paggamit? Maraming mga nag-aalinlangan ang nagsasabi na ang pagtaas ng bilis ay hindi gaanong kapansin-pansin sa pag-splurge sa mga NVMe drive. Pero ganito ba talaga? Halos hindi. Ang pinakamalaking limitasyon sa paggamit ng mga SSD sa RAID (kapwa sa bahay at sa antas ng enterprise) ay maaaring ang presyo lang. Anuman ang masasabi ng isa, ang halaga ng isang gigabyte na espasyo sa isang HDD ay mas mura.

Ang pagkonekta ng maraming solid state na "drive" sa isang RAID controller upang lumikha ng SSD array ay maaaring magkaroon ng malaking epekto sa performance sa ilang partikular na configuration. Gayunpaman, huwag kalimutan na ang maximum na pagganap ay limitado sa pamamagitan ng throughput ng RAID controller mismo. Ang RAID level na nag-aalok ng pinakamahusay na performance ay RAID 0.

Kailangan bang lumikha ng isang RAID array mula sa isang SSD at anong mga controller ang kailangan para dito?

Ang isang kumbensyonal na RAID 0 na may dalawang SSD, na gumagamit ng isang paraan ng paghahati ng data sa mga nakapirming bloke at pagtanggal sa mga ito sa solid state storage, ay magreresulta sa dobleng pagganap kumpara sa isang SSD. Gayunpaman, ang RAID 0 array na may apat na SSD ay magiging apat na beses nang mas mabilis kaysa sa pinakamabagal na SSD sa array (depende sa limitasyon ng bandwidth sa RAID SSD controller level).

Batay sa simpleng arithmetic, ang SATA SSD ay humigit-kumulang 3 beses na mas mabilis kaysa sa tradisyonal na SATA HDD. Ang mga solusyon sa NVMe ay mas mahusay - 10 beses o higit pa. Sa kondisyon na ang dalawang hard drive sa isang zero-level na RAID ay nagpapakita ng dobleng pagganap, na tumataas ito ng 50%, dalawang SATA SSD ay magiging 6 na beses na mas mabilis, at dalawang NVMe SSD ay magiging 20 beses na mas mabilis. Sa partikular, ang isang Kingston KC2000 NVMe PCIe drive ay makakamit ang sunud-sunod na bilis ng pagbasa at pagsulat na hanggang 3200 MB/s, na sa RAID 0 na format ay aabot sa isang kahanga-hangang 6 GB/s. At ang bilis ng pagbasa/pagsusulat ng mga random na bloke na 4 KB ang laki ay magiging 350 IOPS mula sa 000 IOPS. Ngunit... sa parehong oras, ang "zero" na RAID ay hindi nagbibigay sa amin ng redundancy.

Masasabing sa mga kapaligiran sa bahay, kadalasang hindi kailangan ang storage redundancy, kaya ang pinaka-angkop na pagsasaayos ng RAID para sa mga SSD ay talagang nagiging RAID 0. Ito ay isang maaasahang paraan upang makakuha ng makabuluhang pagpapabuti sa pagganap bilang alternatibo sa paggamit ng mga teknolohiya tulad ng Intel Optane-based Mga SSD. Ngunit pag-uusapan natin kung paano kumikilos ang mga solusyon sa SSD sa mga pinakasikat na uri ng RAID (β€œ1”, β€œ5”, β€œ10”, β€œ50”) sa aming susunod na artikulo.

Ang artikulong ito ay inihanda sa suporta ng aming mga kasamahan sa Broadcom, na nagbibigay ng kanilang mga controller sa mga inhinyero ng Kingston para sa pagsubok gamit ang enterprise-class na SATA/SAS/NVMe drive. Salamat sa magiliw na symbiosis na ito, hindi kailangang pagdudahan ng mga customer ang pagiging maaasahan at katatagan ng mga drive ng Kingston na may mga HBA at RAID controllers mula sa produksyon. Broadcom.

Para sa karagdagang impormasyon tungkol sa mga produkto ng Kingston, pakibisita sa opisyal na website kumpanya.

Pinagmulan: www.habr.com

Magdagdag ng komento