Christoph Hellwig, DMA subsystem maintainer, KVM, Slab Allocator, and PowerPC architecture in the Linux kernel, has introduced the first public release of XRAID, an implementation of declustered RAID with parity control integrated into the XFS file system. The project aims to add the capability of using RAID on zoned storage devices, such as Shingled Magnetic Recording (SMR) disks, and to provide a high-performance RAID implementation to maintain data integrity. In addition to zoned devices, XRAID also supports operation on conventional hard drives and SSDs, demonstrating a significant performance increase on the latter compared to mdraid (up to 20 times in writes).
XRAID applies declustered parity control for distributing information across storage devices, reminiscent of dRAID in OpenZFS, where hot spares are not designated as separate drives. Instead, data, parity information, and spare space are evenly distributed across all drives. The process of reading, writing, and recovery in case of failures encompasses all available drives, enhancing throughput, reducing the load on individual disks, preventing noticeable performance drops during failures, and significantly speeding up the rebuild process after adding or replacing drives.
Declustered RAID also simplifies the creation of fault-tolerant arrays with a very large number of drives. During recovery after failures, XRAID dynamically determines the order of drive rebuilding, prioritizing areas with a higher loss of redundant information and rebuilding data zones ahead of parity information areas.
XRAID on alguses arenes silmas pidades võimalust kasutada tsoonitud andmekandjaid, kus salvestusruum jaguneb tsoonideks, mis koosnevad plokkide või sektorite gruppidest. Sellistes seadmetes on lubatud andmete järjestikune lisamine koos kogu plokigruppi täieliku uuendamisega. Näiteks kasutatakse salvestamise tsoonimist SMR (Shingled Magnetic Recording) ketastes, kus rajatee laius on väiksem kui magnetpea laius ja salvestamine toimub osaliselt naaberrajaga kattumisega, st igasugune ümberkirjutamine toob kaasa kogu rajagruppi ümberkirjutamise vajaduse.
Zoonitud seadmete toetamiseks XRAID-s on rakendatud Linuxi südamikus ja XFS-is tsoonitud seadmete plokkide jaoturit (zoned allocator), mis kasutab RT-alamhulka (RealTime subvolume) andmete ja metaandmete eraldi salvestamise korraldamiseks (tsooni järjestikuse salvestamise korral on salvestatud ainult failide sisu, samas kui FS metaandmed on paigutatud tavapärastes tsoonides või lisanduvatele SSD-andmekandjatele).
XRAID-s rakendatakse RAID-kontrollimehhanisme ainult failide sisu jaoks, samas kui metaandmete ülemäärasus saavutatakse juba olemasolevate Linuxi tuuma draiverite kaudu, näiteks peegeldamise kaudu MD RAID-i abil, mis on tõhusam väikeste objektide töötlemisel kohapeal. RAID-iteostus integreeritakse XFS-i zoone sisestamise töötlejatesse, mis esindavad füüsilisi tsoone alumistel andmekandjatel loogiliste tsoonidena, sarnaselt mitmekihilistele plokkseadmetele.
Tööd XRAID-i kallal on kestnud juba poolteist aastat, ja kuigi teostus ei ole veel valmis põhituuma integreerimiseks, on see juba sobiv laiemaks testimiseks. Pakutud teostuses toetatakse 0 kuni 2 pariteetaset (koode arendatakse 3 ja enam taseme toetamiseks). XRAID-i haldamiseks on xfsprogs-i tööriistakomplekti lisatud uus utiliit "xraid" ning XRAID-i tugi on rakendatud mkfs-is. Lisaks on tsoonitud andmekandjate inspekteerimise utiliidile Zonar lisatud võimalusi loogiliste tsoonide visualiseerimiseks füüsiliste tsoonide suhtes.
Avaldatud on XRAID-i jõudlustestide tulemused, mis on võrreldud mdraid ja btrfs-iga, tehtud XRAID-massiivis, mis koosneb kahest WD DC-SN650 SSD-draivist metadate jaoks (mdraid-põhine peegel), kuuest tavalisest WD DC-HC590 26 TB SATA-draivist ja 6-21 jaotatud WD DC-HC690 30 TB (SMR) draivist.





XRAID-i teste on samuti teostatud tavalistel jaotamata SSD-draividel, mis koosneb ühest 4 TiB Samsung PM9D3a metadate jaoks ja viiest 4 TiB Samsung PM9D3a RAID-i jaoks (4 + 1).




Allikas: opennet.ru
