Řešení 1:
Nepoužívejte RAID0, selhání kteréhokoli disku pole zabije. RAID6, RAID10, dokonce i jeden disk bez pole by byl z hlediska dostupnosti lepší.
f2fs chce být přátelský k moderním polovodičovým zařízením a Linux md může být velmi rychlý.
Nicméně, nemožné dělat obecná prohlášení jako f2fs na poli je lepší bez dat. Musíte vzít v úvahu, jaké je vaše pracovní vytížení, zda I/O vzor byl testován na systému podobném vašemu a jaké existují omezující faktory.
Proveďte kapacitní analýzu. Odhadněte věci, jako jsou databázové dotazy za sekundu nebo kolik souborů je přečteno a zapsáno. Měřte IOPS pomocí nástrojů jako iostat -xz 1
. Pokud r/s
a w/s
čísla se blíží jmenovité kapacitě zařízení, možná budete potřebovat rychlejší disky. Očekávejte zhruba 100 IOPS na rotující magnetický a alespoň několik tisíc IOPS u většiny SSD. A liší se, zda jsou disky připojeny jako SATA nebo NVMe.
Vyhodnoťte výkon každého zdroje v systému. Rychlé úložiště má omezenou pomoc, pokud jste vázáni na CPU nebo paměť. Paměť je užitečná zejména jako mezipaměť. Přílišné stránkování je špatné, protože odkládací soubor krade výkon úložného systému, ale není tak rychlý jako DRAM.
Jakmile nyní pochopíte výkon systému, můžete začít vyhodnocovat změny v systému úložiště.
Řešení 2:
Použití F2FS na klasickém HDD není dobrý nápad:zatímco jeho výkon náhodného zápisu bude pravděpodobně vyšší než u EXT4 nebo XFS, rychlost sekvenčního čtení na zastaralém souborovém systému bude velkým zklamáním.
Chcete-li zvýšit výkon náhodného zápisu, aniž byste měli mezipaměť zpětného zápisu chráněnou proti výpadku napájení (čti:skutečný řadič RAID), musíte své aplikace nakonfigurovat tak, aby ne problém fsync(), ale toto bude výrazně zvýšit pravděpodobnost ztráty dat při neplánovaném vypnutí. Ne deaktivujte bariéry na systémové úrovni (tj. tím, že jádru sdělíte, že máte zápis přes cache), protože to může v případě výpadku napájení zničit celý souborový systém.
Můžete také zvážit použití ZFS (nejlépe ponechat prokládání na sobě, spíše než na vrstvě MDRAID):díky jeho povaze CoW jsou náhodné zápisy výrazně rychlejší než na jiném souborovém systému, zatímco pokročilé ukládání do mezipaměti zabraňuje problémům se sekvenčním čtením. Podporuje dokonce sync=disabled
:pokud dokážete tolerovat ~5s okno ztráty dat v případě neočekávaného vypnutí, poskytne to spoustu IOP náhodného zápisu bez dopadu na konzistenci aplikace nebo souborového systému.
Nakonec, pokud používáte EXT4, můžete provést rychlý test pomocí data=journal
:i když to sníží výkon sekvenčního zápisu, náhodné zápisy by měly být o něco rychlejší než výchozí režim žurnálu.