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:
- Buat file kosong:
touch /swap
- Gunakan
chattr
untuk mengaturNoCOW
atribut untuk itu:chattr +C /swap
- Verifikasi bahwa
C
atribut muncul:lsattr /swap
- Isi:
dd if=/dev/zero of=/swap bs=1M count=1024
# untuk 1 gigabyte 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.