GNU/Linux >> Znalost Linux >  >> Linux

Který linuxový souborový systém funguje nejlépe s SSD

Systém souborů EXT4 + TRIM:

  • EXT4 s TRIM zlepšuje výkon snížením zbytečných cyklů zápisu na jednotku SSD, protože omezují cykly zápisu a přepisu.
  • Ubuntu a některé další varianty Linuxu podporují EXT 4 s TRIM již po vybalení.

Oddíl SWAP:

  • Ujistěte se, že na SSD nemáte místo SWAP, abyste zkrátili cykly zápisu.
  • Pokud máte mechanický disk, měli byste na mechanickém disku vytvořit prostor SWAP a neměli byste jej mít na SSD.

Zarovnání oddílu:

  • Oddíl by měl začínat na čisté hranici 1 MB, aby velikost bloku systému souborů odpovídala velikosti bloku SSD.

Použijte tedy EXT4 + TRIM s SWAP na mechanickém pevném disku nebo bez SWAP na SSD.

Výše uvedené lze implementovat odkazem na Zdroj:Jak maximalizovat výkon SSD.


Krátká odpověď

  • Vyberte ext4 a buď jej připojte pomocí discard možnost podpory TRIM, nebo použijte FITRIM (viz. níže). Použijte také noatime možnost, pokud se bojíte opotřebení SSD.

  • Neměňte výchozí plánovač I/O (CFQ) na serverech s více aplikacemi , protože poskytuje spravedlnost mezi procesy a má automatickou podporu SSD. Nicméně použijte termín na počítačích pro lepší odezvu při zatížení.

  • Aby bylo možné snadno zaručit správné zarovnání dat, počáteční sektor každého oddílu musí být násobkem 2048 (=1 MiB). Můžete použít fdisk -cu /dev/sdX k jejich vytvoření. U posledních distribucí se o to automaticky postará za vás.

  • Před použitím swapu na SSD si to dvakrát rozmyslete. Pravděpodobně to bude mnohem rychlejší oproti swapu na HDD, ale také to bude rychleji opotřebovávat disk (což nemusí být relevantní, viz níže).

Dlouhá odpověď

  • Systémy souborů:

Ext4 je nejběžnější linuxový souborový systém (dobře udržovaný). Poskytuje dobrý výkon s SSD a podporuje TRIM (a FITRIM) funkce pro udržení dobrého výkonu SSD v průběhu času (tím se vyčistí nepoužívané paměťové bloky pro rychlý pozdější přístup k zápisu). NILFS je speciálně navržen pro jednotky flash paměti, ale ve skutečnosti nefunguje lépe než ext4 na benchmarky. Btrfs je stále považován za experimentální (a ve skutečnosti také nefunguje lépe).

  • Výkon SSD a TRIM:

TRIM Funkce vymaže bloky SSD, které již souborový systém nepoužívá. To optimalizuje dlouhodobý výkon zápisu a doporučuje se to na SSD kvůli jejich konstrukci. To znamená, že souborový systém musí být schopen říci jednotce o těchto blocích. discard možnost připojení ext4 vydá takový TRIM příkazy při uvolnění bloků souborového systému. Toto je zahození online .

Toto chování však znamená malou režii výkonu. Od Linuxu 2.6.37 se můžete vyhnout použití discard a zvolte příležitostné vyřazení dávky místo toho s FITRIM (např. z crontab). fstrim dělá to (online), stejně jako -E discard možnost fsck.ext4 . Budete však potřebovat "aktuální" verzi těchto nástrojů.

  • Opotřebení SSD:

Možná budete chtít omezit zápisy na disk, protože SSD má v tomto ohledu omezenou životnost. Nedělejte si však příliš velké starosti , dnešní nejhorší 128 GB SSD podporuje alespoň 20 GB zapsaných dat denně po dobu více než 5 let (1000 cyklů zápisu na buňku). Lepší (a také větší) mohou vydržet mnohem déle:do té doby jej velmi pravděpodobně vyměníte.

Pokud chcete použít swap na SSD si jádro všimne nerotačního disku a randomizuje využití swapu (vyrovnání opotřebení na úrovni jádra):pak uvidíte SS (Solid State) ve zprávě jádra, když je povolen swap:

Přidávání 2097148k swapu na /dev/sda1. Priorita:-1 rozsahy:1napříč:2097148k SS

  • Plánovače I/O:

Také souhlasím s většinou aliasgar Odpověď uživatele (i když většina z nich byla -ilegálně?- zkopírována z tohoto webu), ale musím částečně nesouhlasit s plánovačem část. Ve výchozím nastavení je plánovač uzávěrky je optimalizovaný pro rotační disky, protože implementuje algoritmus výtahu. Pojďme si tedy tuto část ujasnit.

Dlouhá odpověď na plánovače

Počínaje jádrem 2.6.29 jsou disky SSD detekovány automaticky a můžete to ověřit pomocí:

cat /sys/block/sda/queue/rotational

Měli byste dostat 1 pro pevné disky a 0 pro SSD.

Nyní může plánovač CFQ přizpůsobit své chování na základě těchto informací. Od linuxu 3.1 je dokumentace jádra cfq-iosched.txt soubor říká:

CFQ má určité optimalizace pro SSD a pokud detekuje nerotační médium, které může podporovat vyšší hloubku fronty (více požadavků za letu najednou), [...].

Plánovač Deadline se také snaží omezit neuspořádané pohyby hlavy na rotačních discích na základě čísla sektoru. Citace kernel doc deadline-iosched.txt , fifo_batch popis možnosti:

Požadavky jsou seskupeny do ,,dávek'' určitého směru dat (čtení nebo zápis), které jsou obsluhovány v rostoucím sektorovém pořadí.

Zajímavé však může být vyladění tohoto parametru na 1 při použití SSD:

Tento parametr vyladí rovnováhu mezi latencí na požadavek a celkovou propustností. Pokud je primárním problémem nízká latence, menší je lepší (kde hodnota 1 znamená chování „kdo dřív přijde, je dřív na řadě“). Zvýšení fifo_batch obecně zlepšuje propustnost, za cenu kolísání latence.

Některé benchmarky naznačují, že mezi různými plánovači je malý rozdíl ve výkonu. Tak proč nedoporučit férovost ? když CFQ je v lavici málokdy špatný . V nastavení stolního počítače však obvykle zažijete lepší odezvu pomocí Deadline pod zátěží, díky své konstrukci (pravděpodobně však při nižších nákladech na průchodnost).

To znamená, že lepší benchmark by zkusil použít Deadline s fifo_batch=1 .

Chcete-li jako výchozí použít Deadline na SSD, můžete vytvořit soubor, řekněme /etc/udev.d/99-ssd.rules takto:

# all non-rotational block devices use 'deadline' scheduler
# mostly useful for SSDs on desktops systems
SUBSYSTEM=="block", ATTR{queue/rotational}=="0", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="deadline"

Článek Archlinux Solid State Drives uvádí v sekci Volba souborového systému:

Existuje mnoho možností pro souborové systémy včetně Ext2/3/4, Btrfs atd.

Btrfs
Podpora Btrfs byla zahrnuta do hlavní řady 2.6.29 vydání linuxového jádra. Někteří se domnívají, že není dostatečně vyspělý pro produkční použití, zatímco existují také první uživatelé tohoto potenciálního nástupce ext4. Uživatelům se doporučuje, aby si přečetli článek Btrfs pro více informací.

Ext4
Ext4 je další souborový systém, který má podporu pro SSD. Je považován za stabilní od verze 2.6.28 a je dostatečně vyspělý pro každodenní použití. Na rozdíl od Btrfs ext4 automaticky nedetekuje povahu disku; uživatelé musí explicitně povolit podporu příkazů TRIM pomocí volby pro připojení disccard ve fstab (nebo pomocí tune2fs -o zahodit /dev/sdaX).

Btrfs i Ext4 splňují dva hlavní požadavky na efektivní využití SSD:

  • Souborový systém musí být schopen vydávat příkazy ATA_TRIM základnímu SSD
  • Souborový systém nesmí provádět nepotřebné zápisy na disk

Pro výkon existují dva další požadavky:

  • Oddíly musí být zarovnány podle velikosti bloku SSD
  • TRIM musí být explicitně povoleno pro každý oddíl naformátovaný Ext4

První z nich je dnes automatický u většiny instalačních programů Linuxu. fdisk také vytvoří oddíly na hranici 1024 kB, pokud bude spuštěn s příznaky "-cu".

Druhý je automatický pro Btrfs, ale pro Ext4 se to dělá ručně přidáním "discard" do seznamu možností připojení pro každý oddíl Ext4 v souboru "/etc/fstab". Další podrobnosti najdete v tomto návodu.

Podle mého názoru to vyžadovalo malé pohrávání si s fstab pro Ext4, což není důvod nepoužívat tento vyspělý a vynikající souborový systém.


Linux
  1. 5 nejlepších linuxových přehrávačů videa, na které se můžete spolehnout

  2. Linux – Při instalaci Linuxu na USB disk, který souborový systém bych měl použít k formátování pro nejlepší výkon?

  3. Jak naklonovat SSD s Linux Mint 18 na větší SSD

  1. Jaký souborový systém je nejlepší zálohovat?

  2. Linux – Jak připojit vzdálený souborový systém se zadáním čísla portu?

  3. Nejlepší způsob, jak zakázat swap v Linuxu

  1. Který příkaz v Linuxu [vysvětleno s příklady]

  2. Jak vytvořit systém souborů ZFS pomocí komprese souborů v systému Linux

  3. Swapon se nezdařil:Neplatný argument v systému Linux se souborovým systémem Btrfs