GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie eine Auslagerungsdatei auf einer SSD-Festplatte mit Btrfs

Stand 2019

Die Entwicklung von Btrfs und dem Linux-Kernel machte meine ursprüngliche Antwort obsolet . Bitte sehen Sie sich diese andere Antwort an.

Originalantwort von 2016

Aus btrfs-FAQ:

Unterstützt btrfs Auslagerungsdateien? Derzeit nein. Nur eine Datei NOCOW zu erstellen, hilft nicht, die Unterstützung für Auslagerungsdateien beruht auf einer Funktion, die btrfs aufgrund möglicher Beschädigungen absichtlich nicht implementiert. (...) Eine Problemumgehung, wenn auch mit schlechter Leistung, besteht darin, eine Auslagerungsdatei über ein Loop-Gerät einzuhängen.

Es gibt also noch keine gute Möglichkeit, eine Auslagerungsdatei auf einer btrfs-Partition zu erstellen.


Wie oben erwähnt, seit Linux 5.0 Es ist jetzt möglich, Auslagerungsdateien auf BTRFS zu erstellen. Aber sie sollten nicht komprimiert und NoCOW sein. So erstellen Sie eine solche Datei tatsächlich:

  1. Leere Datei erstellen:touch /swap
  2. Verwenden Sie chattr um NoCOW einzustellen Attribut dazu:chattr +C /swap
  3. Bestätigen Sie, dass C Attribut erschienen:lsattr /swap
  4. Ausfüllen:dd if=/dev/zero of=/swap bs=1M count=1024 # für 1 Gigabyte
  5. mkswap /swap && chmod 600 /swap && swapon /swap

Alternativ können Sie ein Verzeichnis erstellen, setzen Sie chattr +C in dieses Verzeichnis und erstellen Sie dann eine Auslagerungsdatei darunter.

Beachten Sie, dass Sie chattr +C nicht ausführen können zu bereits vorhandener nicht leerer Datei. Es ist dokumentiert, dass es sich um ein undefiniertes Verhalten handelt (tatsächlich ändert es einfach keine Attribute). Sie sollten also entweder eine leere Datei erstellen und dann chattr , oder erstellen Sie ein Verzeichnis mit chattr und dann eine Datei darin erstellen (in diesem Fall alle Dateien, die nach chattr erstellt wurden ing des Verzeichnisses wird das nocow-Attribut haben).

Vorsicht: Wie bereits erwähnt, erfordert dies die Kernel-Version 5.0 oder höher. Raspberry Pi verwendet zum Beispiel 4.19.*-Kernel, sodass Sie diese Technik darauf nicht anwenden können.


Unterstützung für Auslagerungsdateien wurde der Kernel-Version 5.0 hinzugefügt, wie unter Commit https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ed46ff3d423780fa5173b38a844bf0fdb210a2a7 zu sehen ist Datei auf btrfs, Datei muss vollständig als NOCOW ohne Komprimierung auf einem Gerät zugewiesen werden.


Linux
  1. Wie kann man eine Datei duplizieren, ohne ihre Daten mit Btrfs zu kopieren?

  2. Wie erstelle ich ein Live-System auf einem USB-Laufwerk mit dauerhaften Änderungen auf der Festplatte/Festplatte?

  3. So erstellen und mounten Sie das Btrfs-Dateisystem (mit Beispielen erklärt)

  4. So erstellen und fragen Sie ein BTRFS-Dateisystem ab

  5. Wie entsperre ich eine SSD-Festplatte mit hdparm?

So erstellen Sie eine Datei unter Linux

So erstellen Sie eine Tar-Gz-Datei

So erstellen und verwalten Sie Festplattenpartitionen mit Fdisk in Linux

So erstellen Sie neue Benutzer in OpenShift mit htpasswd und OAuth

So erstellen Sie eine Website-Datei

So erstellen Sie einen E-Commerce mit Magento