Zaprezentowano XRAID z realizacją RAID dla XFS

Christoph Hellwig, maintainer of the DMA, KVM, Slab Allocator subsystems, and PowerPC architecture in the Linux kernel, introduced the first public release of XRAID, an implementation of declustered RAID with parity control integrated into the XFS file system. The project was created to add the ability to use RAID on zoned storage devices, such as SMR (Shingled Magnetic Recording) disks, and to provide a high-performance RAID implementation to maintain data integrity. In addition to zoned devices, XRAID also supports operation on standard hard drives and SSDs, demonstrating a significant performance increase on the latter compared to mdraid (up to 20 times during writes).

XRAID uses declustered parity control for data distribution across drives, similar to dRAID in OpenZFS, where no separate drives are allocated for hot spares and the data, parity information, and spare space are evenly distributed across all drives. The reading, writing, and recovery processes during failures encompass all existing drives, which increases throughput, reduces load on individual disks, avoids noticeable performance drops during failures, and significantly speeds up the array rebuilding process after adding or replacing drives.

Declustered RAIDs also simplify the creation of fault-tolerant arrays with a very large number of disks. During recovery from failures, XRAID dynamically determines the order of rebuilding drives, prioritizing areas with a greater loss of redundant information and rebuilding data zones before areas with parity information.

XRAID został początkowo zaprojektowany z myślą o możliwości użycia z urządzeniami zonowanymi, w których przestrzeń do przechowywania jest dzielona na strefy, które stanowią grupy bloków lub sektorów. W takich urządzeniach dopuszczane jest jedynie sekwencyjne dodawanie danych z aktualizacją całej grupy bloków. Na przykład, zonowanie zapisu stosowane jest w dyskach SMR (Shingled Magnetic Recording), w których szerokość ścieżki jest mniejsza od szerokości głowicy magnetycznej, a zapis następuje z częściowym nakładaniem sąsiednich ścieżek, co oznacza, że każda ponowna zapisanie prowadzi do konieczności przepisania całej grupy ścieżek.

Aby wspierać urządzenia zonowane, w XRAID wykorzystano realizowany w XFS oraz jądrze Linux alokator bloków dla urządzeń zonowanych (zoned allocator), który używa podobjętości RT (RealTime subvolume) do organizacji oddzielnego przechowywania danych i metadanych (w strefach z sekwencyjnym zapisem przechowywana jest jedynie zawartość plików, natomiast metadane systemu plików lokalizowane są w zwykłych strefach lub na dodatkowych dyskach SSD).

W XRAID mechanizmy kontroli parzystości RAID stosowane są wyłącznie dla zawartości plików, podczas gdy nadmiarowość dla metadanych realizowana jest poprzez wykorzystanie już istniejących w jądrze Linux sterowników, na przykład poprzez mirroring z wykorzystaniem MD RAID, co jest bardziej efektywne dla małych obiektów, aktualizowanych na miejscu. Realizacja RAID jest wbudowana w XFS do handlerów zonowanego wejścia/wyjścia, reprezentujących fizyczne strefy leżących poniżej nośników w formie logicznych stref, podobnie jak w wielowarstwowym urządzeniu blokowym.

Prace nad XRAID trwają już od półtora roku, i chociaż implementacja nie jest jeszcze gotowa do integracji w głównym jądrze, jest już gotowa do testowania przez szerszą publiczność. W proponowanej implementacji wspierane jest od 0 do 2 poziomów parzystości (w trakcie opracowywania jest kod do wsparcia 3 i więcej poziomów). Do zarządzania XRAID w zestawie narzędzi xfsprogs dodano nowe narzędzie „xraid” i zaimplementowano wsparcie XRAID w mkfs. Ponadto do narzędzia do inspekcji urządzeń zonowanych Zonar dodano funkcje wizualizacji mapowania logicznych stref na fizyczne strefy.

Opublikowano wyniki testu wydajności XRAID w porównaniu do mdraid i btrfs, przeprowadzone dla macierzy XRAID w konfiguracji z dwóch dysków SSD WD DC-SN650 do metadanych (lustro oparte na mdraid), sześciu zwykłych dysków SATA WD DC-HC590 26 TB oraz sześciu 21-zonowych dysków WD DC-HC690 30 TB (SMR).





Przeprowadzono również testy XRAID na zwykłych niezonym dyskach SSD w konfiguracji z jednym 4 TiB Samsung PM9D3a do metadanych i pięcioma 4 TiB Samsung PM9D3a dla RAID (4 + 1).





Źródło: opennet.ru
Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster