Linux 6.2 bude obsahovat vylepšení RAID5 a RAID6 v Btrfs

Linux Kernel

Linux Kernel

Nedávno to vyšlo najevo vylepšení Btrfs byla navržena pro zahrnutí do jádra Linuxu 6.2 opravit problém s dírou při zápisu v implementaci RAID 5/6.

Podstata problému se scvrkává na skutečnost, že pokud během nahrávání dojde k havárii, není zpočátku možné pochopit, který blok na kterém ze zařízení RAID byl zapsán správně a na kterém záznam nebyl dokončen.

Pokud se v této situaci pokusíte znovu sestavit RAID, mohou se bloky odpovídající odebíraným blokům poškodit, protože stav bloků RAID není synchronizován. K tomuto problému dochází v libovolném poli RAID1/5/6, kde nejsou přijata žádná zvláštní opatření k potlačení tohoto efektu.

V implementaci RAID, jako je RAID1 v btrfs, je tento problém vyřešen pomocí kontrolních součtů na obou kopiích, pokud dojde k neshodě, data se jednoduše obnoví z druhé kopie. Tento přístup funguje také v případě, že jakékoli zařízení začne poskytovat špatná data namísto úplného selhání.

Nicméně, v případě RAID5/6 systém souborů neukládá kontrolní součty pro paritní bloky - v normální situaci se správnost bloků kontroluje tak, že jsou všechny vybaveny kontrolním součtem a paritní blok lze z dat znovu vytvořit. V případě částečného záznamu však tento přístup nemusí v určitých situacích fungovat. V tomto případě, při obnově pole je možné, že bloky ponechané v neúplném záznamu jsou nesprávně obnoveny.

V případě btrfs je tento problém relevantnější, pokud je zápis menší než proužek. V tomto případě musí souborový systém provést operaci čtení-upravení-zápis (RMW).

Pokud narazí na bloky probíhajícího zápisu, může operace RMW způsobit poškození, které nebude detekováno, bez ohledu na kontrolní součty. Vývojáři provedli změny, ve kterých operace RMW před provedením této operace ověří kontrolní součet bloků a v případě potřeby provede obnova dat i ověření kontrolního součtu po zápisu.

Bohužel v situaci, kdy je zapsán neúplný okraj (RMW), to vytváří další režii pro výpočet kontrolních součtů, ale výrazně zvyšuje spolehlivost. Pro RAID6 taková logika ještě není připravena,

Kromě toho si můžeme všimnout doporučení k použití RAID5/6 od vývojářů, jejichž podstatou je, že v Btrfs se může lišit profil pro ukládání metadat a dat. V tomto případě můžete pro metadata použít profil RAID1 (zrcadlení) nebo dokonce RAID1C3 (3 kopie) a pro data RAID5 nebo RAID6.

To zajišťuje spolehlivou ochranu metadat a absenci „zápisové díry“ na jedné straně a efektivnější využití prostoru, typické pro RAID5/6, na straně druhé. Tím se zabrání poškození metadat a poškození dat lze opravit.

také Lze poznamenat, že pro SSD na Btrfs v jádře 6.2, la asynchronní provedení operace „zahodit“. (označit uvolněné bloky, které již nelze fyzicky uložit) bude ve výchozím nastavení zapnuto.

Výhoda tohoto režim je vysoký výkon díky efektivnímu seskupování operací zahazování ve frontě a následnému zpracování fronty obslužným programem na pozadí, takže normální operace FS nejsou zpomalovány, jako je tomu u synchronního „zahazování“, když se uvolňují bloky, a SSD může vylepšit rozhodnutí. Na druhou stranu již nebudete muset používat nástroje jako fstrim, protože všechny dostupné bloky budou ve FS vymazány bez nutnosti dalšího skenování a bez zpomalování operací.

Nakonec, pokud vás zajímá, že se o tom můžete dozvědět více, můžete se podívat na podrobnosti v následující odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.