GNU/Linux >> Belajar Linux >  >> Linux

Cara membuat swapfile pada disk ssd dengan btrfs

Status di 2019

Pengembangan Btrfs dan kernel Linux membuat jawaban asli saya usang . Silakan lihat jawaban lain ini.

Jawaban asli dari 2016

Dari FAQ btrfs:

Apakah btrfs mendukung file swap? Saat ini tidak ada. Hanya membuat file NOCOW tidak membantu, dukungan file swap bergantung pada satu fungsi yang sengaja tidak diterapkan btrfs karena potensi korupsi. (...) Solusinya, meskipun dengan kinerja yang buruk, adalah memasang file swap melalui perangkat loop.

Jadi belum ada cara yang baik untuk membuat swapfile di partisi btrfs.


Seperti disebutkan di atas, sejak Linux 5.0 sekarang dimungkinkan untuk membuat file swap di BTRFS. Tapi mereka harus non-terkompresi dan NoCOW. Berikut adalah bagaimana Anda benar-benar membuat file seperti itu:

  1. Buat file kosong:touch /swap
  2. Gunakan chattr untuk mengatur NoCOW atribut untuk itu:chattr +C /swap
  3. Verifikasi bahwa C atribut muncul:lsattr /swap
  4. Isi:dd if=/dev/zero of=/swap bs=1M count=1024 # untuk 1 gigabyte
  5. mkswap /swap && chmod 600 /swap && swapon /swap

Atau, Anda dapat membuat direktori, atur chattr +C ke direktori itu dan kemudian buat swapfile di bawahnya.

Perhatikan bahwa Anda tidak dapat melakukan chattr +C ke file tidak kosong yang sudah ada. Itu didokumentasikan sebagai perilaku yang tidak terdefinisi (sebenarnya itu tidak mengubah atribut). Jadi Anda harus membuat file kosong lalu chattr , atau buat direktori dengan chattr dan kemudian buat file di dalamnya (dalam hal ini semua file dibuat setelah chattr ing direktori akan memiliki atribut nocow).

Peringatan: seperti yang disebutkan, ini membutuhkan kernel versi 5.0 atau lebih tinggi. Raspberry Pi misalnya menggunakan kernel 4.19.* sehingga Anda tidak akan dapat menggunakan teknik ini di dalamnya.


Dukungan file swap telah ditambahkan ke kernel versi 5.0 seperti yang dapat dilihat di commit https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ed46ff3d423780fa5173b38a844bf0fdb210a2a7Untuk mengaktifkan swap file di btrfs, file harus dialokasikan sepenuhnya sebagai NOCOW tanpa kompresi di satu perangkat.


Linux
  1. Cara Membuat Sistem File ZFS dengan Kompresi File di Linux

  2. Cara membuat dan memasang sistem file Btrfs (dijelaskan dengan contoh)

  3. Bagaimana cara mengisi file dengan FF menggunakan dd?

  1. Cara Membuat Swap di Linux

  2. Bagaimana Menggandakan File Tanpa Menyalin Datanya Dengan Btrfs?

  3. Bagaimana cara membuka kunci disk SSD dengan hdparm?

  1. Cara membuat file swap di Linux

  2. Bagaimana Cara Membuat Sistem Live Pada Usb-drive Dengan Perubahan Persisten Pada Disk/HDD?

  3. Cara Membuat dan Query Sistem File BTRFS