Представен е XRAID с реализация на RAID за XFS

Кристоф Хелвиг (Christoph Hellwig), поддържач на подсистемите DMA, KVM, Slab Allocator и архитектурата PowerPC в ядрото на Linux, представи първото публично издание на XRAID, реализираща декластеризиран RAID с контрол на четността, интегрирана в файловата система XFS. Проектът е създаден с цел добавяне на възможност за използване на RAID на зонирани устройства за съхранение, като дискове SMR (Shingled Magnetic Recording), и предоставяне на високо производителна реализация на RAID за поддържане на целостта на данните. В допълнение към зонираните устройства, XRAID също поддържа работа на обикновени твърди дискове и SSD устройства, демонстрирайки значително увеличаване на производителността на последните в сравнение с mdraid (до 20 пъти при запис).

За разпределение на информацията по носителите в XRAID се използва декластеризиран контрол на четността, наподобяващ dRAID в OpenZFS, при който не се отделят специфични носители за горещо възстановяване (hot spare), а данните, информацията за контрол на четността и свободното резервно пространство (spare space) се разпределят равномерно по всички носители. Процесът на четене, запис и възстановяване в случай на авария обхваща всички налични носители, което увеличава пропускната способност, намалява натоварването на отделните дискове, позволява да се избегне значително понижение на производителността при аварии и значително ускорява процеса на реконструкция на масива след добавяне или смяна на носители.

Декластеризираните RAID също така опростяват създаването на отказоустойчиви масиви с много голям брой дискове. В процеса на възстановяване след аварии XRAID динамично определя реда на реконструкция на носителите, като първо обработва зоните с по-голяма загуба на излишна информация и реконструира зоните с данни преди зоните с информация за контрол на четността.

XRAID първоначално се развива с оглед на възможността за работа с зонални устройства, пространството за съхранение в които се разделя на зони, формиращи групи блокове или сектори. В подобни устройства се допуска само последователно добавяне на данни с актуализиране на цялата група блокове. Например, зонирането на записа се прилага в SMR дисковете (Shingled Magnetic Recording), в които ширината на тракта е по-малка от ширината на магнитната глава, и записването се извършва с частично припокриване на съседния тракт, т.е. всяко презаписване изисква повторно записване на цялата група трактове.

За поддръжка на зоналните устройства в XRAID е използван реализирания в XFS и ядро на Linux разпределител на блокове за зонални устройства (zoned allocator), използващ RT-подраздел (RealTime subvolume) за организиране на отделно съхранение на данни и метаданни (в зоните с последователно записване се съхранява само съдържанието на файловете, а метаданните на файловата система се разполагат в обикновени зони или на допълнителни SSD носители).

В XRAID механизмите за контрол на паритет RAID се прилагат само за съдържанието на файловете, а излишъкът за метаданните се реализира чрез използване на вече наличните в ядрото на Linux драйвери, например, чрез огледално копиране с помощта на MD RAID, което е по-ефективно за дребни обекти, обновявани на място. Реализацията на RAID се вписва в XFS до обработчиците на зонализирания вход/изход, представляващи физическите зони на долните носители под формата на логически зони, подобно на многостепенно блочно устройство.

Работата по XRAID продължава вече година и половина и, въпреки че реализацията все още не е готова за интеграция в основната част на ядрото, тя вече е годна за тестване от широка аудитория. В предложената реализация се поддържат от 0 до 2 нива на паритет (разработва се код за поддръжка на 3 и повече нива). За управление на XRAID в инструментария xfsprogs е добавен нов инструмент "xraid" и е реализирана поддръжка на XRAID в mkfs. Освен това, в инструмента за инспектиране на зонални носители Zonar са добавени възможности за визуализация на мапинга на логическите зони върху физическите зони.

Публикувани са резултатите от тестовете на производителността на XRAID в сравнение с mdraid и btrfs, проведени за XRAID масив в конфигурация от два SSD диска WD DC-SN650 за метаданни (зеркално базиран на mdraid), шест обикновени SATA диска WD DC-HC590 с капацитет 26 TB и 6-21 зонирани диска WD DC-HC690 с капацитет 30 TB (SMR).





Също така е проведено тестване на XRAID на обикновени незонирани SSD дискове в конфигурация с един 4 TiB Samsung PM9D3a за метаданни и пет 4 TiB Samsung PM9D3a за RAID (4 + 1).





Източник: opennet.ru
Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster