GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit odkládací soubor na ssd disku pomocí btrfs

Stav v roce 2019

Vývoj Btrfs a linuxového jádra způsobil, že moje původní odpověď je zastaralá . Podívejte se prosím na tuto další odpověď.

Původní odpověď z roku 2016

Z btrfs FAQ:

Podporuje btrfs odkládací soubory? Momentálně ne. Pouhé vytvoření souboru NOCOW nepomůže, podpora swap souboru se spoléhá na jednu funkci, kterou btrfs záměrně neimplementuje kvůli potenciálnímu poškození. (...) Řešením, i když se slabým výkonem, je připojení odkládacího souboru pomocí smyčkového zařízení.

Takže zatím neexistuje dobrý způsob, jak vytvořit odkládací soubor na oddílu btrfs.


Jak je uvedeno výše, od Linuxu 5.0 nyní je možné vytvářet odkládací soubory na BTRFS. Ale měly by být nekomprimované a NoCOW. Zde je návod, jak takový soubor ve skutečnosti vytvořit:

  1. Vytvořte prázdný soubor:touch /swap
  2. Použijte chattr nastavte NoCOW atribut:chattr +C /swap
  3. Ověřte, že C objevil se atribut:lsattr /swap
  4. Vyplňte:dd if=/dev/zero of=/swap bs=1M count=1024 # za 1 gigabajt
  5. mkswap /swap && chmod 600 /swap && swapon /swap

Případně můžete vytvořit adresář, nastavte chattr +C do tohoto adresáře a poté pod ním vytvořte odkládací soubor.

Pamatujte, že nemůžete udělat chattr +C do již existujícího neprázdného souboru. Je zdokumentováno, že jde o nedefinované chování (ve skutečnosti jen nemění atributy). Měli byste tedy buď vytvořit prázdný soubor a poté chattr nebo vytvořte adresář s chattr a poté v něm vytvořte soubor (v takovém případě všechny soubory vytvořené po chattr adresář bude mít atribut nocow).

Upozornění: jak již bylo zmíněno, vyžaduje to jádro verze 5.0 nebo vyšší. Raspberry Pi například používá jádra 4.19.*, takže tuto techniku ​​na něm nebudete moci použít.


Do jádra verze 5.0 byla přidána podpora swapovacích souborů, jak je vidět na commit https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ed46ff3d423780fa5173b38a844bfa2fap7210 activate soubor na btrfs, soubor musí být plně alokován jako NOCOW bez komprese na jednom zařízení.


Linux
  1. Jak vytvořit odkládací soubor v Linuxu

  2. Jak vytvořit živý systém na USB disku s trvalými změnami na disku/hdd?

  3. Jak vytvořit soubor s danou velikostí v Linuxu?

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

  2. Jak vytvořit a připojit souborový systém Btrfs (vysvětleno na příkladech)

  3. Jak odemknout SSD disk pomocí hdparm?

  1. Jak vytvořit swap v Linuxu

  2. Jak vytvořit a dotazovat souborový systém BTRFS

  3. Jak podložit soubor pomocí FF pomocí dd?