Selama dekade terakhir, solid-state drive (SSD) telah menghadirkan cara baru dalam mengelola penyimpanan. SSD memiliki manfaat seperti pengoperasian yang senyap dan lebih dingin serta spesifikasi antarmuka yang lebih cepat, dibandingkan dengan pendahulunya yang lebih tua. Tentu saja, teknologi baru membawa serta metode pemeliharaan dan manajemen baru. SSD memiliki fitur yang disebut TRIM. Ini pada dasarnya adalah metode untuk mengklaim kembali blok yang tidak digunakan pada perangkat, yang mungkin telah ditulis sebelumnya, tetapi tidak lagi berisi data yang valid dan oleh karena itu, dapat dikembalikan ke kumpulan penyimpanan umum untuk digunakan kembali. Don Watkins dari Opensource.com pertama kali menulis tentang TRIM dalam artikelnya tahun 2017 "Solid-state drive di Linux:Mengaktifkan TRIM untuk SSD."
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Jika Anda telah menggunakan fitur ini di sistem Linux Anda, maka Anda mungkin akrab dengan dua metode yang dijelaskan di bawah ini.
Cara lama
Buang
Saya awalnya mengaktifkan ini dengan opsi buang ke perintah mount. Konfigurasi ditempatkan ke dalam /etc/fstab file untuk setiap sistem file.
# cat /etc/fstab
UUID=3453g54-6628-2346-8123435f /home xfs defaults,discard 0 0
Opsi buang memungkinkan TRIM online otomatis. Baru-baru ini ada perdebatan tentang apakah ini adalah metode terbaik karena kemungkinan dampak kinerja negatif. Menggunakan opsi ini menyebabkan TRIM dimulai setiap kali data baru ditulis ke drive. Ini dapat menimbulkan aktivitas tambahan yang mengganggu kinerja penyimpanan.
Cron
Saya menghapus opsi buang dari fstab mengajukan. Kemudian saya membuat tugas cron untuk memanggil perintah secara terjadwal.
# crontab -l
@midnight /usr/bin/trim
Ini adalah metode yang terakhir saya gunakan di sistem Linux Ubuntu saya sampai saya mempelajari cara lain.
Layanan TRIM baru
Saya baru-baru ini menemukan bahwa layanan systemd untuk TRIM ada. Fedora memperkenalkan ini ke dalam distribusi mereka di versi 30, dan, meskipun tidak diaktifkan secara default di versi 30 dan 31, itu direncanakan di versi 32. Jika Anda bekerja di Fedora Workstation 31 dan Anda ingin mulai menggunakan ini fitur, Anda dapat mengaktifkannya dengan sangat mudah. Saya juga akan menunjukkan cara mengujinya di bawah. Layanan ini tidak unik untuk Fedora. Keberadaan dan status akan tergantung pada basis distribusi individu.
Uji
Saya suka menguji terlebih dahulu, untuk lebih memahami apa yang terjadi di balik layar. Saya melakukan ini dengan membuka terminal dan mengeluarkan perintah yang dikonfigurasi untuk dipanggil oleh layanan.
/usr/sbin/fstrim --fstab --verbose --quiet
–bantuan argumen ke fstrim akan menjelaskan argumen ini dan argumen lainnya.
$ sudo /usr/sbin/fstrim --help
Usage:
fstrim [options] <mount point>
Discard unused blocks on a mounted filesystem.
Options:
-a, --all trim all supported mounted filesystems
-A, --fstab trim all supported mounted filesystems from /etc/fstab
-o, --offset <num> the offset in bytes to start discarding from
-l, --length <num> the number of bytes to discard
-m, --minimum <num> the minimum extent length to discard
-v, --verbose print number of discarded bytes
--quiet suppress error messages
-n, --dry-run does everything, but trim
-h, --help display this help
-V, --version display version
Jadi, sekarang saya dapat melihat bahwa layanan systemd dikonfigurasi untuk menjalankan trim pada semua sistem file terpasang yang didukung di /etc/fstab saya file –fstab dan cetak jumlah byte yang dibuang –verbose tetapi tutup semua pesan kesalahan yang mungkin terjadi –quiet . Mengetahui opsi ini sangat membantu untuk pengujian. Misalnya, saya bisa mulai dengan yang paling aman, yaitu lari kering. Saya juga akan mengabaikan argumen silent sehingga saya dapat menentukan apakah ada kesalahan yang akan terjadi dengan penyiapan drive saya.
$ sudo /usr/sbin/fstrim --fstab --verbose --dry-run
Ini hanya akan menunjukkan apa yang fstrim perintah akan dilakukan berdasarkan sistem file yang ditemukan dikonfigurasi di /etc/fstab . Anda berkas.
$ sudo /usr/sbin/fstrim --fstab --verbose
Ini sekarang akan mengirim operasi TRIM ke drive dan melaporkan jumlah byte yang dibuang dari setiap sistem file. Di bawah ini adalah contoh setelah saya menginstal Fedora baru-baru ini pada SSD NVME baru.
/home: 291.5 GiB (313011310592 bytes) trimmed on /dev/mapper/wkst-home
/boot/efi: 579.2 MiB (607301632 bytes) trimmed on /dev/nvme0n1p1
/boot: 787.5 MiB (825778176 bytes) trimmed on /dev/nvme0n1p2
/: 60.7 GiB (65154805760 bytes) trimmed on /dev/mapper/wkst-root
Aktifkan
Fedora Linux mengimplementasikan layanan pengatur waktu systemd, dijadwalkan untuk berjalan setiap minggu. Untuk memeriksa keberadaan dan status saat ini, jalankan systemctl status .
$ sudo systemctl status fstrim.timer
Sekarang, aktifkan layanan.
$ sudo systemctl enable fstrim.timer
Verifikasi
Kemudian Anda dapat memverifikasi bahwa pengatur waktu diaktifkan dengan mencantumkan semua pengatur waktu.
$ sudo systemctl list-timers --all
Baris berikut mengacu pada fstrim.timer akan muncul. Perhatikan bahwa timer sebenarnya mengaktifkan fstrim.service . Dari sinilah fstrim yang sebenarnya disebut. Bidang terkait waktu menunjukkan t/a karena layanan baru saja diaktifkan dan belum berjalan.
NEXT LEFT LAST PASSED UNIT ACTIVATES
n/a n/a n/a n/a fstrim.timer fstrim.service
Kesimpulan
Layanan ini sepertinya cara terbaik untuk menjalankan TRIM di drive Anda. Jauh lebih sederhana daripada harus membuat entri crontab Anda sendiri untuk memanggil fstrim memerintah. Juga lebih aman tidak harus mengedit fstab mengajukan. Sangat menarik untuk menyaksikan evolusi teknologi penyimpanan solid-state dan senang mengetahui bahwa tampaknya Linux bergerak menuju cara standar dan aman untuk mengimplementasikannya.