Christoph Hellwig, održavatelj DMA podsistema, KVM, Slab Allocator i PowerPC arhitekture u Linux kernelu, predstavio je prvo javno izdanje XRAID-a, implementacije deklasteriziranog RAID-a s kontrolom pariteta, integrirane u datotečni sustav XFS. Projekt je stvoren s ciljem dodavanja mogućnosti korištenja RAID-a na zoniranim uređajima za pohranu, kao što su SMR (Shingled Magnetic Recording) diskovi, te pružanja visokoučinkovite implementacije RAID-a za održavanje integriteta podataka. Osim zoniranih uređaja, XRAID također podržava rad na običnim tvrdim diskovima i SSD-ima, pokazujući značajan porast performansi u odnosu na mdraid (do 20 puta prilikom pisanja).
Za raspodjelu informacija po uređajima u XRAID-u koristi se deklasterizirana kontrola pariteta, koja podsjeća na dRAID u OpenZFS, pri čemu se za vruće oporavke (hot spare) ne dodjeljuju posebni uređaji, već se podaci, informacije o kontroli pariteta i slobodni rezervni prostor (spare space) ravnomjerno raspoređuju po svim uređajima. Proces čitanja, pisanja i oporavka u slučaju kvarova pokriva sve raspoložive uređaje, što povećava propusnost, smanjuje opterećenje na pojedinim diskovima, omogućuje izbjegavanje značajnog pada performansi u slučaju kvarova i znatno ubrzava proces rekonstrukcije niza nakon dodavanja ili zamjene uređaja.
Deklasterizirani RAID također pojednostavljuje stvaranje otpornijih nizova s vrlo velikim brojem diskova. Tijekom oporavka nakon kvarova, XRAID dinamički određuje redoslijed rekonstrukcije uređaja, prvo obrađujući zone s većim gubitkom suvišnih informacija i rekonstruišući zone s podacima prije zona s informacijama o kontroli pariteta.
XRAID se prvotno razvija imajući u vidu mogućnost korištenja sa zoniranim pogonima, gdje se prostor za pohranu dijeli na zone koje čine grupe blokova ili sektora. U takvim uređajima dopušteno je samo sekvencijalno dodavanje podataka uz ažuriranje cijele grupe blokova. Na primjer, zoniranje zapisivanja koristi se na SMR (Shingled Magnetic Recording) diskovima, gdje je širina staze manja od širine magnetske glave, a zapis se vrši s dijelom preklapanja susjedne staze, tj. svako ponovo zapisivanje zahtijeva ponovno zapisivanje cijele grupe staza.
Za podršku zoniranim uređajima u XRAID-u implementiran je raspodjeljivač blokova za zonirane uređaje (zoned allocator) u XFS-u i Linux kernelu, koji koristi RT-podvolumen (RealTime subvolume) za organizaciju odvojene pohrane podataka i metapodataka (u zonama s sekvencijalnim zapisom pohranjuje se samo sadržaj datoteka, dok se metapodaci datotečnog sustava nalaze u običnim zonama ili na dodatnim SSD pogonima).
U XRAID-u mehanizmi kontrole pariteta RAID-a primjenjuju se samo na sadržaj datoteka, dok se redundancija za metapodatke ostvaruje korištenjem već postojećih drajvera u Linux kernelu, na primjer, putem zrcaljenja pomoću MD RAID-a, što je učinkovitije za manje objekte koji se ažuriraju na mjestu. Implementacija RAID-a ugrađuje se u XFS do obradnika zoniranog ulazno/izlaznog sustava, koji predstavljaju fizičke zone donjih pogona u obliku logičkih zona, slično višesloževnom bloku.
Rad na XRAID-u traje već godinu i pol, i iako implementacija još nije spremna za integraciju u glavnu strukturu jezgre, već je pogodna za testiranje širom publike. U predloženoj implementaciji podržavaju se od 0 do 2 razine pariteta (u razvijanju je kôd za podršku 3 i više razina). Za upravljanje XRAID-om u alatima xfsprogs dodana je nova alatka "xraid" i implementirana podrška za XRAID u mkfs. Osim toga, u alat za inspekciju zoniranih pogona Zonar dodane su mogućnosti za vizualizaciju mapiranja logičkih zona na fizičke zone.
Objavljeni su rezultati testiranja performansi XRAID-a u usporedbi s mdraidom i btrfs-om, provedenih za XRAID-masiv u konfiguraciji s dva SSD diska WD DC-SN650 za metapodatke (zrcalo na bazi mdraida), šest običnih SATA diskova WD DC-HC590 26 TB i 6-21 zoniranih diskova WD DC-HC690 30 TB (SMR).





Također su provedena testiranja XRAID-a na običnim nezoniranim SSD-ovima u konfiguraciji s jednim 4 TiB Samsung PM9D3a za metapodatke i pet 4 TiB Samsung PM9D3a za RAID (4 + 1).




Izvor: opennet.ru
