Sekiranya anda perlu menyimpan banyak data berlebihan (i.e., sandaran fail, pangkalan data) di komputer anda, maka ciri Copy-on-Write (CoW) dan deduplication dari sistem fail Btrfs dapat menjimatkan sejumlah besar ruang cakera.
Dalam artikel ini, saya akan menunjukkan cara menyimpan ruang cakera menggunakan ciri deduplikasi 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.
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:
Buat direktori / data dengan arahan berikut:
$ sudo mkdir -v / data
Untuk memasang sistem fail Btrfs yang dibuat di sdb1 partition pada / data direktori, jalankan arahan berikut:
$ sudo mount / dev / sdb1 / data
Sistem fail Btrfs harus dipasang, seperti yang anda lihat dalam tangkapan skrin di bawah.
$ df -h / data
Memasang Alat Deduplikasi di Ubuntu 20.04 LTS:
Untuk menduplikasi sistem fail Btrfs, anda perlu memasang duperemove atur cara pada komputer anda.
Sekiranya anda menggunakan Ubuntu 20.04 LTS, maka anda boleh memasang duperemove dari repositori pakej rasmi Ubuntu.
Pertama, kemas kini cache repositori pakej APT dengan arahan berikut:
$ sudo apt kemas kini
Pasang duperemove pakej dengan arahan berikut:
$ sudo apt install duperemove -y
The duperemove pakej harus dipasang.
Memasang Alat Deduplikasi di Fedora 33:
Untuk menduplikasi sistem fail Btrfs, anda perlu memasang duperemove atur cara pada komputer anda.
Sekiranya anda menggunakan Fedora 33, maka anda boleh memasang duperemove dari repositori pakej rasmi Fedora.
Pertama, kemas kini cache repositori pakej DNF dengan arahan berikut:
$ sudo dnf makecache
Pasang duperemove pakej dengan arahan berikut:
$ sudo dnf pasang duperemove
Untuk mengesahkan pemasangan, tekan Y dan kemudian tekan
The duperemove pakej harus dipasang.
Menguji Duplikasi pada Sistem Filem Btrfs:
Pada bahagian ini, saya akan melakukan ujian mudah untuk menunjukkan kepada anda bagaimana ciri deduplikasi sistem fail Btrfs membuang data berlebihan dari sistem fail dan menjimatkan ruang cakera.
Seperti yang anda lihat,
- Saya telah menyalin fail QGIS-OSGeo4W-3.14.0-1-Persediaan-x86_64.exe kepada / data direktori. Failnya ialah 407 MB dari segi saiz.
- Fail yang disimpan di / data direktori berukuran 407 MB.
- Hanya fail yang digunakan 412 MB ruang cakera dari sistem fail Btrfs yang dipasang di / data direktori.
Seperti yang anda lihat,
- Saya telah menyalin fail yang sama ke / data direktori dan menamakannya semula menjadi QGIS-OSGeo4W-3.14.0-1-Persediaan-x86_64.2.exe.
- Fail yang disimpan di / data direktori sekarang 814 MB dari segi saiz.
- Fail habis digunakan 820 MB ruang cakera dari sistem fail Btrfs yang dipasang di / data direktori.
Untuk melakukan operasi deduplikasi pada sistem fail Btrfs yang dipasang di / data direktori, jalankan arahan berikut:
$ sudo duperemove -dr / data
Blok data berlebihan dari sistem fail Btrfs yang dipasang pada / data direktori harus dikeluarkan.
Seperti yang anda lihat,
- Saya mempunyai fail QGIS-OSGeo4W-3.14.0-1-Persediaan-x86_64.exe dan QGIS-OSGeo4W-3.14.0-1-Persediaan-x86_64.2.exe dalam / data direktori.
- Fail yang disimpan di / data direktori sekarang 814 MB dari segi saiz.
- Fail habis digunakan 412 MB ruang cakera dari sistem fail Btrfs yang dipasang di / data direktori.
The duperemove program membuang blok data berlebihan (pendua) dari sistem fail Btrfs yang dipasang di / data direktori dan menyimpan banyak ruang cakera.
Memasang Sistem Filem Btrfs secara automatik pada Boot:
Untuk memasang sistem fail Btrfs yang telah anda buat, anda perlu mengetahui UUID sistem fail Btrfs.
Anda boleh menemui UUID sistem fail Btrfs yang dipasang di / data direktori dengan arahan berikut:
$ sudo btrfs tunjuk / data sistem fail
Seperti yang anda lihat, UUID sistem fail Btrfs yang ingin saya pasangkan pada waktu boot adalah e39ac376-90dd-4c39-84d2-e77abb5e3059. 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 = e39ac376-90dd-4c39-84d2-e77abb5e3059 / data btrfs lalai 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 / direktori data, seperti yang anda lihat dalam tangkapan skrin di bawah.
$ df -h / data
Lakukan Deduplikasi secara automatik menggunakan Cron Job:
Untuk membuang data berlebihan dari sistem fail Btrfs, anda harus menjalankan duperemove perintah sekali sekala.
Anda secara automatik boleh menjalankan duperemove perintah setiap jam, harian, mingguan, bulanan, tahunan, atau pada waktu boot menggunakan cron job.
Pertama, cari jalan penuh dari duperemove perintah dengan arahan berikut:
$ yang duperemove
Seperti yang anda lihat, jalan penuh dari duperemove perintah adalah / usr / bin / duperemove. Ingat jalan kerana anda akan memerlukannya kemudian.
Untuk mengedit fail crontab, jalankan arahan berikut:
$ sudo crontab -e
Pilih penyunting teks yang anda suka dan tekan
Saya akan menggunakan nano penyunting teks. Jadi, saya akan menaip 1 dan tekan
Fail crontab harus dibuka.
Untuk menjalankan duperemove arahan pada / data direktori setiap jam, tambahkan baris berikut di akhir fail crontab.
@hourly / usr / bin / duperemove -dr / data >> / var / log / duperemove.balak
Untuk menjalankan duperemove arahan pada / data direktori setiap hari, tambahkan baris berikut di akhir fail crontab.
@daily / usr / bin / duperemove -dr / data >> / var / log / duperemove.balak
Untuk menjalankan duperemove arahan pada / data direktori setiap minggu, tambahkan baris berikut di akhir fail crontab.
@weekly / usr / bin / duperemove -dr / data >> / var / log / duperemove.balak
Untuk menjalankan duperemove arahan pada / data direktori setiap bulan, tambahkan baris berikut di akhir fail crontab.
@monthly / usr / bin / duperemove -dr / data >> / var / log / duperemove.balak
Untuk menjalankan duperemove arahan pada / data direktori setiap tahun, tambahkan baris berikut di akhir fail crontab.
@yearly / usr / bin / duperemove -dr / data >> / var / log / duperemove.balak
Untuk menjalankan duperemove arahan pada / data direktori pada masa boot, tambahkan baris berikut di akhir fail crontab.
@reboot / usr / bin / duperemove -dr / data >> / var / log / duperemove.balak
NOTA: Saya akan menjalankan duperemove arahan pada masa boot dalam artikel ini.
Setelah selesai, tekan
Kerja cron baru harus dipasang.
Agar perubahan berlaku, reboot komputer anda dengan arahan berikut:
but semula $ sudo
Sebagai duperemove perintah berjalan di latar belakang, output perintah akan disimpan di / var / log / duperemove.balak fail.
$ sudo ls -lh / var / log / duperemove *
Seperti yang anda lihat, / var / log / duperemove.balak fail mengandungi duperemove data log. Ini bermaksud pekerjaan cron berjalan lancar.
Kesimpulan:
Dalam artikel ini, saya telah menunjukkan cara memasang duperemove Alat deduplikasi Brtfs di Ubuntu 20.04 LTS dan Fedora 33. Saya juga telah menunjukkan kepada anda cara melakukan deduplikasi Btrfs menggunakan alat duperemove dan jalankan alat duperemove secara automatik menggunakan pekerjaan cron.