Lewati ke isi

Server & Infrastruktur

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.

Terbit 5 menit baca

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
  1. Langkah 1: Pasang alatnya
  2. Langkah 2: Disk NVMe mana saja yang terpasang?
  3. Langkah 3: Baca log SMART
  4. Langkah 4: Apa arti angka-angka di log SMART?
  5. Langkah 5: Jalankan self-test
  6. Langkah 6: Cek log kernel
  7. Langkah 7: Pasang pemantauan otomatis
  8. Pertanyaan yang sering diajukan
  9. Checklist kesehatan disk

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 smartctlArtinyaYang perlu diwaspadai
critical_warningCritical WarningBendera peringatan dari diskNilai selain 0
temperatureTemperatureSuhu controllerMendekati batas di datasheet, atau sering throttling
available_spareAvailable SpareSisa blok cadangan dalam persenTurun terus atau di bawah ambang
available_spare_thresholdAvailable Spare ThresholdAmbang minimum dari pabrikSpare di bawah angka ini
percentage_usedPercentage UsedPerkiraan umur tulis yang sudah terpakaiMendekati 100 persen
media_errorsMedia and Data Integrity ErrorsKesalahan data yang tidak bisa dipulihkanBertambah dari waktu ke waktu
num_err_log_entriesError Information Log EntriesJumlah entri di log errorNaik cepat, cek detailnya
unsafe_shutdownsUnsafe ShutdownsMati listrik tanpa shutdown normalNaik terus, cek catu daya
power_on_hoursPower On HoursTotal jam menyalaUntuk 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-cli dan smartmontools terpasang.
  • critical_warning bernilai 0 dan media_errors tidak bertambah.
  • percentage_used dicatat, 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.

Sumber & referensi

Baca juga