Cara Mengecek Kesehatan Disk NVMe di Server Linux
Panduan membaca SMART disk NVMe dengan nvme-cli dan smartctl, arti percentage used dan media errors, serta cara memasang pemantauan otomatis.
Jawaban singkat
Kesehatan disk NVMe dicek dengan perintah nvme smart-log atau smartctl -a. Perhatikan critical_warning, percentage_used, available_spare, media_errors, dan suhu. Perintah ini bekerja di server fisik, sedangkan di VPS disk biasanya virtual sehingga data SMART tidak tersedia.
Daftar isi
Kapan terakhir kali kamu memastikan disk server masih sehat? Disk NVMe jarang memberi tanda yang terlihat sebelum bermasalah. Tidak ada bunyi klik seperti hard disk lama. Untungnya, setiap disk NVMe mencatat kondisi dirinya sendiri dalam log SMART, dan Linux punya alat untuk membacanya.
Jawaban singkatnya: pasang nvme-cli atau smartmontools, jalankan nvme smart-log atau smartctl -a, lalu perhatikan beberapa angka kunci. Panduan di bawah menjelaskan langkah dan cara membaca hasilnya.
Langkah 1: Pasang alatnya
Ada dua alat yang saling melengkapi. nvme-cli adalah alat khusus NVMe yang membaca log langsung sesuai spesifikasi NVMe. smartmontools (berisi smartctl dan smartd) mendukung banyak jenis disk dan punya layanan pemantauan otomatis.
Di Ubuntu atau Debian:
sudo apt install nvme-cli smartmontools
Di AlmaLinux, Rocky Linux, atau keluarga RHEL lain:
sudo dnf install nvme-cli smartmontools
Langkah 2: Disk NVMe mana saja yang terpasang?
sudo nvme list
Perintah ini menampilkan setiap disk NVMe beserta nama perangkat (/dev/nvme0n1, /dev/nvme1n1, dan seterusnya), model, nomor seri, kapasitas, dan versi firmware. Perhatikan perbedaan nama: /dev/nvme0 adalah controller, sedangkan /dev/nvme0n1 adalah namespace (bagian yang berisi partisi). Log SMART dibaca dari controller atau namespace, keduanya diterima oleh kebanyakan versi alat.
Langkah 3: Baca log SMART
Dengan nvme-cli:
sudo nvme smart-log /dev/nvme0
Atau dengan smartctl, yang hasilnya lebih ringkas dan menyertakan kesimpulan:
sudo smartctl -a /dev/nvme0
Di keluaran smartctl, cari baris SMART overall-health self-assessment test result. Nilai PASSED berarti disk tidak melaporkan kondisi kritis. Meski begitu, jangan berhenti di sini, karena angka-angka di bawahnya memberi gambaran yang lebih lengkap.
Langkah 4: Apa arti angka-angka di log SMART?
Nama kolom sedikit berbeda antara nvme-cli dan smartctl, tetapi isinya sama karena berasal dari log yang ditetapkan spesifikasi NVMe.
| Kolom (nvme-cli) | Di smartctl | Artinya | Yang perlu diwaspadai |
|---|---|---|---|
| critical_warning | Critical Warning | Bendera peringatan dari disk | Nilai selain 0 |
| temperature | Temperature | Suhu controller | Mendekati batas di datasheet, atau sering throttling |
| available_spare | Available Spare | Sisa blok cadangan dalam persen | Turun terus atau di bawah ambang |
| available_spare_threshold | Available Spare Threshold | Ambang minimum dari pabrik | Spare di bawah angka ini |
| percentage_used | Percentage Used | Perkiraan umur tulis yang sudah terpakai | Mendekati 100 persen |
| media_errors | Media and Data Integrity Errors | Kesalahan data yang tidak bisa dipulihkan | Bertambah dari waktu ke waktu |
| num_err_log_entries | Error Information Log Entries | Jumlah entri di log error | Naik cepat, cek detailnya |
| unsafe_shutdowns | Unsafe Shutdowns | Mati listrik tanpa shutdown normal | Naik terus, cek catu daya |
| power_on_hours | Power On Hours | Total jam menyala | Untuk konteks umur disk |
Beberapa catatan agar tidak salah tafsir:
- percentage_used adalah perkiraan pabrik berdasarkan jumlah tulis yang dijamin. Nilainya bisa melewati 100, dan disk sering masih berfungsi, tetapi di titik itu disk sudah melewati daya tahan yang dijamin. Rencanakan penggantian.
- data_units_written dihitung dalam satuan 1.000 sektor 512 byte (512.000 byte per unit). Versi nvme-cli yang lebih baru biasanya sudah menampilkan konversinya dalam GB atau TB.
- num_err_log_entries yang tidak nol belum tentu berarti disk rusak. Sebagian entri berasal dari perintah yang tidak didukung. Lihat isinya dengan
sudo nvme error-log /dev/nvme0.
Langkah 5: Jalankan self-test
Banyak disk NVMe mendukung self-test bawaan. Cek dulu di keluaran smartctl -a: bila ada bagian "Self-test Log", disk mendukungnya.
sudo nvme device-self-test /dev/nvme0 --self-test-code=1
sudo nvme self-test-log /dev/nvme0
Kode 1 menjalankan tes singkat (biasanya beberapa menit), kode 2 menjalankan tes panjang. Dengan smartmontools versi yang mendukung self-test NVMe, padanannya adalah sudo smartctl -t short /dev/nvme0 lalu sudo smartctl -l selftest /dev/nvme0. Tes berjalan di dalam disk, server tetap bisa dipakai, tetapi performa disk mungkin sedikit turun selama tes.
Langkah 6: Cek log kernel
Kadang masalah muncul di log kernel sebelum terlihat di SMART, misalnya timeout atau controller yang direset:
sudo journalctl -k | grep -i nvme
Pesan seperti "I/O timeout", "resetting controller", atau "controller is down" yang berulang adalah tanda serius. Bisa karena disk, kabel atau slot, firmware, atau pengaturan hemat daya. Cara membaca log sistem lainnya ada di lokasi log penting di Linux.
Langkah 7: Pasang pemantauan otomatis
Mengecek manual mudah terlupa. Layanan smartd dari smartmontools bisa memeriksa disk secara berkala dan mengirim email bila ada perubahan. Konfigurasinya ada di /etc/smartd.conf (di sebagian distro /etc/smartmontools/smartd.conf). Contoh baris sederhana:
DEVICESCAN -a -m admin@domainkamu.com
Pengiriman email butuh MTA atau perintah mail yang sudah berfungsi di server. Aktifkan layanannya dengan sudo systemctl enable --now smartd (di Debian dan Ubuntu nama unitnya bisa smartmontools). Kalau kamu sudah memakai Prometheus atau Zabbix, keduanya punya integrasi untuk data SMART, sehingga angka seperti percentage_used bisa masuk grafik dan alert.
Pertanyaan yang sering diajukan
Seberapa sering kesehatan NVMe perlu dicek?
Dengan smartd atau sistem monitoring, pengecekan berjalan otomatis setiap beberapa puluh menit. Kalau manual, cek minimal sebulan sekali dan setiap kali server terasa janggal.
Disk dinyatakan PASSED, apakah pasti aman?
Tidak pasti. PASSED hanya berarti disk belum melaporkan kondisi kritis. Disk bisa rusak mendadak tanpa peringatan, karena itu RAID dan backup tetap wajib.
Kenapa smartctl di VPS saya error?
Disk di VPS adalah disk virtual, sehingga data SMART dari disk fisik tidak tersedia. Pemantauan disk fisik menjadi tanggung jawab penyedia.
Kapan disk NVMe sebaiknya diganti?
Pertimbangkan penggantian bila critical_warning tidak nol, available_spare turun di bawah ambang, media_errors terus bertambah, atau percentage_used mendekati 100 persen.
Checklist kesehatan disk
nvme-clidansmartmontoolsterpasang.critical_warningbernilai 0 danmedia_errorstidak bertambah.percentage_useddicatat, rencana penggantian dibuat bila mendekati 100.- Self-test singkat pernah dijalankan dan lulus.
- smartd atau monitoring aktif dengan alert yang benar-benar sampai.
- Disk penting dilindungi RAID, lihat RAID 1, 5, atau 10, dan backup diuji rutin seperti di uji restore backup berkala.


