Ciri sistem fail ini akan menjimatkan banyak ruang cakera dan menjimatkan banyak masa yang anda habiskan untuk memampatkan fail anda secara manual.
Dalam artikel ini, saya akan menunjukkan kepada anda cara mengaktifkan pemampatan tahap sistem fail Btrfs pada sistem fail Btrfs. Oleh itu, mari kita mulakan.
Prasyarat:
Untuk mencuba contoh artikel ini,
- Anda mesti memasang sistem fail Btrfs di komputer anda.
- Anda perlu mempunyai cakera keras atau SSD dengan sekurang-kurangnya 1 partisi percuma (dari saiz apa pun).
Saya mempunyai cakera keras 20 GB sdb pada mesin Ubuntu saya. Saya telah membuat 2 partition sdb1 dan sdb2 pada cakera keras ini. Saya akan menggunakan partition sdb1 dalam artikel ini.
$ sudo lsblk -e7
Cakera keras atau SSD anda mungkin mempunyai nama yang berbeza daripada nama saya, begitu juga dengan partisinya. Oleh itu, pastikan untuk menggantikannya dengan milik anda mulai sekarang.
Sekiranya anda memerlukan bantuan untuk memasang sistem fail Btrfs di Ubuntu, periksa artikel saya Pasang dan Gunakan Btrfs di Ubuntu 20.04 LTS.
Sekiranya anda memerlukan bantuan untuk memasang sistem fail Btrfs di Fedora, baca artikel saya Pasang dan Gunakan Btrfs di Fedora 33.
Algoritma Pemampatan Btrfs:
Pada masa penulisan ini, sistem fail Btrfs menyokong algoritma pemampatan berikut:
i) LZO: LZO adalah algoritma pemampatan blok masa nyata tanpa kerugian. LZO membahagikan data menjadi blok dan memampatkan / menyahmampat data dengan blok dalam masa nyata. Ini adalah algoritma pemampatan lalai dari sistem fail Btrfs.
ii) ZLIB: ZLIB adalah perpustakaan yang digunakan untuk pemampatan data. Ia menggunakan algoritma pemampatan data DEFLATE. Algoritma pemampatan data DEFLATE adalah gabungan algoritma pengekodan LZ77 dan Huffman. Sistem fail Btrfs menyokong algoritma pemampatan data ZLIB.
Anda juga boleh menentukan tahap mampatan yang anda mahukan. Tahap boleh berupa nombor dari 1 ke 9. Tahap yang lebih tinggi menunjukkan nisbah mampatan yang lebih tinggi. Jadi, tahap 9 akan menjimatkan lebih banyak ruang cakera daripada tahap 1 (tahap 9 mempunyai nisbah mampatan yang lebih tinggi daripada tahap 1). Kecuali anda menentukan tahap pemampatan ZLIB yang akan digunakan, sistem fail Btrfs akan menggunakan tahap pemampatan ZLIB 3 secara lalai.
ZSTD: ZSTD atau Zstandard adalah algoritma pemampatan data tanpa prestasi berprestasi tinggi. Ia dikembangkan di Facebook oleh Yann Collect. Nisbah mampatannya setanding dengan algoritma DEFLATE yang digunakan dalam ZLIB, tetapi lebih pantas. Sistem fail Btrfs menyokong algoritma pemampatan data ZSTD.
Anda juga boleh menentukan tahap mampatan yang anda mahukan. Tahap boleh berupa nombor dari 1 ke 15. Tahap yang lebih tinggi menunjukkan nisbah mampatan yang lebih tinggi. Jadi, tahap 15 akan menjimatkan lebih banyak ruang cakera daripada tahap 1 (tahap 15 mempunyai nisbah mampatan yang lebih tinggi daripada tahap 1). Kecuali anda menentukan tahap pemampatan ZSTD yang akan digunakan, sistem fail Btrfs akan menggunakan tahap pemampatan ZSTD 3 secara lalai.
Membuat Sistem Fail Btrfs:
Untuk bereksperimen dengan pemampatan data tahap sistem fail Btrfs, anda perlu membuat sistem fail Btrfs.
Untuk membuat sistem fail Btrfs dengan label data pada sdb1 partition, jalankan arahan berikut:
$ sudo mkfs.btrfs -L data / dev / sdb1
Pasang Sistem Filem Btrfs dengan Pemampatan Diaktifkan:
Untuk mengaktifkan pemampatan tahap sistem fail Btrfs, anda harus memasang sistem fail Btrfs yang telah anda buat di sdb1 partition dengan sama ada memampatkan atau daya tekan pilihan pemasangan.
i) pilihan pemasangan kompres: The memampatkan pilihan mount akan membolehkan pemampatan tahap sistem fail Btrfs. Sistem fail Btrfs akan menentukan sama ada pemampatan menjadikan fail yang akan dimampatkan lebih besar daripada ukuran fail yang asli (tidak dimampatkan). Sekiranya pemampatan menjadikan ukuran fail lebih besar daripada yang asal, maka sistem fail Btrfs tidak akan memampatkan fail tersebut.
ii) pilihan pemasangan daya tekan: Tidak seperti memampatkan pilihan mount, jika sistem fail Btrfs dipasang menggunakan daya tekan pilihan mount, maka setiap fail pada sistem fail Btrfs akan dimampatkan walaupun pemampatan menjadikan fail lebih besar.
Buat direktori / data dengan arahan berikut:
$ sudo mkdir -v / data
Bagi membolehkan LZO mampatan, pasangkan sistem fail Btrfs yang telah anda buat sebelumnya di / data direktori dengan arahan berikut:
$ sudo mount -o compress = lzo / dev / sdb1 / data
Untuk membolehkan daya LZO mampatan, pasangkan sistem fail Btrfs yang telah anda buat sebelumnya di direktori / data seperti berikut:
$ sudo mount -o compress-force = lzo / dev / sdb1 / data
Dengan cara yang sama, anda boleh memasang sistem fail Btrfs di / data direktori seperti berikut untuk mengaktifkan ZLIB pemampatan:
$ sudo mount -o compress = zlib / dev / sdb1 / data
Untuk menetapkan a ZLIB tahap pemampatan (katakanlah, tahap 7), anda boleh memasang sistem fail Btrfs di / data direktori seperti berikut:
$ sudo mount -o compress = zlib: 7 / dev / sdb1 / data
Bagi membolehkan ZSTD mampatan, pasangkan sistem fail Btrfs di / data direktori seperti berikut:
$ sudo mount -o compress = zstd / dev / sdb1 / data
Untuk menetapkan a ZSTD tahap pemampatan (katakanlah, tahap 10), anda boleh memasang sistem fail Btrfs di / data direktori seperti berikut:
$ sudo mount -o compress = zstd: 10 / dev / sdb1 / data
Sistem fail Btrfs yang telah anda buat di sdb1 partition harus dipasang di / data direktori seperti yang anda lihat dalam tangkapan skrin di bawah.
$ df -h / data
Menguji Pemampatan Sistem Filem Btrfs:
Untuk menguji sama ada sistem fail Btrfs memampatkan fail yang ada di sistem fail Btrfs, saya akan memasang sistem fail Btrfs pada / data direktori dengan daya tekan pilihan. Saya akan menggunakan tahap pemampatan tertinggi dari algoritma pemampatan ZSTD untuk demonstrasi.
Pertama, lepaskan sistem fail Btrfs yang mungkin telah anda pasangkan di / data direktori seperti berikut:
jumlah / data $ sudo
Pasang sistem fail Btrfs dengan tahap pemampatan tertinggi (tahap 15dari ZSTD algoritma pemampatan di / data direktori seperti berikut:
$ sudo mount -o compress-force = zstd: 15 / dev / sdb1 / data
Saya telah menyalin mengenai 717 MB data pada sistem fail Btrfs yang dipasang di / data direktori. Seperti yang anda lihat, hanya 661 MB adakah ruang cakera digunakan pada sistem fail Btrfs walaupun data yang disimpan dalam sistem fail tersebut 717 MB dari segi saiz. Oleh itu, pemampatan tahap sistem fail Btrfs berfungsi.
Memasang Sistem Filem Btrfs yang Diaktifkan dengan Pemampatan pada Boot:
Sekiranya anda ingin memasang sistem fail Btrfs secara automatik pada waktu boot dengan pemampatan diaktifkan (yang kemungkinan besar anda lakukan), maka bahagian ini adalah untuk anda.
Pertama, cari UUID sistem fail Btrfs yang anda mahu aktifkan pemampatan dan pasang secara automatik pada waktu boot seperti berikut:
$ sudo btrfs tunjuk / data sistem fail
Seperti yang anda lihat, UUID sistem fail Btrfs adalah a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 dalam kes saya. Ia akan berbeza bagi anda. Oleh itu, pastikan untuk menggantinya dengan milik anda mulai sekarang.
Buka / etc / fstab fail dengan nano penyunting teks seperti berikut:
$ sudo nano / etc / fstab
Taipkan baris berikut di hujung / etc / fstab fail:
UUID = a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 / data btrfs compress = lzo 0 0NOTA: Ganti UUID sistem fail Btrfs dengan sistem anda. Juga, ubah pilihan mount dan algoritma pemampatan yang anda mahukan.
Setelah selesai, tekan
Agar perubahan berlaku, reboot komputer anda dengan arahan berikut:
but semula $ sudo
Setelah komputer anda boot, sistem fail Btrfs harus dipasang di / data direktori seperti yang anda lihat dalam tangkapan skrin di bawah.
$ df -h / data
Kesimpulan:
Dalam artikel ini, saya telah membincangkan algoritma pemampatan yang disokong oleh sistem fail Btrfs: LZO, ZLIB, dan ZSTD. Saya juga telah menunjukkan cara mengaktifkan pemampatan tahap sistem fail dalam sistem fail Btrfs.