GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare file di scambio su disco ssd con btrfs

Stato nel 2019

Lo sviluppo di Btrfs e del kernel Linux ha reso la mia risposta originale obsoleta . Si prega di vedere quest'altra risposta.

Risposta originale del 2016

Dalle domande frequenti su btrfs:

btrfs supporta i file di scambio?Attualmente no. La semplice creazione di un file NOCOW non aiuta, il supporto del file di scambio si basa su una funzione che btrfs non implementa intenzionalmente a causa di potenziali corruzioni. (...) Una soluzione alternativa, anche se con scarse prestazioni, è montare un file di scambio tramite un dispositivo di loop.

Quindi non esiste ancora un buon modo per creare un file di scambio sulla partizione btrfs.


Come accennato in precedenza, a partire da Linux 5.0 è ora possibile creare file di scambio su BTRFS. Ma dovrebbero essere non compressi e NoCOW. Ecco come si crea effettivamente un file del genere:

  1. Crea un file vuoto:touch /swap
  2. Usa chattr per impostare NoCOW attributo ad esso:chattr +C /swap
  3. Verifica che C attributo apparso:lsattr /swap
  4. Compila:dd if=/dev/zero of=/swap bs=1M count=1024 # per 1 gigabyte
  5. mkswap /swap && chmod 600 /swap && swapon /swap

In alternativa, puoi creare una directory, imposta chattr +C in quella directory e quindi creare un file di scambio sotto di essa.

Nota che non puoi eseguire chattr +C a un file non vuoto già esistente. È documentato come comportamento indefinito (in realtà semplicemente non cambia gli attributi). Quindi dovresti creare un file vuoto e poi chattr o crea una directory con chattr e quindi creare un file al suo interno (in tal caso tutti i file creati dopo chattr ing la directory avrà l'attributo nocow).

Avvertenza: come accennato, ciò richiede la versione del kernel 5.0 o successiva. Raspberry Pi, ad esempio, utilizza i kernel 4.19.*, quindi non potrai utilizzare questa tecnica su di esso.


Il supporto per i file di scambio è stato aggiunto alla versione 5.0 del kernel, come si può vedere su commit https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ed46ff3d423780fa5173b38a844bf0fdb210a2a7Per attivare lo scambio file su btrfs, il file deve essere completamente allocato come NOCOW senza compressione su un dispositivo.


Linux
  1. Come creare uno scambio in Linux

  2. Come creare un file di scambio in Linux

  3. Come creare filesystem ZFS con compressione file su Linux

  4. Come creare un file con una determinata dimensione in Linux?

  5. Come riempire un file con FF usando dd?

Come creare un file in Linux

Come creare file Tar Gz

Come creare e gestire le partizioni del disco con Fdisk in Linux

Come creare nuovi utenti in OpenShift con htpasswd e OAuth

Come creare un file del sito web

Come creare un e-commerce con Magento