Nagbibigay ng raid. Lahat ng tungkol sa RAID arrays ng mga hard drive (HDD). Ano ang RAID sa pisikal na kahulugan?

RAID- isang abbreviation na kumakatawan sa Redundant Array of Independent Disks - "fail-safe array of independent disks" (dati, ang salitang Inexpensive ay minsan ginagamit sa halip na Independent). Ang konsepto ng isang istraktura na binubuo ng maraming mga disk na pinagsama sa isang grupo na nagbibigay ng fault tolerance ay isinilang noong 1987 sa matagumpay na gawain nina Patterson, Gibson at Katz.

Orihinal Mga uri ng RAID-mga array

RAID-0
Kung naniniwala kami na ang RAID ay "fault tolerance" (Redundant...), kung gayon ang RAID-0 ay "zero fault tolerance", ang kawalan nito. Ang istraktura ng RAID-0 ay isang "striped array of disks." Ang mga bloke ng data ay isinusulat nang paisa-isa sa lahat ng mga disk na kasama sa array, sa pagkakasunud-sunod. Pinatataas nito ang pagganap, mas mabuti nang kasing dami ng bilang ng mga disk na kasama sa array, dahil ang pag-record ay parallelize sa pagitan ng ilang device.
Gayunpaman, ang pagiging maaasahan ay bumababa ng parehong halaga, dahil ang data ay mawawala kung ang alinman sa mga disk na kasama sa array ay nabigo.

RAID-1
Ito ang tinatawag na "salamin". Ang mga operasyon sa pagsulat ay isinasagawa sa dalawang disk na magkatulad. Ang pagiging maaasahan ng naturang array ay mas mataas kaysa sa isang solong disk, ngunit ang pagganap ay bahagyang tumataas (o hindi tumataas).

RAID-10
Isang pagtatangka na pagsamahin ang mga pakinabang ng dalawang uri ng RAID at alisin sa kanila ang kanilang mga likas na disadvantages. Kung kukuha kami ng pangkat ng RAID-0 na may mas mataas na pagganap, at bibigyan ang bawat isa sa kanila (o ang buong hanay) ng "mirror" na mga disk upang protektahan ang data mula sa pagkawala dahil sa pagkabigo, makakakuha kami ng isang fault-tolerant array na may mas mataas na pagganap bilang isang resulta ng paggamit ng striping.
Ngayon, "sa ligaw," ito ay isa sa mga pinakasikat na uri ng RAID.
Mga disadvantages - binabayaran namin ang lahat ng mga pakinabang sa itaas na may kalahati ng kabuuang kapasidad ng mga disk na kasama sa array.

RAID-2
Nananatiling ganap na teoretikal na opsyon. Ito ay isang array kung saan ang data ay naka-encode ng isang error-resistant Hamming code, na nagbibigay-daan sa iyong ibalik ang mga indibidwal na may sira na mga fragment dahil sa redundancy nito. Sa pamamagitan ng paraan, ang iba't ibang mga pagbabago ng Hamming code, pati na rin ang mga kahalili nito, ay ginagamit sa proseso ng pagbabasa ng data mula sa mga magnetic head. mga hard drive at optical CD/DVD readers.

RAID-3 at 4
"Creative development" ng ideya ng proteksyon ng data na may kalabisan na code. Ang Hamming code ay kailangang-kailangan sa kaso ng isang "patuloy na hindi mapagkakatiwalaan" na stream na puspos ng tuluy-tuloy na mahina na predictable na mga error, tulad ng isang maingay. broadcast channel mga komunikasyon. Gayunpaman, sa kaso ng matigas disk, ang pangunahing problema ay hindi mga error sa pagbabasa (naniniwala kami na ang data ay inisyu mga hard drive sa anyo kung saan naitala namin ang mga ito, kung ito ay gumagana), ngunit sa kabiguan ng buong disk.
Para sa gayong mga kundisyon, maaari mong pagsamahin ang isang striping scheme (RAID-0) at, upang maprotektahan laban sa pagkabigo ng isa sa mga disk, dagdagan ang naitala na impormasyon na may kalabisan, na magpapahintulot sa iyo na ibalik ang data kung ang ilang bahagi nito ay nawala, paglalaan para dito karagdagang disk.
Kung nawala namin ang alinman sa mga data disk, maaari naming ibalik ang data na nakaimbak dito gamit ang mga simpleng mathematical operations sa redundancy data kung nabigo ang disk na may redundancy data, mayroon pa rin kaming data na nabasa mula sa RAID-0 type disk array;
Ang mga opsyon na RAID-3 at RAID-4 ay naiiba dahil sa unang kaso, ang mga indibidwal na byte ay pinag-interleaved, at sa pangalawang kaso, ang mga pangkat ng mga byte, "mga bloke," ay interleaved.
Ang pangunahing kawalan ng dalawang scheme na ito ay ang napakababang bilis ng pagsulat sa array, dahil ang bawat operasyon ng pagsulat ay nagdudulot ng pag-update. checksum”, isang redundancy block para sa naitala na impormasyon. Ito ay malinaw na, sa kabila ng guhit na istraktura, ang pagganap ng isang RAID-3 at RAID-4 array ay limitado sa pamamagitan ng pagganap ng isang disk, ang isa kung saan ang "redundancy block" ay namamalagi.

RAID-5
Ang isang pagtatangka na iwasan ang limitasyong ito ay nagbunga susunod na uri Ang RAID ay kasalukuyang pinakalaganap, kasama ang RAID-10. Kung ang pagsusulat ng "redundancy block" sa disk ay nililimitahan ang buong array, ipakalat din natin ito sa mga disk ng array, gumawa ng hindi inilalaang disk para sa impormasyong ito, sa gayon ang mga pagpapatakbo ng redundancy update ay ipamahagi sa lahat ng disk ng array. Iyon ay, tulad ng sa kaso ng RAID-3(4), kumukuha kami ng mga disk upang mag-imbak ng N impormasyon sa dami ng N + 1 disk, ngunit hindi tulad ng Type 3 at 4, ang disk na ito ay ginagamit din upang mag-imbak ng data na may halong redundancy data , tulad ng iba pang N.
Mga kapintasan? Ano kaya ang mangyayari kung wala sila? Ang problema sa mabagal na pag-record ay bahagyang nalutas, ngunit hindi pa rin ganap. Gayunpaman, ang pagsusulat sa isang RAID-5 array ay mas mabagal kaysa sa pagsusulat sa isang RAID-10 array. Ngunit ang RAID-5 ay mas "cost-effective". Para sa RAID-10, nagbabayad kami para sa fault tolerance na may eksaktong kalahati ng mga disk, at sa kaso ng RAID-5 isa lang itong disk.

Gayunpaman, ang bilis ng pagsulat ay bumababa sa proporsyon sa pagtaas ng bilang ng mga disk sa array (hindi tulad ng RAID-0, kung saan ito ay tumataas lamang). Ito ay dahil sa katotohanan na kapag nagsusulat ng isang bloke ng data, ang array ay kailangang muling kalkulahin ang redundancy block sa pamamagitan ng pagbabasa ng natitirang "pahalang" na mga bloke at muling pagkalkula ng redundancy block alinsunod sa kanilang data. Iyon ay, para sa isang operasyon ng pagsulat, isang hanay ng 8 disk (7 data disks + 1 karagdagang) ay gagawa ng 6 na read operation sa cache (ang natitirang mga bloke ng data mula sa lahat ng mga disk upang kalkulahin ang redundancy block), kalkulahin ang redundancy block mula sa mga ito mga bloke, at gumawa ng 2 pagsusulat (pagsusulat ng isang bloke ng naitala na data at pag-overwrit ng isang redundancy block). SA makabagong sistema Ang problema ay bahagyang naibsan sa pamamagitan ng pag-cache, ngunit gayunpaman, ang pagpapahaba sa pangkat ng RAID-5, kahit na nagiging sanhi ito ng proporsyonal na pagtaas sa bilis ng pagbasa, ay nagdudulot din ng kaukulang pagbaba sa bilis ng pagsulat.
Ang sitwasyon na may pinababang pagganap kapag sumusulat sa RAID-5 kung minsan ay nagdudulot ng kawili-wiling ekstremismo, halimbawa, http://www.baarf.com/ ;)

Gayunpaman, dahil ang RAID-5 ay ang pinaka mahusay na istraktura ng RAID sa mga tuntunin ng pagkonsumo ng disk bawat "linear megabyte," malawak itong ginagamit kung saan ang pagbawas sa bilis ng pagsulat ay hindi isang mapagpasyang parameter, halimbawa, para sa pangmatagalang imbakan ng data o para sa data na pangunahing binabasa.
Hiwalay, dapat itong banggitin na ang pagpapalawak ng RAID-5 disk array sa pamamagitan ng pagdaragdag ng karagdagang disk ay nagdudulot ng kumpletong muling pagkalkula ng buong RAID, na maaaring tumagal ng ilang oras, at sa ilang pagkakataon at mga araw kung saan ang pagganap ng array ay bumaba nang sakuna.

RAID-6
Ang karagdagang pag-unlad ng ideya ng RAID-5. Kung kalkulahin namin ang karagdagang redundancy ayon sa isang batas na iba sa ginamit sa RAID-5, magagawa naming mapanatili ang access sa data kung nabigo ang dalawang disk ng array.
Ang presyo para dito ay isang karagdagang disk para sa data ng pangalawang "redundancy block". Iyon ay, upang mag-imbak ng data na katumbas ng dami ng N disk, kakailanganin naming kumuha ng N + 2 disk Ang "matematika" ng pagkalkula ng mga bloke ng redundancy ay nagiging mas kumplikado, na nagiging sanhi ng higit pa mas malaking pagbawas bilis ng pagsulat kumpara sa RAID-5, ngunit tumataas ang pagiging maaasahan. Bukod dito, sa ilang mga kaso ay lumampas pa ito sa antas ng pagiging maaasahan ng RAID-10. Madaling makita na ang RAID-10 ay maaari ding makatiis sa pagkabigo ng dalawang disk sa array, gayunpaman, kung ang mga disk na ito ay nabibilang sa parehong "salamin" o sa magkaibang, ngunit hindi dalawang naka-mirror na disk. At hindi matatawaran ang posibilidad ng ganitong sitwasyon.

Ang isang karagdagang pagtaas sa mga bilang ng mga uri ng RAID ay nangyayari dahil sa "hybridization", ito ay kung paano lumalabas ang RAID-0+1, na naging tinalakay nang RAID-10, o lahat ng uri ng chimerical RAID-51 at iba pa.
Sa kabutihang palad, hindi sila matatagpuan sa wildlife, karaniwang nananatiling isang "pangarap ng isip" (well, maliban sa RAID-10 na inilarawan sa itaas).

© Andrey Egorov, 2005, 2006. TIM Group of Companies.

Ang mga bisita sa forum ay nagtatanong sa amin: "Aling antas ng RAID ang pinaka maaasahan?" Alam ng lahat na ang pinakakaraniwang antas ay ang RAID5, ngunit ito ay walang mga seryosong disbentaha na hindi halata sa mga di-espesyalista.

RAID 0, RAID 1, RAID 5, RAID6, RAID 10 o ano ang mga antas ng RAID?

Sa artikulong ito, susubukan kong tukuyin ang pinakasikat na mga antas ng RAID, at pagkatapos ay magbalangkas ng mga rekomendasyon para sa paggamit ng mga antas na ito. Upang ilarawan ang artikulo, gumawa ako ng isang diagram kung saan inilagay ko ang mga antas na ito sa tatlong-dimensional na espasyo ng pagiging maaasahan, pagganap at kahusayan sa gastos.

JBOD(Just a Bunch of Disks) ay isang simpleng spanning ng mga hard drive, na hindi pormal na antas ng RAID. Ang volume ng JBOD ay maaaring isang array ng isang disk o isang pagsasama-sama ng maraming disk. Ang RAID controller ay hindi kailangang magsagawa ng anumang mga kalkulasyon upang patakbuhin ang naturang volume. Sa aming diagram, ang JBOD drive ay nagsisilbing "solo" o panimulang punto—ang pagiging maaasahan, pagganap, at mga halaga ng gastos nito ay kapareho ng sa isang hard drive.

RAID 0("Striping") ay walang redundancy, at namamahagi kaagad ng impormasyon sa lahat ng mga disk na kasama sa array sa anyo ng maliliit na bloke ("stripes"). Dahil dito, ang pagganap ay tumataas nang malaki, ngunit ang pagiging maaasahan ay naghihirap. Tulad ng sa JBOD, nakukuha namin ang 100% ng kapasidad ng disk para sa aming pera.

Hayaan akong ipaliwanag kung bakit bumababa ang pagiging maaasahan ng imbakan ng data sa anumang composite volume - dahil kung ang alinman sa mga hard drive na kasama dito ay nabigo, ang lahat ng impormasyon ay ganap at hindi na mababawi. Alinsunod sa teorya ng probabilidad, sa matematika, ang pagiging maaasahan ng isang volume ng RAID0 ay katumbas ng produkto ng mga pagiging maaasahan ng mga nasasakupan nitong mga disk, na ang bawat isa ay mas mababa sa isa, kaya ang kabuuang pagiging maaasahan ay malinaw na mas mababa kaysa sa pagiging maaasahan ng anumang disk.

Magandang antas - RAID 1("Pagsasalamin", "salamin"). Ito ay may proteksyon laban sa pagkabigo ng kalahati ng magagamit na hardware (sa pangkalahatang kaso, isa sa dalawang hard drive), ay nagbibigay ng isang katanggap-tanggap na bilis ng pagsulat at mga nadagdag sa bilis ng pagbasa dahil sa parallelization ng mga kahilingan. Ang kawalan ay kailangan mong bayaran ang halaga ng dalawang hard drive upang makuha ang magagamit na kapasidad ng isang hard drive.

Sa una, ipinapalagay na ang hard drive ay isang maaasahang bagay. Alinsunod dito, ang posibilidad ng pagkabigo ng dalawang disk nang sabay-sabay ay katumbas (ayon sa formula) sa produkto ng mga probabilidad, i.e. mas mababa ang mga order ng magnitude! Sa kasamaang palad, totoong buhay- hindi isang teorya! Dalawang hard drive ang kinuha mula sa parehong batch at nagpapatakbo sa ilalim ng parehong mga kondisyon, at kung ang isa sa mga disk ay nabigo, ang pag-load sa natitirang isa ay tumataas, kaya sa pagsasanay, kung ang isa sa mga disk ay nabigo, ang mga kagyat na hakbang ay dapat gawin upang maibalik. kalabisan. Upang gawin ito, inirerekumenda na gumamit ng mga mainit na ekstrang disk na may anumang antas ng RAID (maliban sa zero) HotSpare. Ang bentahe ng diskarteng ito ay ang pagpapanatili patuloy na pagiging maaasahan. Ang kawalan ay mas mataas na mga gastos (ibig sabihin, ang gastos ng 3 hard drive upang maiimbak ang dami ng isang disk).

Ang salamin sa maraming mga disk ay isang antas RAID 10. Kapag ginagamit ang antas na ito, ang mga naka-mirror na pares ng mga disk ay nakaayos sa isang "kadena", kaya ang resultang dami ay maaaring lumampas sa kapasidad ng isang hard drive. Ang mga pakinabang at disadvantages ay kapareho ng para sa antas ng RAID1. Tulad ng sa ibang mga kaso, inirerekumenda na isama ang HotSpare hot spare disks sa array sa rate ng isang ekstrang para sa bawat limang manggagawa.

RAID 5, sa katunayan, ang pinakasikat sa mga antas - pangunahin dahil sa kahusayan nito. Sa pamamagitan ng pagsasakripisyo ng kapasidad ng isang disk lamang mula sa array para sa redundancy, nakakakuha kami ng proteksyon laban sa pagkabigo ng alinman sa mga hard drive ng volume. Pagsulat ng impormasyon sa isang RAID5 dami ng mga gastos karagdagang mapagkukunan, dahil ang mga karagdagang kalkulasyon ay kinakailangan, ngunit kapag nagbabasa (kumpara sa isang hiwalay na hard drive) mayroong isang pakinabang, dahil ang mga stream ng data mula sa ilang mga array drive ay parallelized.

Ang mga disadvantages ng RAID5 ay lilitaw kapag ang isa sa mga disk ay nabigo - ang buong volume ay napupunta sa kritikal na mode, ang lahat ng pagsulat at pagbabasa ng mga operasyon ay sinamahan ng mga karagdagang manipulasyon, ang pagganap ay bumaba nang husto, at ang mga disk ay nagsisimulang uminit. Kung hindi gagawin ang agarang aksyon, maaari mong mawala ang buong volume. Samakatuwid, (tingnan sa itaas) dapat kang gumamit ng Hot Spare disk na may RAID5 volume.

tsaka mga pangunahing antas RAID0 - RAID5 na inilarawan sa pamantayan, mayroong mga pinagsamang antas ng RAID10, RAID30, RAID50, RAID15, na iba't ibang mga tagagawa Iba-iba ang interpretasyon ng bawat isa.

Ang kakanyahan ng naturang mga kumbinasyon ay maikli tulad ng sumusunod. Ang RAID10 ay isang kumbinasyon ng isa at zero (tingnan sa itaas). Ang RAID50 ay isang kumbinasyon ng "0" level 5 volume. Ang RAID15 ay isang "salamin" ng "lima". At iba pa.

Kaya, ang pinagsamang mga antas ay nagmamana ng mga pakinabang (at disadvantages) ng kanilang "mga magulang". Kaya, ang hitsura ng isang "zero" sa antas RAID 50 ay hindi nagdaragdag ng anumang pagiging maaasahan dito, ngunit may positibong epekto sa pagganap. Antas RAID 15, malamang na napaka maaasahan, ngunit hindi ito ang pinakamabilis at, bukod dito, lubhang hindi matipid (ang kapaki-pakinabang na kapasidad ng volume ay mas mababa sa kalahati ng laki ng orihinal na hanay ng disk).

RAID 6 ay naiiba sa RAID 5 sa bawat hilera ng data (sa English guhit) ay walang isa, ngunit dalawa checksum block. Ang mga checksum ay "multidimensional", i.e. independyente sa bawat isa, kaya kahit na ang pagkabigo ng dalawang disk sa array ay nagbibigay-daan sa iyo upang i-save ang orihinal na data. Ang pagkalkula ng mga checksum gamit ang Reed-Solomon na pamamaraan ay nangangailangan ng mas masinsinang kalkulasyon kumpara sa RAID5, kaya dati ang ikaanim na antas ay halos hindi ginamit. Ngayon ito ay suportado ng maraming mga produkto, dahil nagsimula silang mag-install ng mga dalubhasang microcircuits na nagsasagawa ng lahat ng kinakailangang mga operasyon sa matematika.

Ayon sa ilang mga pag-aaral, ang pagpapanumbalik ng integridad pagkatapos ng isang solong drive failure sa isang RAID5 volume na binubuo ng SATA drive malaking volume (400 at 500 gigabytes), sa 5% ng mga kaso nagtatapos ito sa pagkawala ng data. Sa madaling salita, sa isang kaso sa dalawampu, sa panahon ng pagbabagong-buhay ng isang RAID5 array sa isang Hot Spare disk, maaaring mabigo ang pangalawang disk... Kaya't ang mga rekomendasyon ng pinakamahusay na RAID drive: 1) Laging gawin mga backup; 2) gamitin RAID6!

Kamakailan ay lumitaw ang mga bagong antas na RAID1E, RAID5E, RAID5EE. Ang ibig sabihin ng letrang "E" sa pangalan Pinahusay.

RAID level-1 Enhanced (RAID level-1E) pinagsasama ang mirroring at data striping. Itong pinaghalong antas 0 at 1 ay nakaayos bilang mga sumusunod. Ang data sa isang hilera ay ipinamahagi nang eksakto tulad ng sa RAID 0. Ibig sabihin, ang data row ay walang redundancy. Ang susunod na hilera ng mga bloke ng data ay kinokopya ang nauna na may shift ng isang bloke. Sa ganitong paraan, tulad ng sa karaniwang mode RAID 1, ang bawat data block ay may mirror copy sa isa sa mga disk, kaya ang kapaki-pakinabang na volume ng array ay katumbas ng kalahati ng kabuuang volume na kasama sa hanay ng mahirap mga disk. Ang RAID 1E ay nangangailangan ng kumbinasyon ng tatlo o higit pang mga drive upang gumana.

Talagang gusto ko ang antas ng RAID1E. Para sa isang malakas na graphics workstation o kahit isang computer sa bahay - pinakamainam na pagpipilian! Mayroon itong lahat ng mga pakinabang ng zero at unang antas - mahusay na bilis at mataas na pagiging maaasahan.

Lumipat tayo ngayon sa antas RAID level-5 Enhanced (RAID level-5E). Ito ay kapareho ng RAID5, tanging may backup na disk na nakapaloob sa array ekstrang biyahe. Ang pagsasama na ito ay isinasagawa bilang mga sumusunod: sa lahat ng mga disk ng array, ang 1/N bahagi ng espasyo ay naiwang libre, na ginagamit bilang isang mainit na ekstrang kung ang isa sa mga disk ay nabigo. Dahil dito, ipinapakita ng RAID5E, kasama ng pagiging maaasahan, mas mahusay na pagganap, dahil ang pagbabasa/pagsusulat ay ginagawa nang magkatulad mula sa mas malaking bilang ng mga drive nang sabay-sabay at ang ekstrang drive ay hindi idle, tulad ng sa RAID5. Obviously, kasama diyan backup na disk hindi maaaring ibahagi sa iba pang mga volume (nakatuon vs. nakabahagi). Ang dami ng RAID 5E ay binuo sa hindi bababa sa apat na pisikal na disk. Ang kapaki-pakinabang na dami ng isang lohikal na dami ay kinakalkula gamit ang formula N-2.

RAID level-5E Enhanced (RAID level-5EE) katulad ng RAID level-5E, ngunit mayroon itong mas mahusay na paglalaan ng ekstrang drive at, bilang resulta, mas mabilis na oras ng pagbawi. Tulad ng antas ng RAID5E, ang antas ng RAID na ito ay namamahagi ng mga bloke ng data at mga checksum sa mga hilera. Ngunit namamahagi din ito ng mga libreng ekstrang bloke ng drive, at hindi lamang nagrereserba ng bahagi ng puwang sa disk para sa mga layuning ito. Binabawasan nito ang oras na kinakailangan upang muling buuin ang integridad ng isang volume ng RAID5EE. Ang backup na disk na kasama sa volume ay hindi maaaring ibahagi sa iba pang mga volume - tulad ng sa nakaraang kaso. Ang dami ng RAID 5EE ay binuo sa hindi bababa sa apat na pisikal na disk. Ang kapaki-pakinabang na dami ng isang lohikal na dami ay kinakalkula gamit ang formula N-2.

Kakatwa, walang nabanggit na antas RAID 6E Hindi ko ito mahanap sa Internet - sa ngayon ang antas na ito ay hindi inaalok o kahit na inihayag ng anumang tagagawa. Ngunit ang antas ng RAID6E (o RAID6EE?) ay maaaring ihandog ayon sa parehong prinsipyo tulad ng nauna. Disk HotSpare Kailangan dapat samahan ng anumang dami ng RAID, kabilang ang RAID 6. Siyempre, hindi tayo mawawalan ng impormasyon kung mabibigo ang isa o dalawang disk, ngunit napakahalagang simulan ang muling pagbuo ng integridad ng array sa lalong madaling panahon upang mabilis na mailabas ang system ng "kritikal" na mode. Dahil ang pangangailangan para sa isang Hot Spare disk ay walang pag-aalinlangan para sa amin, magiging lohikal na pumunta pa at "ipakalat" ito sa volume tulad ng ginagawa sa RAID 5EE upang makuha ang mga benepisyo ng paggamit ng mas malaking bilang ng mga disk (mas mahusay bilis magbasa-magsulat at higit pa mabilis na paggaling integridad).

Mga antas ng RAID sa "mga numero".

Nakolekta ko ang ilang mahahalagang parameter ng halos lahat ng antas ng RAID sa isang talahanayan upang maihambing mo ang mga ito sa isa't isa at mas maunawaan ang kanilang kakanyahan.

Antas
~~~~~~~

mga kubo-
eksakto
ness
~~~~~~~

Gamitin
Kapasidad ng disk
~~~~~~~

Produksyon
ditel-
ness
pagbabasa

~~~~~~~

Produksyon
ditel-
ness
mga talaan

~~~~~~~

Naka-built-in
disk
reserba

~~~~~~~

Min. bilang ng mga disk
~~~~~~~

Max. bilang ng mga disk

~~~~~~~

Exc.

Exc.

Exc.

Exc.

Ang lahat ng antas ng "mirror" ay RAID 1, 1+0, 10, 1E, 1E0.

Subukan nating muli upang lubusang maunawaan kung paano naiiba ang mga antas na ito?

RAID 1.
Ito ay isang klasikong "salamin". Dalawang (at dalawa lang!) na hard drive ang gumagana bilang isa, bilang isang kumpletong kopya ng bawat isa. Ang pagkabigo ng alinman sa dalawang drive na ito ay hindi nagreresulta sa pagkawala ng iyong data, dahil patuloy na gumagana ang controller sa natitirang drive. RAID1 sa mga numero: 2x redundancy, 2x na pagiging maaasahan, 2x na gastos. Ang pagganap ng pagsulat ay katumbas ng pagganap ng isang hard drive. Ang pagganap ng pagbabasa ay mas mataas dahil ang controller ay maaaring ipamahagi ang mga operasyon sa pagbasa sa pagitan ng dalawang disk.

RAID 10.
Ang kakanyahan ng antas na ito ay ang mga disk ng array ay pinagsama sa mga pares sa "mga salamin" (RAID 1), at pagkatapos ang lahat ng mga pares ng salamin na ito, sa turn, ay pinagsama sa isang karaniwang striped array (RAID 0). Kaya naman kung minsan ay tinatawag itong RAID 1+0. Mahalagang punto– Ang RAID 10 ay maaari lamang pagsamahin ang pantay na bilang ng mga disk (minimum 4, maximum 16). Mga Bentahe: ang pagiging maaasahan ay minana mula sa "salamin", ang pagganap para sa parehong pagbabasa at pagsulat ay minana mula sa "zero".

RAID 1E.
Ang letrang "E" sa pangalan ay nangangahulugang "Pinahusay", i.e. "pinabuting". Ang prinsipyo ng pagpapabuti na ito ay ang mga sumusunod: ang data ay "nahubaran" sa mga bloke sa lahat ng mga disk ng array, at pagkatapos ay "striped" muli na may paglipat sa isang disk. Maaaring pagsamahin ang RAID 1E mula tatlo hanggang 16 na disk. Ang pagiging maaasahan ay tumutugma sa "sampung" mga tagapagpahiwatig, at ang pagganap ay nagiging mas mahusay nang kaunti dahil sa mas malaking "paghahalili".

RAID 1E0.
Ang antas na ito ay ipinatupad tulad nito: gumawa kami ng "null" na array mula sa RAID1E array. Samakatuwid, ang kabuuang bilang ng mga disk ay dapat na isang multiple ng tatlo: isang minimum na tatlo at isang maximum na animnapu! Sa kasong ito, malamang na hindi kami makakuha ng isang kalamangan sa bilis, at ang pagiging kumplikado ng pagpapatupad ay maaaring makaapekto sa pagiging maaasahan. Ang pangunahing bentahe ay ang kakayahang pagsamahin ang isang napakalaking (hanggang 60) na bilang ng mga disk sa isang array.

Ang pagkakapareho ng lahat ng antas ng RAID 1X ay nakasalalay sa kanilang mga redundancy indicator: para sa pagiging maaasahan, eksaktong 50% ng kabuuang kapasidad ng mga array disk ay isinakripisyo.

RAID(Ingles) kalabisan na hanay ng mga independiyenteng disk - kalabisan na hanay ng mga independiyenteng hard drive)- isang hanay ng ilang mga disk na kinokontrol ng isang controller, na magkakaugnay ng mga high-speed na channel at pinaghihinalaang panlabas na sistema sa kabuuan. Depende sa uri ng array na ginamit, maaari itong magbigay ng iba't ibang antas ng fault tolerance at performance. Nagsisilbi upang mapataas ang pagiging maaasahan ng pag-iimbak ng data at/o para mapabilis ang pagbabasa/pagsusulat ng impormasyon. Sa una, ang mga naturang array ay binuo bilang isang backup para sa media batay sa random access memory (RAM), na mahal noong panahong iyon. Sa paglipas ng panahon, ang pagdadaglat ay nakakuha ng pangalawang kahulugan - ang array ay binubuo na ng mga independiyenteng disk, na nagpapahiwatig ng paggamit ng ilang mga disk, sa halip na mga partisyon ng isang disk, pati na rin ang mataas na gastos (ngayon ay medyo ilang mga disk) ng kagamitan. kinakailangan upang mabuo ang napaka array na ito.

Tingnan natin kung anong mga array ng RAID ang mayroon. Una, tingnan natin ang mga antas na ipinakita ng mga siyentipiko mula sa Berkeley, pagkatapos ang kanilang mga kumbinasyon at hindi pangkaraniwang mga mode. Ito ay nagkakahalaga ng noting na kung ang mga disk ay ginagamit iba't ibang laki(na hindi inirerekomenda), pagkatapos ay gagana sila sa pinakamaliit na volume. Ang sobrang kapasidad ng malalaking disk ay hindi magagamit.

RAID 0. Striped disk array na walang fault tolerance/parity (Stripe)

Ito ay isang array kung saan ang data ay nahahati sa mga bloke (ang laki ng bloke ay maaaring itakda kapag lumilikha ng array) at pagkatapos ay isulat sa hiwalay na mga disk. Sa pinakasimpleng kaso, mayroong dalawang disk, isang bloke ang nakasulat sa unang disk, isa pa sa pangalawa, pagkatapos ay muli sa una, at iba pa. Ang mode na ito ay tinatawag ding "interleave", dahil kapag nagsusulat ng mga bloke ng data, ang mga disk kung saan isinagawa ang pag-record ay interleaved. Alinsunod dito, ang mga bloke ay binabasa din ng isa-isa. Kaya, nangyayari ang parallel execution ng I/O operations, na nagreresulta sa mas mahusay na performance. Kung kanina ay nababasa natin ang isang bloke bawat yunit ng oras, ngayon ay magagawa natin ito mula sa ilang mga disk nang sabay-sabay. Ang pangunahing bentahe mode na ito Ito talaga ang mataas na rate ng paglilipat ng data.

Gayunpaman, ang mga himala ay hindi nangyayari, at kung nangyari ito, ito ay bihira. Ang pagganap ay hindi tumataas ng N beses (N ang bilang ng mga disk), ngunit mas kaunti. Una sa lahat, ang oras ng pag-access sa disk ay tumataas ng N beses, na mataas na kumpara sa iba pang mga subsystem ng computer. Ang kalidad ng controller ay may parehong mahalagang epekto. Kung hindi ito ang pinakamahusay, kung gayon ang bilis ay maaaring bahagyang naiiba mula sa bilis ng isang solong drive. Well, ang interface kung saan nakakonekta ang RAID controller sa natitirang bahagi ng system ay may malaking impluwensya. Ang lahat ng ito ay maaaring humantong hindi lamang sa isang mas mababa sa N pagtaas sa bilis linear na pagbasa, ngunit din sa limitasyon sa bilang ng mga disk, ang pagtatakda sa itaas kung saan walang anumang pagtaas. O, sa kabaligtaran, ito ay bahagyang bawasan ang bilis. Sa totoong mga gawain, na may malaking bilang ng mga kahilingan, ang pagkakataon na makatagpo ng hindi pangkaraniwang bagay na ito ay minimal, dahil ang bilis ay lubos na nakasalalay sa hard drive at mga kakayahan nito.

Tulad ng nakikita mo, sa mode na ito ay walang kalabisan tulad nito. Ginagamit ang lahat ng espasyo sa disk. Gayunpaman, kung ang isa sa mga disk ay nabigo, pagkatapos ay malinaw na ang lahat ng impormasyon ay nawala.

RAID 1. Mirroring

Ang kakanyahan ng RAID mode na ito ay lumikha ng isang kopya (salamin) ng disk upang mapataas ang fault tolerance. Kung nabigo ang isang disk, kung gayon ang trabaho ay hindi hihinto, ngunit nagpapatuloy, ngunit may isang disk. Ang mode na ito ay nangangailangan ng pantay na bilang ng mga disk. Ang ideya ng pamamaraang ito ay malapit sa backup, ngunit ang lahat ay nangyayari sa mabilisang, pati na rin ang pagbawi pagkatapos ng isang pagkabigo (na kung minsan ay napakahalaga) at hindi na kailangang mag-aksaya ng oras dito.

Mga disadvantages: mataas na redundancy, dahil kailangan mo ng dalawang beses sa maraming mga disk upang lumikha ng ganoong array. Ang isa pang kawalan ay walang pakinabang sa pagganap - pagkatapos ng lahat, ang isang kopya ng data mula sa una ay nakasulat lamang sa pangalawang disk.

RAID 2 Array gamit ang fault-tolerant Hamming code.

Binibigyang-daan ka ng code na ito na itama at tuklasin dobleng pagkakamali. Aktibong ginagamit sa error correcting memory (ECC). Sa mode na ito, ang mga disk ay nahahati sa dalawang grupo - isang bahagi ang ginagamit para sa pag-iimbak ng data at gumagana nang katulad sa RAID 0, na naghahati ng mga bloke ng data sa iba't ibang mga disk; ang pangalawang bahagi ay ginagamit upang mag-imbak ng mga ECC code.

Kasama sa mga bentahe ang on-the-fly error correction at mataas na bilis ng streaming ng data.

Ang pangunahing kawalan ay mataas na redundancy (na may isang maliit na bilang ng mga disk ito ay halos doble, n-1). Habang dumarami ang bilang ng mga disk, nagiging mas maliit ang partikular na bilang ng mga disk na nag-iimbak ng mga ECC code (bumababa ang partikular na redundancy). Ang pangalawang kawalan ay ang mababang bilis ng pagtatrabaho sa maliliit na file. Dahil sa bulkiness at mataas na redundancy na may maliit na bilang ng mga disk, antas na ito RAID sa binigay na oras hindi ginagamit, nawawala ang mga posisyon sa mas mataas na antas.

RAID 3. Fault-tolerant array na may bit striping at parity.

Ang mode na ito ay nagsusulat ng data block sa pamamagitan ng block sa iba't ibang mga disk, tulad ng RAID 0, ngunit gumagamit ng isa pang disk para sa parity storage. Kaya, ang redundancy ay mas mababa kaysa sa RAID 2 at isang disk lamang. Kung nabigo ang isang disk, ang bilis ay nananatiling halos hindi nagbabago.

Sa mga pangunahing disadvantages dapat itong tandaan mababang bilis kapag nagtatrabaho sa maliliit na file at maraming kahilingan. Ito ay dahil sa ang katunayan na ang lahat ng mga control code ay naka-imbak sa isang disk at dapat na muling isulat sa panahon ng I/O operations. Nililimitahan ng bilis ng disk na ito ang bilis ng buong array. Ang mga parity bit ay isinulat lamang kapag ang data ay nakasulat. At kapag nagbabasa, sila ay sinusuri. Dahil dito, may imbalance sa read/write speed. Ang solong pagbabasa ng maliliit na file ay nailalarawan din sa mababang bilis, na dahil sa imposibilidad ng parallel na pag-access mula sa mga independiyenteng disk kapag ang iba't ibang mga disk ay nagpapatupad ng mga kahilingan nang magkatulad.

RAID 4

Ang data ay nakasulat sa mga bloke sa iba't ibang mga disk, isang disk ang ginagamit upang mag-imbak ng mga parity bit. Ang pagkakaiba mula sa RAID 3 ay ang mga bloke ay nahahati hindi sa mga bit at byte, ngunit sa mga sektor. Kasama sa mga benepisyo ang mataas na bilis ng paglipat kapag nagtatrabaho sa malalaking file. Ang bilis ng pagtatrabaho sa isang malaking bilang ng mga kahilingan sa pagbabasa ay mataas din. Kabilang sa mga pagkukulang, mapapansin natin ang mga minana mula sa RAID 3 - isang kawalan ng balanse sa bilis ng mga operasyon sa pagbasa/pagsusulat at ang pagkakaroon ng mga kundisyon na nagpapahirap sa parallel na pag-access sa data.

RAID 5. Disk array na may striping at distributed parity.

Ang pamamaraan ay katulad ng nauna, ngunit sa halip na maglaan ng isang hiwalay na disk para sa mga parity bit, ang impormasyong ito ay ipinamamahagi sa lahat ng mga disk. Iyon ay, kung ang N disk ay ginagamit, ang kapasidad ng N-1 na mga disk ay magagamit. Ang dami ng isa ay ilalaan para sa mga parity bit, tulad ng sa RAID 3.4. Ngunit hindi sila nakaimbak sa isang hiwalay na disk, ngunit hiwalay. Ang bawat disk ay may (N-1)/N na halaga ng impormasyon at 1/N ng halaga ay puno ng parity bits. Kung ang isang disk sa array ay nabigo, ito ay nananatiling operational (ang data na nakaimbak dito ay kinakalkula batay sa parity at data ng iba pang mga disk "on the fly"). Iyon ay, ang pagkabigo ay nangyayari nang malinaw sa gumagamit at kung minsan kahit na may kaunting pagbaba sa pagganap (depende sa kakayahan sa pag-compute ng RAID controller). Kabilang sa mga pakinabang, napapansin namin ang mataas na bilis ng pagbabasa at pagsusulat ng data, tulad ng sa malalaking volume, at kasama ng malaking bilang mga kahilingan. Mga kapintasan - kumplikadong pagbawi data at mas mababang bilis ng pagbasa kaysa RAID 4.

RAID 6. Disk array na may striping at double distributed parity.

Ang pagkakaiba ay bumaba sa katotohanan na ang dalawang parity scheme ay ginagamit. Ang sistema ay mapagparaya sa mga pagkabigo ng dalawang disk. Ang pangunahing kahirapan ay upang maipatupad ito kailangan mong gumawa ng higit pang mga operasyon kapag nagsasagawa ng isang pagsulat. Dahil dito, ang bilis ng pagsulat ay napakabagal.

Pinagsamang (nested) na antas ng RAID.

Dahil ang mga array ng RAID ay transparent sa OS, malapit na ang oras upang lumikha ng mga array na ang mga elemento ay hindi mga disk, ngunit mga array ng iba pang mga antas. Karaniwang isinusulat ang mga ito na may plus. Ang unang digit ay nangangahulugang kung anong mga antas ng array ang kasama bilang mga elemento, at ang pangalawang digit ay nangangahulugan kung anong organisasyon ang mayroon ito pinakamataas na antas, na pinagsasama ang mga elemento.

RAID 0+1

Isang kumbinasyon na isang array ng RAID 1 na binuo batay sa mga array ng RAID 0 Tulad ng sa isang array ng RAID 1, kalahati lang ng kapasidad ng disk ang magagamit. Ngunit, tulad ng RAID 0, ang bilis ay mas mataas kaysa sa isang disk. Upang ipatupad ang gayong solusyon, kinakailangan ang isang minimum na 4 na disk.

RAID 1+0

Kilala rin bilang RAID 10. Ito ay isang stripe ng mga salamin, iyon ay, isang RAID 0 array na binuo mula sa RAID 1 arrays. Halos katulad ng nakaraang solusyon.

RAID 0+3

Array na may nakalaang parity sa ibabaw ng stripe. Ito ay isang 3rd level array kung saan ang data ay nahahati sa mga block at nakasulat sa RAID 0 arrays maliban sa pinakasimpleng 0+1 at 1+0 ay nangangailangan ng mga espesyal na controller, kadalasan ay medyo mahal. Ang pagiging maaasahan ng ganitong uri ay mas mababa kaysa sa susunod na opsyon.

RAID 3+0

Kilala rin bilang RAID 30. Ito ay isang stripe (RAID 0 array) mula sa RAID 3 arrays Ito ay may napakataas na bilis ng paglipat ng data, kasama ng magandang fault tolerance. Ang data ay unang nahahati sa mga bloke (tulad ng sa RAID 0) at inilagay sa mga array ng elemento. Doon sila ay muling nahahati sa mga bloke, ang kanilang parity ay kinakalkula, ang mga bloke ay nakasulat sa lahat ng mga disk maliban sa isa, kung saan ang mga parity bit ay nakasulat. SA sa kasong ito, maaaring mabigo ang isa sa mga disk ng bawat isa sa RAID 3 arrays.

RAID 5+0 (50)

Ito ay nilikha sa pamamagitan ng pagsasama-sama ng RAID 5 arrays sa isang RAID 0 array Ito ay may mataas na bilis ng paglipat ng data at pagpoproseso ng query. Mayroon itong average na bilis ng pagbawi ng data at mahusay na pagpapahintulot sa pagkabigo. Umiiral din ang kumbinasyong RAID 0+5, ngunit mas theoretically, dahil nagbibigay ito ng napakakaunting mga pakinabang.

RAID 5+1 (51)

Isang kumbinasyon ng mirroring at striping na may distributed parity. Ang RAID 15 (1+5) ay isa ring opsyon. May napakataas na fault tolerance. Ang 1+5 array ay maaaring gumana nang may tatlong drive failure, at ang 5+1 array ay maaaring gumana sa lima sa walong drive.

RAID 6+0 (60)

Interleaving na may double distributed parity. Sa madaling salita, isang guhit mula sa RAID 6. Gaya ng nabanggit na kaugnay ng RAID 0+5, ang RAID 6 mula sa mga guhit ay hindi naging laganap (0+6). Ang mga katulad na diskarte (pagtanggal mula sa mga array na may parity) ay maaaring magpapataas ng bilis ng array. Ang isa pang kalamangan ay madali nitong mapataas ang kapasidad nang hindi kumplikado ang sitwasyon sa mga pagkaantala na kinakailangan upang makalkula at magsulat ng higit pang mga parity bit.

RAID 100 (10+0)

Ang RAID 100, na binabaybay din na RAID 10+0, ay isang stripe ng RAID 10. Sa esensya, ito ay katulad ng mas malawak na hanay ng RAID 10, na gumagamit ng dalawang beses sa dami ng mga disk. Ngunit ang istrukturang "tatlong palapag" na ito ay may sariling paliwanag. Kadalasan, ang RAID 10 ay ginawa sa hardware, iyon ay, gamit ang controller, at ang mga guhitan ay ginawa mula sa kanila sa software. Ang trick na ito ay ginagamit upang maiwasan ang problema na nabanggit sa simula ng artikulo - ang mga controllers ay may sariling mga limitasyon sa scalability at kung isaksak mo ng doble ang bilang ng mga disk sa isang controller, sa ilalim ng ilang mga kundisyon ay maaaring hindi ka makakita ng anumang paglago. Binibigyang-daan ka ng Software RAID 0 na likhain ito batay sa dalawang controllers, na ang bawat isa ay naglalaman ng RAID 10 sa board Kaya, iniiwasan namin ang "bottleneck" na kinakatawan ng controller. Ang isa pang kapaki-pakinabang na punto ay upang malutas ang problema sa maximum na bilang mga konektor sa isang controller - sa pamamagitan ng pagdodoble ng kanilang numero, doble namin ang bilang ng mga magagamit na konektor.

Hindi karaniwang mga mode ng RAID

Dobleng pagkakapareho

Ang isang karaniwang karagdagan sa mga nakalistang antas ng RAID ay double parity, kung minsan ay ipinapatupad at samakatuwid ay tinatawag na "diagonal parity." Naipatupad na ang double parity sa RAID 6. Ngunit, hindi katulad nito, binibilang ang parity sa iba pang mga bloke ng data. Kamakailan, pinalawak ang pagtutukoy ng RAID 6, kaya ang diagonal parity ay maituturing na RAID 6. Para sa RAID 6, ang parity ay itinuturing na resulta ng pagdaragdag ng modulo 2 bits sa isang hilera (iyon ay, ang kabuuan ng unang bit sa una disk, ang unang bit sa pangalawa, atbp.), pagkatapos ay mayroong isang shift sa diagonal parity. Ang pagpapatakbo sa disk failure mode ay hindi inirerekomenda (dahil sa kahirapan sa pagkalkula ng mga nawawalang bit mula sa mga checksum).

Ito ay isang pagbuo ng NetApp RAID array na may double parity at nasa ilalim ng updated na kahulugan ng RAID 6. Gumagamit ito ng data recording scheme na iba sa classic na RAID 6 na pagpapatupad. Ang pagsusulat ay ginagawa muna sa NVRAM cache na ibinigay ng pinagmulan walang tigil na supply ng kuryente upang maiwasan ang pagkawala ng data sa panahon ng pagkawala ng kuryente. Software Ang controller, kung maaari, ay nagsusulat lamang ng mga solidong bloke sa mga disk. Ang scheme na ito ay nagbibigay ng higit na proteksyon kaysa sa RAID 1 at mas mabilis kaysa sa regular na RAID 6.

RAID 1.5

Ito ay iminungkahi ng Highpoint, ngunit ngayon ay madalas na ginagamit sa Mga controller ng RAID 1, nang walang anumang diin sa tampok na ito. Ang kakanyahan ay bumaba sa simpleng pag-optimize - ang data ay nakasulat tulad ng sa regular na hanay RAID 1 (na kung ano ang 1.5 mahalagang ay), ngunit nagbabasa ng data interleaved mula sa dalawang disk (tulad ng sa RAID 0). Sa isang partikular na pagpapatupad mula sa Highpoint, na ginamit sa mga board ng serye ng DFI LanParty sa nForce 2 chipset, ang pagtaas ay halos hindi kapansin-pansin, at kung minsan kahit na zero. Marahil ito ay dahil sa mababang bilis ng mga controller mula sa tagagawa na ito sa pangkalahatan sa oras na iyon.

Pinagsasama ang RAID 0 at RAID 1. Lumilikha ng minimum na tatlong disc. Ang data ay nakasulat na interleaved sa tatlong disk, at ang isang kopya nito ay nakasulat na may shift ng 1 disk. Kung ang isang bloke ay nakasulat sa tatlong mga disk, pagkatapos ay isang kopya ng unang bahagi ay nakasulat sa pangalawang disk, at isang kopya ng pangalawang bahagi ay nakasulat sa ikatlong disk. Kapag gumagamit ng kahit na bilang ng mga disk, siyempre, mas mahusay na gumamit ng RAID 10.

Karaniwan, kapag nagtatayo ng RAID 5, ang isang disk ay naiwang libre (reserba), upang sa kaganapan ng isang pagkabigo, ang system ay agad na magsisimulang muling itayo ang array. Sa regular na trabaho Ang drive na ito ay tumatakbo nang idle. Ang sistema ng RAID 5E ay nagsasangkot ng paggamit sa disk na ito bilang isang elemento ng array. At ang dami ng libreng disk na ito ay ipinamamahagi sa buong array at matatagpuan sa dulo ng mga disk. Ang pinakamababang bilang ng mga disk ay 4 na piraso. Ang magagamit na dami ay n-2, ang dami ng isang disk ay ginagamit (ibinabahagi sa lahat) para sa pagkakapantay-pantay, ang dami ng isa pa ay libre. Kapag nabigo ang isang disk, ang array ay na-compress sa 3 disk (gamit ang pinakamababang numero bilang halimbawa) sa pamamagitan ng pagpuno libreng espasyo. Ang resulta ay isang regular na array ng RAID 5, lumalaban sa pagkabigo ng isa pang disk. Kapag ang isang bagong disk ay konektado, ang array ay lumalawak at sumasakop muli sa lahat ng mga disk. Ito ay nagkakahalaga ng noting na sa panahon ng compression at decompression, ang drive ay hindi lumalaban sa isa pang drive na lalabas. Hindi rin ito binabasa/isinulat sa oras na ito. Ang pangunahing bentahe ay mataas na bilis ng operasyon, dahil ang paghahalili ay nangyayari sa higit pa mga disk. Minus - kung ano ang hindi pinapayagan ang disk na ito magtalaga sa ilang mga array nang sabay-sabay, na posible sa simpleng hanay RAID 5.

RAID 5EE

Ito ay naiiba mula sa nauna lamang dahil ang mga lugar ng libreng puwang sa mga disk ay hindi nakalaan sa isang piraso sa dulo ng disk, ngunit pinagsama sa mga bloke na may mga parity bit. Ang teknolohiyang ito ay makabuluhang nagpapabilis sa pagbawi pagkatapos ng pagkabigo ng system. Ang mga bloke ay maaaring isulat nang direkta sa libreng espasyo, nang hindi kinakailangang gumalaw sa disk.

Katulad ng RAID 5E, gumagamit ito ng karagdagang disk upang mapabuti ang pagganap at pamamahagi ng pagkarga. Libreng espasyo ay nahahati sa pagitan ng iba pang mga disk at matatagpuan sa dulo ng mga disk.

Ang teknolohiyang ito ay isang rehistradong trademark ng Storage Computer Corporation. RAID 3, 4 based array na na-optimize para sa performance. Ang pangunahing bentahe ay ang paggamit ng read/write caching. Ang mga kahilingan para sa paglilipat ng data ay isinasagawa nang asynchronously. Ginagamit ang mga SCSI disk sa panahon ng pagtatayo. Ang bilis ay humigit-kumulang 1.5-6 beses na mas mataas kaysa sa RAID 3.4 na mga solusyon.

Intel Matrix RAID

Ay isang teknolohiyang ipinakilala ng Intel sa mga tulay sa timog, simula sa ICH6R. Ang punto ay bumaba sa posibilidad ng kumbinasyon Mga array ng RAID iba't ibang antas sa mga partisyon ng disk sa halip na sa mga indibidwal na disk. Sabihin nating, sa dalawang disk maaari mong ayusin ang dalawang partisyon, dalawa sa kanila ang mag-iimbak operating system sa isang RAID 0 array, at ang iba pang dalawa - tumatakbo sa RAID 1 mode - mag-imbak ng mga kopya ng mga dokumento.

Linux MD RAID 10

Ito ay isang Linux kernel RAID driver na nagbibigay ng kakayahang lumikha ng isang mas advanced na bersyon ng RAID 10. Kaya, kung para sa RAID 10 mayroong isang limitasyon sa anyo ng isang kahit na bilang ng mga disk, kung gayon ang driver na ito ay maaaring gumana sa isang kakaiba. . Ang prinsipyo para sa tatlong disk ay magiging kapareho ng sa RAID 1E, kung saan ang mga disk ay may guhit nang paisa-isa upang lumikha ng kopya at mga stripe na bloke, tulad ng sa RAID 0. Para sa apat na disk, ito ay magiging katumbas ng isang regular na RAID 10. Bilang karagdagan, maaari mong tukuyin kung saang lugar maiimbak ang isang kopya sa disk. Sabihin nating ang orihinal ay nasa unang kalahati ng unang disc, at ang kopya nito ay nasa ikalawang kalahati ng pangalawa. Sa ikalawang kalahati ng data ito ay kabaligtaran. Maaaring ma-duplicate ang data ng ilang beses. Ang pag-iimbak ng mga kopya sa iba't ibang bahagi ng disk ay nagbibigay-daan sa iyo upang makamit ang mas mataas na bilis ng pag-access bilang isang resulta ng heterogeneity ng hard drive (ang bilis ng pag-access ay nag-iiba depende sa lokasyon ng data sa platter, kadalasan ang pagkakaiba ay dalawang beses).

Binuo ng Kaleidescape para magamit sa kanilang mga media device. Katulad ng RAID 4 gamit ang double parity, ngunit gumagamit ng ibang paraan ng fault tolerance. Madaling mapalawak ng user ang array sa pamamagitan lamang ng pagdaragdag ng mga disk, at kung naglalaman ito ng data, idadagdag lang ang data dito, sa halip na tanggalin, gaya ng karaniwang kinakailangan.

Binuo ng Sun. Ang pinakamalaking problema sa RAID 5 ay ang pagkawala ng impormasyon bilang resulta ng isang pagkabigo ng kuryente, kapag ang impormasyon mula sa cache ng disk (na pabagu-bago ng memorya, iyon ay, ay hindi nag-iimbak ng data nang walang kuryente) ay walang oras upang mai-save sa magnetic platters. Ang hindi pagkakatugma ng impormasyon sa cache at sa disk ay tinatawag na incoherence. Ang organisasyon ng array mismo ay nauugnay sa Sun Solaris file system - ZFS. Ang sapilitang pagsulat ng mga nilalaman ng memorya ng cache ng disk ay ginagamit; Ang isa pang mahalagang aspeto ay ang ideolohiya ng ZFS - hindi nito binabago ang data kung kinakailangan. Sa halip, nagsusulat ito ng na-update na data at pagkatapos, tinitiyak na matagumpay na ang operasyon, binago nito ang pointer dito. Kaya, posible na maiwasan ang pagkawala ng data sa panahon ng pagbabago. Ang mga maliliit na file ay nadoble sa halip na gumawa ng mga checksum. Ginagawa rin ito ng file system, dahil pamilyar ito sa istruktura ng data (RAID array) at maaaring maglaan ng espasyo para sa mga layuning ito. Mayroon ding RAID-Z2, na, tulad ng RAID 6, ay makakaligtas sa dalawang pagkabigo sa drive sa pamamagitan ng paggamit ng dalawang checksum.

Isang bagay na hindi RAID sa prinsipyo, ngunit kadalasang ginagamit kasama nito. Literal na isinalin bilang "isang bungkos lamang ng mga disk" Pinagsasama ng teknolohiya ang lahat ng mga disk na naka-install sa system sa isang malaking lohikal na pagmamaneho. Iyon ay, sa halip na tatlong disk, isang malaking disk ang makikita. Ang buong kabuuang kapasidad ng disk ay ginagamit. Walang acceleration, walang reliability, walang performance.

Drive Extender

Function na naka-embed sa Window Home Server. Pinagsasama ang JBOD at RAID 1. Kung kinakailangan upang lumikha ng isang kopya, hindi ito agad na duplicate ang file, ngunit inilalagay NTFS partition isang label na tumuturo sa data. Kapag idle, kinokopya ng system ang file upang ma-maximize ang espasyo sa disk (maaaring magamit ang mga disk na may iba't ibang laki). Binibigyang-daan kang makamit ang marami sa mga pakinabang ng RAID - fault tolerance at ang kakayahang madaling palitan ang isang nabigong disk at ibalik ito sa background, transparency ng lokasyon ng file (hindi alintana kung anong disk ito). Posible rin na magsagawa ng parallel na pag-access mula sa iba't ibang mga disk gamit ang mga label sa itaas, pagkuha ng katulad na pagganap sa RAID 0.

Binuo ng Lime technology LLC. Ang scheme na ito ay naiiba sa mga kumbensyonal na RAID array dahil pinapayagan ka nitong maghalo SATA drive at PATA sa isang array at mga disk na may iba't ibang laki at bilis. Ang isang nakalaang disk ay ginagamit para sa checksum (parity). Hindi striped ang data sa pagitan ng mga disk. Kung nabigo ang isang drive, ang mga file lamang na nakaimbak dito ang mawawala. Gayunpaman, maaari silang maibalik gamit ang parity. Ang UNRAID ay ipinatupad bilang isang add-on sa Linux MD (multidisk).

Karamihan sa mga uri ng RAID array ay hindi laganap; Ang pinakalaganap, mula sa ordinaryong gumagamit sa mga server antas ng pagpasok steel RAID 0, 1, 0+1/10, 5 at 6. Kung kailangan mo ng raid array para sa iyong mga gawain, nasa iyo ang pagpapasya. Ngayon alam mo na kung paano sila naiiba sa isa't isa.

Kung interesado ka sa artikulong ito, malamang na nakatagpo ka o inaasahan mong malapit nang makaharap ang isa sa mga sumusunod na problema sa iyong computer:

- malinaw na walang sapat na pisikal na kapasidad ng hard drive bilang isang solong lohikal na drive. Kadalasan ang problemang ito ay nangyayari kapag nagtatrabaho sa malalaking file (video, graphics, database);
- ang pagganap ng hard drive ay malinaw na hindi sapat. Kadalasan, ang problemang ito ay nangyayari kapag nagtatrabaho sa mga non-linear na sistema ng pag-edit ng video o kapag ang isang malaking bilang ng mga gumagamit ay sabay-sabay na nag-access ng mga file sa hard drive;
- Ang pagiging maaasahan ng hard drive ay malinaw na kulang. Kadalasan, lumilitaw ang problemang ito kapag kinakailangan upang gumana sa data na hindi dapat mawala o dapat palaging magagamit sa gumagamit. Ang malungkot na karanasan ay nagpapakita na kahit na ang pinaka-maaasahang kagamitan kung minsan ay nasisira at, bilang panuntunan, sa pinaka-hindi angkop na sandali.
Ang paglikha ng isang RAID system sa iyong computer ay maaaring malutas ang mga ito at ilang iba pang mga problema.

Ano ang "RAID"?

Noong 1987, inilathala ni Patterson, Gibson, at Katz ng University of California, Berkeley, ang “A Case for Redundant Arrays of Inexpensive Disks (RAID).” Inilarawan ng artikulong ito iba't ibang uri disk arrays, na tinutukoy ng abbreviation na RAID - Redundant Array ng Independent (o Murang) Disks (redundant array ng independent (o murang) disk drive). Ang RAID ay batay sa sumusunod na ideya: sa pamamagitan ng pagsasama-sama ng ilang maliliit at/o murang disk drive sa isang array, maaari kang makakuha ng isang sistema na mas mataas sa kapasidad, bilis at pagiging maaasahan sa pinakamahal na mga disk drive. Higit pa rito, mula sa pananaw ng isang computer, ang ganitong sistema ay mukhang isang solong disk drive.
Ito ay kilala na ang ibig sabihin ng oras sa pagitan ng mga pagkabigo ng isang drive array ay katumbas ng ibig sabihin ng oras sa pagitan ng mga pagkabigo ng isang drive na hinati sa bilang ng mga drive sa array. Bilang resulta, ang ibig sabihin ng oras ng array sa pagitan ng mga pagkabigo ay masyadong maikli para sa maraming mga application. Gayunpaman, ang isang disk array ay maaaring gawing mapagparaya sa pagkabigo ng isang drive sa maraming paraan.

Sa artikulo sa itaas, limang uri (mga antas) ng mga array ng disk ang tinukoy: RAID-1, RAID-2, ..., RAID-5. Ang bawat uri ay nagbigay ng paglaban sa kabiguan pati na rin iba't ibang pakinabang kumpara sa isang drive. Kasama ng limang uri na ito, ang RAID-0 disk array, na HINDI kalabisan, ay nakakuha din ng katanyagan.

Anong mga antas ng RAID ang nariyan at alin ang dapat mong piliin?

RAID-0. Karaniwang tinukoy bilang isang hindi kalabisan na grupo ng mga disk drive na walang pagkakapare-pareho. Ang RAID-0 ay tinatawag minsan na "Striping" batay sa paraan ng paglalagay ng impormasyon sa mga drive na kasama sa array:

Dahil ang RAID-0 ay walang redundancy, ang pagkabigo ng isang drive ay humahantong sa pagkabigo ng buong array. Sa kabilang banda, ang RAID-0 ay nagbibigay ng pinakamataas na bilis ng paglilipat ng data at mahusay na paggamit ng espasyo sa disk drive. Dahil ang RAID-0 ay hindi nangangailangan ng mga kumplikadong kalkulasyon sa matematika o lohika, ang mga gastos sa pagpapatupad nito ay minimal.

Saklaw ng aplikasyon: mga audio at video na application na nangangailangan ng mataas na bilis ng tuluy-tuloy na paglilipat ng data, na hindi maibibigay ng isang drive. Halimbawa, ang pananaliksik na isinagawa ng Mylex upang matukoy ang pinakamainam na pagsasaayos ng disk system para sa isang non-linear na istasyon ng pag-edit ng video ay nagpapakita na, kumpara sa isang disk drive, ang isang RAID-0 na hanay ng dalawang disk drive ay nagbibigay ng 96% na pagtaas sa write/read. bilis, ng tatlong disk drive - sa pamamagitan ng 143% (ayon sa Miro VIDEO EXPERT Benchmark test).
Ang pinakamababang bilang ng mga drive sa isang array na "RAID-0" ay 2.

RAID-1. Mas kilala bilang "Mirroring" ay isang pares ng mga drive na naglalaman ng parehong impormasyon at bumubuo ng isang lohikal na drive:

Ang pagre-record ay isinasagawa sa parehong mga drive sa bawat pares. Gayunpaman, ang mga drive sa isang pares ay maaaring magsagawa ng sabay-sabay na mga operasyon sa pagbasa. Kaya, maaaring doblehin ng "pagsasalamin" ang bilis ng pagbasa, ngunit ang bilis ng pagsulat ay nananatiling hindi nagbabago. Ang RAID-1 ay may 100% redundancy at ang pagkabigo ng isang drive ay hindi humantong sa isang pagkabigo ng buong array - ang controller ay inililipat lamang ang read/write operations sa natitirang drive.
Nagbibigay ang RAID-1 pinakamataas na bilis gumana sa lahat ng uri ng mga redundant array (RAID-1 - RAID-5), lalo na sa isang multi-user na kapaligiran, ngunit ang pinakamasamang paggamit ng disk space. Dahil ang RAID-1 ay hindi nangangailangan ng kumplikadong mga kalkulasyon sa matematika o lohika, ang mga gastos sa pagpapatupad nito ay minimal.
Ang pinakamababang bilang ng mga drive sa isang array na "RAID-1" ay 2.
Upang mapataas ang bilis ng pagsulat at matiyak ang maaasahang pag-iimbak ng data, maraming RAID-1 arrays ang maaaring, sa turn, ay pagsamahin sa RAID-0. Ang configuration na ito ay tinatawag na "two-level" RAID o RAID-10 (RAID 0+1):


Ang pinakamababang bilang ng mga drive sa isang array na "RAID 0+1" ay 4.
Saklaw ng aplikasyon: murang mga arrays kung saan ang pangunahing bagay ay ang pagiging maaasahan ng imbakan ng data.

RAID-2. Namamahagi ng data sa mga guhit na kasing laki ng sektor sa isang pangkat ng mga disk drive. Ang ilang mga drive ay nakatuon sa imbakan ng ECC (Error Correction Code). Dahil ang karamihan sa mga drive ay nag-iimbak ng mga ECC code sa bawat sektor bilang default, ang RAID-2 ay hindi nag-aalok ng maraming benepisyo kaysa sa RAID-3 at samakatuwid ay hindi ginagamit sa pagsasanay.

RAID-3. Tulad ng kaso ng RAID-2, ang data ay ipinamahagi sa mga guhit ng isang sektor sa laki, at ang isa sa mga array drive ay inilalaan upang mag-imbak ng impormasyon ng parity:

Ang RAID-3 ay umaasa sa mga ECC code na nakaimbak sa bawat sektor upang makakita ng mga error. Kung nabigo ang isa sa mga drive, maaaring maibalik ang impormasyong nakaimbak dito sa pamamagitan ng pagkalkula ng eksklusibong OR (XOR) gamit ang impormasyon sa natitirang mga drive. Ang bawat entry ay karaniwang ipinamamahagi sa lahat ng mga drive at samakatuwid ang ganitong uri ng array ay mabuti para sa data-intensive na mga application. disk subsystem. Dahil ang bawat operasyon ng I/O ay ina-access ang lahat ng mga disk drive sa array, ang RAID-3 ay hindi maaaring magsagawa ng maraming mga operasyon nang sabay-sabay. Samakatuwid, ang RAID-3 ay mabuti para sa single-user, single-tasking environment na may mahabang record. Upang gumana sa mga maikling pag-record, kinakailangan upang i-synchronize ang pag-ikot ng mga disk drive, dahil kung hindi man ay hindi maiiwasan ang pagbaba sa bilis ng palitan. Bihirang gamitin, kasi mas mababa sa RAID-5 sa mga tuntunin ng paggamit ng espasyo sa disk. Ang pagpapatupad ay nangangailangan ng makabuluhang gastos.
Ang pinakamababang bilang ng mga drive sa isang array na "RAID-3" ay 3.

RAID-4. Ang RAID-4 ay kapareho ng RAID-3 maliban na ang laki ng guhit ay mas malaki kaysa sa isang sektor. Sa kasong ito, ang mga pagbabasa ay ginagawa mula sa iisang drive (hindi binibilang ang drive na nag-iimbak ng impormasyon ng parity), kaya maramihang mga read operation ay maaaring isagawa nang sabay-sabay. Gayunpaman, dahil dapat na i-update ng bawat write operation ang mga nilalaman ng parity drive, hindi posibleng magsagawa ng maramihang write operations nang sabay-sabay. Ang ganitong uri ng array ay walang anumang kapansin-pansing pakinabang sa isang RAID-5 array.
RAID-5. Ang ganitong uri ng array ay kung minsan ay tinatawag na "rotating parity array". Ang ganitong uri ng array ay matagumpay na nagtagumpay sa likas na kawalan ng RAID-4 - ang kawalan ng kakayahang sabay na magsagawa ng ilang mga operasyon sa pagsulat. Ang array na ito, tulad ng RAID-4, ay gumagamit mga guhitan malaki ang sukat, ngunit, hindi tulad ng RAID-4, ang impormasyon ng parity ay naka-imbak hindi sa isang drive, ngunit sa lahat ng mga drive naman:

I-access ng mga write operation ang isang drive na may data at isa pang drive na may parity information. Dahil ang impormasyon ng parity para sa iba't ibang mga guhit ay naka-imbak sa iba't ibang mga drive, maraming sabay-sabay na pagsusulat ay hindi posible maliban kung ang alinman sa mga guhit ng data o mga guhit ng parity ay nasa parehong drive. Ang mas maraming mga drive sa array, mas madalas ang lokasyon ng impormasyon at parity stripes ay nagtutugma.
Saklaw ng aplikasyon: maaasahang malalaking dami ng array. Ang pagpapatupad ay nangangailangan ng makabuluhang gastos.
Ang pinakamababang bilang ng mga drive sa isang array na "RAID-5" ay 3.

RAID-1 o RAID-5?
Ang RAID-5, kumpara sa RAID-1, ay gumagamit ng puwang sa disk nang mas matipid, dahil para sa redundancy ay hindi ito nag-iimbak ng isang "kopya" ng impormasyon, ngunit isang numero ng tseke. Bilang resulta, maaaring pagsamahin ng RAID-5 ang anumang bilang ng mga drive, kung saan isa lamang ang maglalaman ng kalabisan na impormasyon.
Ngunit ang mas mataas na disk space na kahusayan ay dumating sa gastos ng mas mababang halaga ng palitan ng impormasyon. Kapag nagsusulat ng impormasyon sa RAID-5, ang impormasyon ng parity ay dapat na ma-update sa bawat oras. Upang gawin ito, kailangan mong matukoy kung aling mga parity bit ang nagbago. Binabasa muna ang iuupdate lumang impormasyon. Ang impormasyong ito ay XORed sa bagong impormasyon. Ang resulta ng operasyong ito ay medyo mask kung saan ang bawat bit =1 ay nangangahulugan na ang halaga sa parity information sa kaukulang posisyon ay dapat mapalitan. Ang na-update na impormasyon ng parity ay isusulat sa naaangkop na lokasyon. Samakatuwid, para sa bawat kahilingan ng programa na magsulat ng impormasyon, ang RAID-5 ay nagsasagawa ng dalawang pagbabasa, dalawang pagsusulat, at dalawang operasyon ng XOR.
Mayroong gastos sa paggamit ng disk space nang mas mahusay (pag-iimbak ng parity block sa halip na isang kopya ng data): karagdagang oras ay kinakailangan upang makabuo at magsulat ng parity na impormasyon. Nangangahulugan ito na ang bilis ng pagsulat sa RAID-5 ay mas mababa kaysa sa RAID-1 sa ratio na 3:5 o kahit 1:3 (ibig sabihin, ang bilis ng pagsulat sa RAID-5 ay 3/5 hanggang 1/3 ang bilis ng pagsulat RAID-1). Dahil dito, walang kabuluhan ang RAID-5 na likhain sa software. Hindi rin mairerekomenda ang mga ito sa mga kaso kung saan kritikal ang bilis ng pag-record.

Aling paraan ng pagpapatupad ng RAID ang dapat mong piliin - software o hardware?

Pagkatapos basahin ang mga paglalarawan ng iba't ibang antas ng RAID, mapapansin mo na wala kahit saan ang anumang pagbanggit ng anumang partikular na mga kinakailangan sa hardware na kinakailangan para sa Mga pagpapatupad ng RAID. Mula sa kung saan maaari naming tapusin na ang lahat na kailangan upang ipatupad ang RAID ay upang ikonekta ang kinakailangang bilang ng mga disk drive sa controller na magagamit sa computer at mag-install ng espesyal na software sa computer. Ito ay totoo, ngunit hindi ganap!
Sa katunayan, may posibilidad pagpapatupad ng software RAID. Ang isang halimbawa ay ang Microsoft Windows NT 4.0 Server OS, kung saan ang pagpapatupad ng software ng RAID-0, -1 at maging ang RAID-5 ay posible (Ang Microsoft Windows NT 4.0 Workstation ay nagbibigay lamang ng RAID-0 at RAID-1). Gayunpaman, ang solusyon na ito ay dapat isaalang-alang bilang lubhang pinasimple at hindi pinapayagan ang ganap na pagsasakatuparan ng mga kakayahan ng RAID array. Sapat na tandaan na sa pagpapatupad ng software ng RAID, ang buong pasanin ng paglalagay ng impormasyon sa mga disk drive, pagkalkula ng mga control code, atbp. nahuhulog sa gitnang processor, na natural na hindi nagpapataas ng pagganap at pagiging maaasahan ng system. Para sa parehong mga kadahilanan, halos walang mga function ng serbisyo dito at ang lahat ng mga operasyon upang palitan ang isang may sira na drive, magdagdag ng isang bagong drive, baguhin ang antas ng RAID, atbp. ay isinasagawa nang may kumpletong pagkawala ng data at may kumpletong pagbabawal sa anumang iba pang mga operasyon . Ang tanging bentahe ng pagpapatupad ng software ng RAID ay ang kaunting gastos nito.
- pinalalaya ng isang dalubhasang controller ang gitnang processor mula sa mga pangunahing operasyon ng RAID, at ang pagiging epektibo ng controller ay mas kapansin-pansin kapag mas mataas ang antas ng pagiging kumplikado ng RAID;
- ang mga controllers, bilang panuntunan, ay nilagyan ng mga driver na nagbibigay-daan sa iyo upang lumikha ng RAID para sa halos anumang sikat na OS;
- built-in Controller BIOS at ang mga programa sa pamamahala na kasama nito ay nagbibigay-daan sa administrator ng system na madaling kumonekta, idiskonekta o palitan ang mga drive na kasama sa RAID, lumikha ng maraming RAID array, kahit na sa iba't ibang antas, subaybayan ang katayuan ng disk array, atbp. Sa mga "advanced" na controllers, ang mga operasyong ito ay maaaring isagawa "on the fly", i.e. nang hindi pinapatay ang unit ng system. Maraming mga operasyon ang maaaring isagawa sa "background", i.e. nang hindi nakakaabala kasalukuyang gawain at kahit malayuan, i.e. mula sa alinmang (siyempre, kung mayroon kang access) na lugar ng trabaho;
- Ang mga controller ay maaaring nilagyan ng isang buffer memory ("cache"), kung saan ang huling ilang mga bloke ng data ay naka-imbak, na, na may madalas na pag-access sa parehong mga file, ay maaaring makabuluhang taasan ang pagganap ng disk system.
Ang kawalan ng pagpapatupad ng hardware RAID ay ang medyo mataas na halaga ng RAID controllers. Gayunpaman, sa isang banda, kailangan mong magbayad para sa lahat (pagkakatiwalaan, bilis, serbisyo). Sa kabilang banda, sa kani-kanina lang, sa pag-unlad ng teknolohiyang microprocessor, ang gastos ng mga RAID controllers (lalo na ang mga mas batang modelo) ay nagsimulang bumagsak nang husto at naging maihahambing sa gastos ng mga ordinaryong disk controller, na ginagawang posible na mag-install ng mga sistema ng RAID hindi lamang sa mga mamahaling mainframe, kundi pati na rin sa mga entry-level na server at maging mga workstation .

Paano pumili ng modelo ng RAID controller?

Mayroong ilang mga uri ng RAID controllers depende sa kanilang functionality, disenyo at gastos:
1. Drive controllers na may RAID functionality.
Sa esensya, ito ay isang ordinaryong disk controller, na, salamat sa espesyal na BIOS firmware, ay nagbibigay-daan sa iyo upang pagsamahin ang mga disk drive sa isang RAID array, kadalasan sa antas 0, 1 o 0+1.

Ultra (Ultra Wide) SCSI controller Mylex KT930RF (KT950RF).
Panlabas controller na ito walang pinagkaiba sa isang ordinaryong SCSI controller. Ang lahat ng "espesyalisasyon" ay matatagpuan sa BIOS, na nahahati sa dalawang bahagi - "SCSI Configuration" / "RAID Configuration". Sa kabila ng mababang halaga nito (mas mababa sa $200), ang controller na ito ay may magandang hanay ng mga function:

- pagsasama-sama ng hanggang 8 drive sa RAID 0, 1 o 0+1;
- suporta Hot Spare para sa on-the-fly na pagpapalit ng isang nabigong disk drive;
- ang kakayahang awtomatikong (nang walang interbensyon ng operator) na palitan ang isang maling drive;
- awtomatikong kontrol ng integridad at pagkakakilanlan ng data (para sa RAID-1);
- pagkakaroon ng isang password upang ma-access ang BIOS;
- RAIDPlus program na nagbibigay ng impormasyon tungkol sa estado ng mga drive sa RAID;
- mga driver para sa DOS, Windows 95, NT 3.5x, 4.0
  • scsi interface
  • 3.2. Mga Optical Disc Storage Device
  • 3.2.1. Mga optical disc 3.2.2. Pag-aayos ng data sa mga optical disk
  • 3.2.3. Mga optical drive
  • 3.2.1. Mga optical disc
  • 3.2.2. Pag-aayos ng data sa mga optical disk
  • 3.2.3. Mga optical drive
  • 3.3. Mga storage device na may naaalis na magnetic media
  • 3.3.1. Floppy disk drive 3.3.2. Mga storage device na may naaalis na magnetic at magneto-optical disks 3.3.3. Mga tape drive
  • 3.3.1. Mga floppy disk drive
  • 3.3.2. Mga storage device na may naaalis na magnetic at magneto-optical disk
  • 3.3.3. Mga tape drive
  • Kabanata 4: Mga Paraan para sa Pagsusuri ng Pagganap ng Memorya at Pagpapabuti ng Pagganap ng Memorya
  • 4.1. Mga pamamaraan para sa pagtatasa ng mga katangian ng timing ng isang memorya 4.2. Paraan para sa pagtaas ng pagganap ng memorya ng computer 4.3. Mga direksyon para sa pagbuo ng memorya
  • 4.1. Mga pamamaraan para sa pagtatasa ng mga katangian ng timing ng memorya
  • 4.1.1. Mga pamamaraan ng pang-eksperimentong pagtatasa 4.1.2. Pamamaraan ng teoretikal na pagtatasa
  • 4.1.1. Mga pamamaraan ng pang-eksperimentong pagtatasa
  • 4.1.2. Pamamaraan ng teoretikal na pagtatasa
  • 4.2. Mga pamamaraan para sa pagtaas ng pagganap ng memorya ng computer
  • 4.2.1. Paggamit ng cache memory 4.2.2. Pagpapadala (pamamahala ng order) para sa mga kahilingan sa serbisyo 4.2.3. Organisasyon ng mga disk array (raid)
  • 4.2.1. Paggamit ng cache
  • 4.2.2. Pagpapadala (pamamahala ng order) para sa mga kahilingan sa serbisyo
  • 4.2.3. Organisasyon ng mga disk array (raid)
  • 4.3. Mga direksyon para sa pagbuo ng memorya
  • Panitikan at mga link
  • 4.2.3. Organisasyon ng mga disk array (raid)

    Ang isa pang paraan upang mapabuti ang pagganap ng memorya ng disk ay ang pagbuo ng mga array ng disk, bagaman ito ay naglalayong hindi lamang (at hindi gaanong) sa pagkamit ng mas mataas na pagganap, kundi pati na rin ang higit na pagiging maaasahan ng mga aparato sa imbakan ng disk.

    teknolohiya ng RAID ( Redundant Array ng Independent Disks- kalabisan na hanay ng mga independiyenteng disk) ay naisip bilang pagsasama-sama ng ilang murang hard drive sa isang disk array upang mapataas ang pagganap, kapasidad at pagiging maaasahan kumpara sa isang disk. Sa kasong ito, dapat makita ng computer ang ganoong array bilang isang lohikal na disk.

    Kung pagsasamahin mo lang ang maraming drive sa isang (hindi kalabisan) array, ang mean time between failures (MTBF) ay katumbas ng MTTF ng isang drive na hinati sa bilang ng mga drive. Masyadong mababa ang figure na ito para sa mga application na kritikal sa mga pagkabigo ng hardware. Maaari itong mapabuti sa pamamagitan ng paglalapat ng maipapatupad sa iba't ibang paraan kalabisan sa pag-iimbak ng impormasyon.

    Sa mga sistema ng RAID, upang mapabuti ang pagiging maaasahan at pagganap, ang mga kumbinasyon ng tatlong pangunahing mekanismo ay ginagamit, ang bawat isa ay kilala nang paisa-isa: - organisasyon ng mga "mirror" na disk, i.e. kumpletong pagdoble ng nakaimbak na impormasyon; - pagbibilang ng mga check code (parity, Hamming code), na nagpapahintulot sa iyo na ibalik ang impormasyon sa kaganapan ng isang pagkabigo; - pamamahagi ng impormasyon sa kabuuan iba't ibang mga disk array sa parehong paraan tulad ng ginagawa kapag ang interleaved na pag-access sa mga bloke ng memorya (tingnan ang interleave), na nagpapataas ng posibilidad ng parallel na operasyon ng mga disk sa panahon ng mga operasyon sa nakaimbak na impormasyon. Kapag inilalarawan ang RAID, ang pamamaraang ito ay tinatawag na "mga stripped disk," na literal na nangangahulugang "mga disk na nahahati sa mga piraso," o simpleng "mga stripped disk."

    kanin. 43. Paghahati ng mga disk sa mga alternating block - "mga strip".

    Sa una, limang uri ng mga array ng disk ang tinukoy, na itinalagang RAID 1 – RAID 5, na naiiba sa kanilang mga tampok at pagganap. Ang bawat isa sa mga uri na ito, dahil sa isang tiyak na redundancy ng naitala na impormasyon, ay nagbigay ng mas mataas na fault tolerance kumpara sa isang drive. Bilang karagdagan, ang isang hanay ng mga disk na walang redundancy, ngunit nagbibigay-daan para sa mas mataas na pagganap (dahil sa pagsasapin-sapin ng mga pag-access), ay madalas na tinatawag na RAID 0.

    Ang mga pangunahing uri ng mga array ng RAID ay maaaring madaling ilarawan bilang mga sumusunod.

    RAID 0. Karaniwan, ang ganitong uri ng array ay tinukoy bilang isang pangkat ng mga striped disk na walang parity at walang redundancy ng data. Ang mga sukat ng mga guhit ay maaaring malaki sa isang multi-user na kapaligiran o maliit sa isang solong user system kapag ang mahahabang talaan ay na-access nang sunud-sunod.

    Ang organisasyong RAID 0 ay eksaktong tumutugma sa ipinakita sa Fig. 43. Ang mga operasyon sa pagsulat at pagbasa ay maaaring isagawa nang sabay-sabay sa bawat drive. Ang minimum na bilang ng mga drive para sa RAID 0 ay dalawa.

    Ang uri na ito ay nailalarawan sa pamamagitan ng mataas na pagganap at ang pinaka mahusay na paggamit ng puwang sa disk, gayunpaman, ang pagkabigo ng isa sa mga disk ay ginagawang imposibleng magtrabaho kasama ang buong hanay.

    RAID 1. Ang ganitong uri ng disk array (Fig. 44, A) ay kilala rin bilang mga mirrored drive at mga pares lamang ng mga drive na duplicate ang data na iniimbak nila, ngunit lumalabas sa computer bilang isang drive. At bagama't hindi ginagawa ang striping sa loob ng isang pares ng mga naka-mirror na disk, maaaring isaayos ang block striping para sa ilang mga array ng RAID 1, na magkakasamang bumubuo ng isang malaking hanay ng ilang mga pares ng mga disk. Ang ganitong uri ng organisasyon ay tinatawag na RAID 1 + 0. Mayroon ding reverse option.

    Ang lahat ng mga operasyon sa pagsulat ay isinasagawa nang sabay-sabay sa parehong mga disk ng pares ng salamin upang ang impormasyon sa mga ito ay magkapareho. Ngunit kapag nagbabasa, ang bawat isa sa mga drive ng pares ay maaaring gumana nang nakapag-iisa, na nagbibigay-daan sa dalawang pagbabasa na maisagawa nang sabay-sabay, sa gayon ay nadodoble ang pagganap ng pagbasa. Sa ganitong kahulugan, ang RAID 1 ay nagbibigay ng pinakamahusay na pagganap sa lahat ng mga pagpipilian sa hanay ng disk.

    RAID 2. Sa mga ito mga array ng disk mga bloke - ang mga sektor ng data ay pinagsama-sama sa isang pangkat ng mga disk, ang ilan sa mga ito ay ginagamit lamang para sa pag-imbak ng impormasyon ng kontrol - mga ECC (error correcting codes) na mga code. Ngunit dahil ang lahat ng modernong drive ay may built-in na kontrol gamit ang mga ECC code, ang RAID 2 ay hindi gaanong ibinibigay kumpara sa iba pang mga uri ng RAID, at ngayon ay bihirang ginagamit.

    RAID 3. Tulad ng sa RAID 2 sa ganitong uri ng disk array (Fig. 44, b) ang mga bloke ng sektor ay pinagsama-sama sa isang pangkat ng mga disk, ngunit ang isa sa mga disk sa pangkat ay nakatuon sa pag-iimbak ng impormasyon ng pagkakapareho. Kung nabigo ang isang disk drive, ang pagbawi ng data ay isinasagawa sa pamamagitan ng pagkalkula ng mga halaga ng eksklusibong-o (XOR) function mula sa data na naitala sa natitirang mga disk. Karaniwang sinasakop ng mga rekord ang lahat ng mga disk (dahil ang mga strip ay maikli), na nagpapataas sa pangkalahatang bilis ng paglipat ng data. Dahil ang bawat operasyon ng I/O ay nangangailangan ng access sa bawat disk, ang isang RAID 3 array ay maaari lamang magserbisyo ng isang kahilingan sa bawat pagkakataon. Samakatuwid, ang ganitong uri ay nagbibigay ng pinakamahusay na pagganap para sa isang user sa isang solong-tasking na kapaligiran na may mahabang mga tala. Kapag nagtatrabaho sa mga maiikling record, kinakailangan ang pag-synchronize ng mga spindle ng drive upang maiwasan ang pagkasira ng pagganap. Ayon sa kanilang sarili Mga katangian ng RAID 3 ay malapit sa RAID 5 (tingnan sa ibaba).

    RAID 4. Ang organisasyong ito, na ipinapakita sa Fig. 35, V), ay katulad ng RAID 3 na may pagkakaiba lamang na gumagamit ito ng malalaking bloke (stripes) upang mabasa ang mga tala mula sa anumang disk sa array (maliban sa disk na nag-iimbak ng mga parity code). Binibigyang-daan ka nitong pagsamahin ang mga operasyon sa pagbabasa iba't ibang mga drive. Palaging ina-update ng mga operasyon sa pagsulat ang parity disk, kaya hindi sila maaaring pagsamahin. Sa pangkalahatan, ang arkitektura na ito ay hindi nag-aalok ng anumang partikular na mga pakinabang sa iba pang mga opsyon sa RAID.

    RAID 5. Ang ganitong uri ng disk array ay katulad ng RAID 4, ngunit nag-iimbak ito ng mga parity code hindi sa isang espesyal na nakatuong disk, ngunit sa mga bloke na matatagpuan salitan sa lahat ng mga disk. Ang organisasyong ito ay minsan pa ngang tinatawag na array na may "rotating parity" (maaaring tandaan ng isa ang isang partikular na pagkakatulad sa pagtatalaga ng mga interrupt na linya para sa mga puwang ng bus ng PCI o sa cyclic na priyoridad ng interrupt controller sa mga x86 line processor). Iniiwasan ng pamamahagi na ito ang limitasyon ng sabay-sabay na pagsusulat dahil sa pag-iimbak ng mga parity code sa isang disk lamang, katangian ng RAID 4. Sa Fig. 44, G) ay nagpapakita ng isang array na binubuo ng apat na disk drive, at para sa bawat tatlong bloke ng data mayroong isang parity block (ang mga bloke na ito ay may kulay), ang lokasyon kung saan nagbabago para sa bawat triple ng mga bloke ng data, na gumagalaw nang paikot sa lahat ng apat na disk drive.

    Ang mga operasyon sa pagbabasa ay maaaring isagawa nang magkatulad para sa lahat ng mga disk. Ang mga pagpapatakbo ng pagsulat na nangangailangan ng dalawang drive (para sa data at para sa parity) ay maaari ding pagsamahin, dahil ang mga parity code ay ipinamamahagi sa lahat ng mga drive.

    Ang paghahambing ng iba't ibang mga opsyon para sa pag-aayos ng mga array ng disk ay nagpapakita ng mga sumusunod.

    Ang RAID 0 ay ang pinakamabilis at pinakamabisang opsyon, ngunit hindi nagbibigay ng fault tolerance. Nangangailangan ito ng hindi bababa sa 2 disk drive. Ang mga operasyon sa pagsulat at pagbasa ay maaaring isagawa nang sabay-sabay sa bawat drive.

    Ang arkitektura ng RAID 1 ay pinakaangkop para sa mataas na pagganap, mataas na pagiging maaasahan ng mga aplikasyon, ngunit ito rin ang pinakamahal. Ito rin ang tanging opsyon na fault tolerant kapag dalawang drive lang ang ginagamit. Ang mga operasyon sa pagbabasa ay maaaring isagawa nang sabay-sabay para sa bawat drive;

    Ang arkitekturang RAID 2 ay bihirang ginagamit.

    Ang isang RAID 3 disk array ay maaaring gamitin upang pabilisin ang paglilipat ng data at pagbutihin ang fault tolerance sa isang solong user na kapaligiran kapag nag-a-access ng mahabang talaan nang sunud-sunod. Ngunit hindi nito pinapayagan ang pagsasama-sama ng mga operasyon at nangangailangan ng naka-synchronize na pag-ikot ng mga spindle ng drive. Nangangailangan ito ng hindi bababa sa tatlong drive: 2 para sa data at isa para sa mga parity code.

    Ang arkitektura ng RAID 4 ay hindi sumusuporta sa mga sabay-sabay na operasyon at walang mga pakinabang sa RAID 5.

    Ang RAID 5 ay mahusay, nababanat, at mahusay na gumaganap. Ngunit ang pagganap ng pagsulat at ang pagganap ng pagkabigo sa drive ay mas masahol pa kaysa sa RAID 1. Sa partikular, dahil ang isang bloke ng mga parity code ay nalalapat sa buong bloke na isinusulat, kung bahagi lamang nito ang nakasulat, kinakailangang basahin muna ang dating nakasulat na data, pagkatapos kalkulahin ang mga bagong halaga ng parity code at pagkatapos lamang na magsulat ng bagong data (at parity). Mas tumatagal din ang mga pagpapatakbong muling ayusin dahil sa pangangailangang bumuo ng mga parity code. Ang ganitong uri ng RAID ay nangangailangan ng hindi bababa sa tatlong disk drive.

    Bilang karagdagan, batay sa pinakakaraniwang mga pagpipilian sa RAID: 0, 1 at 5, ang tinatawag na dalawang antas na arkitektura ay maaaring mabuo, na pinagsama ang mga prinsipyo ng pag-aayos ng iba't ibang uri ng mga array. Halimbawa, maaaring pagsamahin ang ilang RAID arrays ng parehong uri sa isang data array group o parity array.

    Dahil sa dalawang antas na organisasyong ito, posibleng makamit ang kinakailangang balanse sa pagitan ng mas mataas na katangian ng pagiging maaasahan ng pag-iimbak ng data ng RAID 1 at RAID 5 arrays at ang mataas na bilis ng pagbasa na likas sa mga striping block sa mga disk sa isang RAID 0 array. Ang mga antas ng scheme ay kung minsan ay tinatawag na RAID 0+1 o 10 at 0+5 o 50.

    Ang pagpapatakbo ng mga array ng RAID ay maaaring kontrolin hindi lamang sa hardware, kundi pati na rin sa software, ang posibilidad na ibinibigay sa ilang mga bersyon ng server ng mga operating system. Bagaman malinaw na ang naturang pagpapatupad ay magkakaroon ng mas masahol na mga katangian ng pagganap.