smartctl dan smartmontools: Panduan Lengkap Pemantauan Kesehatan Drive Linux
smartctl adalah antarmuka baris perintah utama dari paket smartmontools, yang dirancang untuk mengkueri, menguji, dan menginterpretasikan data S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) yang tertanam dalam firmware HDD, SSD, dan drive NVMe. Ini berkomunikasi langsung dengan firmware drive melalui antarmuka ATA, SCSI, atau NVMe untuk menampilkan telemetri diagnostik mentah yang tidak diekspos oleh sistem operasi itu sendiri melalui jalur I/O standar.
Bagi setiap administrator Linux yang mengelola penyimpanan fisik atau virtual — baik di server bare-metal, Dedicated Server, atau array disk yang terpasang secara lokal — smartctl adalah alat paling andal untuk mendeteksi kegagalan drive yang akan segera terjadi sebelum menyebabkan kehilangan data yang tidak dapat dipulihkan.
Apa Itu S.M.A.R.T. dan Mengapa Penting
S.M.A.R.T. adalah sistem pemantauan yang tertanam di hampir setiap perangkat penyimpanan konsumen dan enterprise yang diproduksi setelah tahun 1996. Sistem ini beroperasi di tingkat firmware, terus melacak lusinan parameter internal: tingkat kesalahan baca/tulis, indikator tekanan mekanis, tingkat keausan NAND, jumlah sektor yang dialokasikan ulang, dan pembacaan termal.
Perbedaan kritis yang sering terlewatkan oleh sebagian besar panduan: data S.M.A.R.T. bersifat prediktif, bukan reaktif. Sebuah drive dapat lulus pemeriksaan filesystem dan melayani I/O secara normal sambil secara bersamaan mengakumulasi sektor yang dialokasikan ulang pada tingkat yang secara statistik memprediksi kegagalan dalam beberapa minggu. smartctl menampilkan kondisi degradasi tersembunyi ini.
S.M.A.R.T. beroperasi di tiga keluarga antarmuka penyimpanan:
- ATA/SATA — spesifikasi S.M.A.R.T. asli, paling kaya atribut
- SCSI/SAS — menggunakan model atribut yang berbeda (halaman log Informational Exceptions)
- NVMe — mengekspos data kesehatan melalui NVMe Health Information Log (Log Page 0x02), dengan metrik seperti kapasitas cadangan yang tersedia, persentase penggunaan, dan unsafe shutdowns
Menginstal smartmontools di Linux
Paket smartmontools tersedia di repositori resmi setiap distribusi Linux utama. Instal versi yang sesuai untuk lingkungan Anda:
Debian / Ubuntu:
“`bash
sudo apt-get update && sudo apt-get install smartmontools
“`
CentOS / RHEL 7:
“`bash
sudo yum install smartmontools
“`
CentOS Stream / RHEL 8+ / AlmaLinux / Rocky Linux:
“`bash
sudo dnf install smartmontools
“`
Fedora:
“`bash
sudo dnf install smartmontools
“`
Arch Linux:
“`bash
sudo pacman -S smartmontools
“`
openSUSE:
“`bash
sudo zypper install smartmontools
“`
Setelah instalasi, verifikasi versi dan konfirmasi dukungan NVMe telah dikompilasi:
“`bash
smartctl –version
“`
Cari `NVMe` dalam daftar jenis perangkat yang didukung. Versi sebelum 6.6 memiliki dukungan NVMe yang tidak lengkap — pada server modern yang menjalankan NVMe SSD, pastikan Anda menjalankan smartmontools 7.x atau yang lebih baru.
Mengidentifikasi Perangkat Penyimpanan Anda
Sebelum menjalankan perintah smartctl apa pun, identifikasi node perangkat yang benar. Mencampuradukkan pengidentifikasi perangkat pada sistem multi-disk adalah kesalahan umum yang merugikan.
“`bash
lsblk -d -o NAME,SIZE,MODEL,TRAN
“`
Ini menampilkan nama perangkat beserta jenis transport (sata, nvme, usb), yang secara langsung menginformasikan flag smartctl mana yang akan Anda butuhkan. Untuk perangkat NVMe, node akan muncul sebagai `/dev/nvme0`, `/dev/nvme1`, dll. — bukan `/dev/sdX`.
Untuk kontroler hardware RAID (LSI MegaRAID, Adaptec, HP Smart Array), drive tersembunyi di balik kontroler dan memerlukan flag pass-through eksplisit, yang dibahas di bagian lanjutan di bawah.
Perintah Inti smartctl
Melihat Informasi Identitas Perangkat
“`bash
sudo smartctl -i /dev/sda
“`
Ini mengkueri halaman IDENTIFY DATA perangkat dan mengembalikan nomor model, nomor seri, revisi firmware, kapasitas, ukuran sektor (512-byte logis vs. 4096-byte fisik — penting untuk penyelarasan), dan flag kemampuan S.M.A.R.T. Pada perangkat NVMe:
“`bash
sudo smartctl -i /dev/nvme0
“`
Menjalankan Penilaian Kesehatan Penuh
“`bash
sudo smartctl -H /dev/sda
“`
Mengembalikan verdict satu baris: `PASSED` atau `FAILED`. Hasil `FAILED` berarti firmware drive itu sendiri telah menentukan bahwa satu atau lebih ambang batas kritis telah terlampaui. Drive yang melaporkan FAILED harus diperlakukan sebagai gagal — jangan menunggu konfirmasi lebih lanjut.
Namun, hasil `PASSED` tidak berarti drive dalam kondisi sehat. Ini hanya berarti tidak ada ambang batas yang secara resmi dilanggar. Inilah mengapa analisis atribut mentah sangat penting.
Menampilkan Semua Atribut S.M.A.R.T.
“`bash
sudo smartctl -A /dev/sda
“`
Ini adalah perintah dengan informasi paling padat dalam penggunaan rutin. Tabel output berisi beberapa kolom yang memerlukan interpretasi tepat:
| Kolom | Arti |
|---|
| — | — |
|---|
| **ID#** | Pengidentifikasi atribut (spesifik vendor, tetapi banyak yang telah distandarisasi) |
|---|
| **ATTRIBUTE_NAME** | Nama yang mudah dibaca manusia |
|---|
| **FLAG** | Bitmask yang menunjukkan jenis atribut (pre-failure vs. advisory) |
|---|
| **VALUE** | Nilai yang dinormalisasi (biasanya 0–253); lebih rendah berarti lebih buruk untuk sebagian besar atribut |
|---|
| **WORST** | VALUE terendah yang pernah tercatat selama masa pakai drive |
|---|
| **THRESH** | Ambang batas di bawahnya drive menyatakan kegagalan |
|---|
| **TYPE** | Pre-failure (kritis) atau Old_age (informasional) |
|---|
| **RAW_VALUE** | Kuantitas yang sebenarnya diukur dalam satuan asli |
|---|
RAW_VALUE adalah yang harus Anda analisis terutama. Sistem VALUE/WORST/THRESH yang dinormalisasi berguna untuk deteksi ambang batas otomatis tetapi bisa menyesatkan — beberapa produsen menggunakan kurva normalisasi non-standar.
Output Komprehensif: Menggabungkan Flag
Untuk gambaran lengkap dalam satu perintah, gabungkan flag informasi, kesehatan, dan atribut:
“`bash
sudo smartctl -a /dev/sda
“`
Flag huruf kecil `-a` setara dengan `-H -i -c -A -l error -l selftest`. Ini adalah perintah standar yang dijalankan saat mendiagnosis drive yang tidak dikenal.
Untuk output yang lebih verbose termasuk semua halaman log:
“`bash
sudo smartctl -x /dev/sda
“`
Atribut S.M.A.R.T. Kritis dan Cara Menginterpretasikannya
Tidak semua atribut S.M.A.R.T. memiliki bobot diagnostik yang sama. Berikut adalah atribut yang diperlakukan oleh insinyur penyimpanan berpengalaman sebagai indikator kegagalan utama:
Indikator Kegagalan Prioritas Tinggi
Reallocated_Sector_Ct (ID 5)
Jumlah sektor yang telah dipetakan ulang oleh drive ke area cadangan karena kesalahan baca/tulis/verifikasi. Nilai non-nol apa pun pada drive yang berusia di bawah dua tahun memerlukan perhatian segera. Jumlah yang terus meningkat — bahkan dari 1 ke 5 selama sebulan — adalah prediktor kuat kegagalan yang akan segera terjadi. Pada drive enterprise, sejumlah kecil mungkin dapat diterima tergantung pada spesifikasi produsen.
Current_Pending_Sector (ID 197)
Sektor yang ditandai tidak stabil dan menunggu pemetaan ulang. Sektor-sektor ini telah menghasilkan kesalahan selama pembacaan tetapi belum berhasil dipetakan ulang. Nilai non-nol di sini berarti drive sedang aktif berjuang untuk membaca data. Jika sektor yang tertunda kemudian berhasil ditulis, sektor tersebut mungkin dipetakan ulang atau dihapus — tetapi media yang mendasarinya patut dicurigai.
Uncorrectable_Sector_Count (ID 198) / Offline_Uncorrectable
Sektor yang tidak dapat dikoreksi oleh ECC dan tidak dapat dipetakan ulang. Ini adalah atribut paling parah. Nilai non-nol di sini berarti data telah hilang dari sektor-sektor tersebut. Pencadangan segera dan penggantian drive adalah satu-satunya respons yang tepat.
Reported_Uncorrect (ID 187)
Pada drive modern, ini menghitung kesalahan yang tidak dapat dikoreksi oleh ECC internal drive. Nilai tinggi menunjukkan degradasi media yang serius.
Spin_Retry_Count (ID 10)
Untuk HDD, kegagalan berulang untuk memutar piringan ke kecepatan operasi. Menunjukkan tekanan mekanis pada motor spindle atau bantalan. Nilai non-nol apa pun pada drive yang digunakan secara intensif adalah tanda bahaya.
Command_Timeout (ID 188)
Jumlah perintah yang dibatalkan karena timeout. Nilai yang tinggi sering menunjukkan masalah antarmuka (kabel, kontroler, atau pengiriman daya) daripada kegagalan media — tetapi juga dapat mendahului kegagalan drive total.
Atribut Pemantauan Sekunder
Raw_Read_Error_Rate (ID 1)
Sering disalahartikan: pada drive Seagate, atribut ini memiliki nilai mentah yang sangat tinggi secara desain, karena mewakili rasio yang dikodekan dalam bidang 48-bit. Nilai mentah beberapa juta pada drive Seagate adalah normal. Pada Western Digital dan produsen lain, nilai mentah harus mendekati nol. Selalu referensikan silang dengan dokumentasi produsen sebelum memberikan alarm pada atribut ini.
Power_On_Hours (ID 9)
Total jam operasional. HDD konsumen biasanya dinilai untuk 20.000–25.000 jam (sekitar 2–3 tahun operasi berkelanjutan). Drive enterprise dinilai untuk 55.000+ jam. Gunakan ini untuk mengontekstualisasikan nilai atribut lainnya.
Temperature_Celsius (ID 194)
Suhu drive saat ini. Rentang operasi optimal untuk sebagian besar HDD adalah 25–45°C. Suhu yang terus-menerus di atas 55°C mempercepat keausan bantalan dan degradasi media magnetik. Untuk SSD, toleransi termal umumnya lebih tinggi, tetapi suhu yang terus-menerus di atas 70°C akan mempercepat keausan NAND. Pada server tanpa aliran udara yang memadai — masalah umum dalam penerapan rack yang padat — throttling termal dapat menyamar sebagai latensi I/O sebelum atribut suhu melewati ambang batas formal apa pun.
Wear_Leveling_Count (ID 177) / Media_Wearout_Indicator (ID 233)
Atribut khusus SSD yang melacak konsumsi ketahanan NAND. Ketika VALUE yang dinormalisasi mendekati nilai THRESH, SSD mendekati ketahanan tulis yang dinilai. Rencanakan penggantian secara proaktif.
Power_Cycle_Count (ID 12)
Siklus daya yang sering menyebabkan tekanan mekanis pada HDD (parkir/unpark kepala, tekanan motor spindle) dan, pada tingkat yang lebih rendah, tekanan listrik pada SSD. Jumlah yang sangat tinggi relatif terhadap Power_On_Hours dapat mengindikasikan lingkungan daya yang tidak stabil.
Menjalankan Self-Test Diagnostik
Self-test S.M.A.R.T. dieksekusi oleh firmware drive itu sendiri, bukan oleh sistem operasi. Drive terus melayani I/O selama pengujian (dengan dampak kinerja minor), membuat pengujian ini aman untuk dijalankan pada sistem produksi.
Short Self-Test
“`bash
sudo smartctl -t short /dev/sda
“`
Durasi: biasanya 1–5 menit. Menguji komponen listrik dan mekanis serta sebagian kecil permukaan disk. Berguna untuk pemeriksaan cepat. Lihat hasil setelah selesai:
“`bash
sudo smartctl -l selftest /dev/sda
“`
Long Self-Test (Extended Test)
“`bash
sudo smartctl -t long /dev/sda
“`
Durasi: proporsional dengan kapasitas drive — perkirakan 1 jam per terabyte pada HDD 7200 RPM tipikal, dan 20–60 menit pada sebagian besar SSD. Melakukan pemindaian permukaan lengkap dari setiap sektor. Ini adalah pengujian definitif untuk mendeteksi sektor buruk di seluruh permukaan media.
Pantau kemajuan tanpa menunggu penyelesaian:
“`bash
sudo smartctl -c /dev/sda
“`
Output mencakup persentase selesai dan perkiraan waktu selesai.
Conveyance Self-Test
“`bash
sudo smartctl -t conveyance /dev/sda
“`
Tersedia pada sebagian besar drive ATA. Dirancang untuk mendeteksi kerusakan yang terjadi selama pengiriman atau penanganan fisik. Memeriksa masalah yang disebabkan oleh guncangan mekanis. Durasi biasanya 5 menit. Pengujian ini kurang dimanfaatkan — sangat berharga saat mengkomisikan hardware baru atau setelah server dipindahkan secara fisik.
Selective Self-Test
“`bash
sudo smartctl -t select,0-1000000 /dev/sda
“`
Memungkinkan pengujian rentang LBA tertentu daripada seluruh drive. Sangat berharga ketika pemeriksaan filesystem telah menandai kesalahan di wilayah tertentu dan Anda perlu mengonfirmasi apakah media yang mendasarinya bertanggung jawab.
Pemantauan Kesehatan Khusus NVMe
Drive NVMe menggunakan model atribut yang berbeda secara fundamental. Perintah kesehatan utama:
“`bash
sudo smartctl -a /dev/nvme0
“`
Bidang khusus NVMe yang perlu dipantau:
- Available Spare: Persentase blok NAND cadangan yang tersisa. Di bawah 10% memerlukan perencanaan penggantian.
- Available Spare Threshold: Ambang batas yang ditentukan produsen di bawahnya drive dapat melaporkan keandalan yang terdegradasi.
- Percentage Used: Perkiraan persentase ketahanan tulis yang dinilai yang telah dikonsumsi. Pada 100%, drive telah mencapai TBW (Terabytes Written) yang dinilai — mungkin terus berfungsi, tetapi jaminan keandalan tidak lagi berlaku.
- Data Units Read / Written: I/O kumulatif dalam unit 512.000-byte. Berguna untuk menghitung beban kerja aktual vs. TBW yang dinilai.
- Media and Data Integrity Errors: Kesalahan media yang tidak dipulihkan atau kesalahan integritas data yang terdeteksi oleh kontroler NVMe. Nilai non-nol apa pun adalah serius.
- Number of Error Information Log Entries: Jumlah entri log kesalahan. Jumlah yang tumbuh dengan cepat menunjukkan masalah yang persisten.
- Power State: Status daya NVMe saat ini — relevan untuk beban kerja yang sensitif terhadap latensi di mana drive mungkin berada dalam status hemat daya yang dalam.
Hardware RAID dan Akses Pass-Through
Ketika drive terhubung melalui kontroler hardware RAID, OS melihat disk virtual kontroler, bukan drive fisik. smartctl memerlukan pass-through eksplisit untuk mencapai firmware drive secara langsung.
LSI MegaRAID:
“`bash
sudo smartctl -a /dev/sda -d megaraid,0
sudo smartctl -a /dev/sda -d megaraid,1
“`
HP Smart Array (driver hpsa):
“`bash
sudo smartctl -a /dev/sda -d cciss,0
“`
3ware RAID:
“`bash
sudo smartctl -a /dev/twa0 -d 3ware,0
“`
Jika Anda tidak yakin jenis pass-through mana yang akan digunakan, smartctl dapat mencoba deteksi otomatis:
“`bash
sudo smartctl –scan
“`
Ini memindai semua perangkat penyimpanan yang dapat dideteksi dan menampilkan jalur perangkat yang direkomendasikan serta flag jenis untuk masing-masing.
Mengaktifkan dan Menonaktifkan S.M.A.R.T.
S.M.A.R.T. diaktifkan secara default pada hampir semua drive modern. Dalam kasus yang jarang terjadi — biasanya drive yang lebih lama atau lingkungan virtual tertentu — mungkin dinonaktifkan:
“`bash
sudo smartctl -s on /dev/sda
“`
Untuk menonaktifkan (tidak disarankan kecuali untuk skenario pengujian tertentu):
“`bash
sudo smartctl -s off /dev/sda
“`
Catatan: Dalam lingkungan virtual seperti KVM atau VMware, pass-through S.M.A.R.T. ke VM tamu bergantung pada konfigurasi hypervisor. Pada lingkungan VPS Hosting, hypervisor biasanya mengabstraksikan drive fisik, dan smartctl di dalam tamu mungkin mengembalikan data terbatas atau tidak ada data. Untuk akses S.M.A.R.T. penuh, pemantauan tingkat host fisik atau Dedicated Server diperlukan.
Pemantauan Otomatis dengan smartd
Daemon smartd adalah komponen tingkat produksi dari smartmontools. Ini berjalan di latar belakang, secara berkala melakukan polling drive dan mengeksekusi pengujian terjadwal, kemudian memberi tahu administrator ketika ambang batas terlampaui atau kegagalan pengujian terjadi.
Mengonfigurasi /etc/smartd.conf
Konfigurasi default memantau semua drive yang terdeteksi dengan pengaturan dasar. Konfigurasi yang diperkuat untuk produksi terlihat seperti ini:
“`
Monitor all ATA/SCSI/NVMe drives with full attribute checking
Run short test every day at 02:00, long test every Saturday at 03:00
Email alert on any failure or attribute change
DEVICESCAN -a -o on -S on
-s (S/../.././02|L/../../6/03)
-m admin@yourdomain.com
-M exec /usr/share/smartmontools/smartd-runner
“`
Penjelasan direktif utama:
| Direktif | Fungsi |
|---|
| — | — |
|---|
| `DEVICESCAN` | Deteksi otomatis semua drive yang didukung |
|---|
| `-a` | Aktifkan semua pemeriksaan S.M.A.R.T. |
|---|
| `-o on` | Aktifkan pengumpulan data offline otomatis |
|---|
| `-S on` | Aktifkan penyimpanan otomatis atribut |
|---|
| `-s (S/../.././HH | L/../../D/HH)` | Jadwalkan pengujian short (S) dan long (L) |
|---|
| `-m email@domain` | Kirim email peringatan ke alamat ini |
|---|
| `-M exec script` | Jalankan skrip saat peringatan (untuk notifikasi kustom) |
|---|
| `-d removable` | Jangan munculkan kesalahan jika perangkat tidak ada saat startup |
|---|
Mengaktifkan dan Memulai smartd
“`bash
sudo systemctl enable smartd
sudo systemctl start smartd
sudo systemctl status smartd
“`
Verifikasi daemon sedang aktif memantau:
“`bash
sudo journalctl -u smartd -f
“`
Konfigurasi Peringatan Email
Agar peringatan email smartd berfungsi, sistem memerlukan MTA (mail transfer agent) yang berfungsi. Pada instalasi server minimal, instal dan konfigurasikan `postfix` atau `msmtp` untuk relay. Jika Anda menggunakan infrastruktur email khusus, pertimbangkan untuk memasangkan peringatan smartd dengan layanan Email Hosting yang dikonfigurasi dengan benar untuk memastikan pengiriman peringatan tidak diblokir oleh filter spam.
Perbandingan Atribut S.M.A.R.T.: HDD vs. SSD vs. NVMe
| Kategori Atribut | HDD (SATA) | SSD (SATA) | NVMe SSD |
|---|
| — | — | — | — |
|---|
| **Indikator kegagalan utama** | Reallocated_Sector_Ct (ID 5) | Reallocated_Sector_Ct (ID 5) | Media and Data Integrity Errors |
|---|
| **Pelacakan ketahanan** | Power_On_Hours (ID 9) | Wear_Leveling_Count (ID 177) | Percentage Used |
|---|
| **Sektor buruk yang tertunda** | Current_Pending_Sector (ID 197) | Current_Pending_Sector (ID 197) | N/A (dikelola kontroler) |
|---|
| **Pemantauan termal** | Temperature_Celsius (ID 194) | Temperature_Celsius (ID 194) | Temperature Sensor 1/2 |
|---|
| **Kapasitas cadangan** | N/A | Available_Reservd_Space (ID 232) | Available Spare |
|---|
| **Ketahanan tulis** | N/A | Total_LBAs_Written (ID 241) | Data Units Written |
|---|
| **Kesehatan mekanis** | Spin_Retry_Count (ID 10) | N/A | N/A |
|---|
| **Jenis pengujian yang didukung** | Short, Long, Conveyance, Selective | Short, Long, Selective | Short, Long (tergantung vendor) |
|---|
| **Antarmuka untuk akses data** | ATA SMART READ DATA | ATA SMART READ DATA | NVMe Log Page 0x02 |
|---|
Alur Kerja Praktis: Mendiagnosis Drive yang Dicurigai
Ketika drive menunjukkan gejala — kesalahan I/O di `dmesg`, korupsi filesystem, latensi yang tidak biasa — ikuti urutan diagnostik ini:
Langkah 1: Konfirmasi ketersediaan S.M.A.R.T.
“`bash
sudo smartctl -i /dev/sda | grep -i "SMART support"
“`
Langkah 2: Periksa verdict kesehatan keseluruhan
“`bash
sudo smartctl -H /dev/sda
“`
Langkah 3: Periksa log kesalahan
“`bash
sudo smartctl -l error /dev/sda
“`
Log kesalahan mencatat 5 kesalahan ATA terakhir dengan cap waktu dan alamat LBA. Referensikan silang alamat LBA dengan peta blok filesystem menggunakan `debugfs` atau `xfs_db` untuk menentukan apakah kesalahan mempengaruhi struktur filesystem yang kritis.
Langkah 4: Analisis atribut kritis
“`bash
sudo smartctl -A /dev/sda | grep -E "Reallocated|Pending|Uncorrectable|Command_Timeout"
“`
Langkah 5: Jalankan short test untuk konfirmasi segera
“`bash
sudo smartctl -t short /dev/sda
sleep 120
sudo smartctl -l selftest /dev/sda
“`
Langkah 6: Jika short test lulus dan gejala berlanjut, jalankan long test selama jendela pemeliharaan
“`bash
sudo smartctl -t long /dev/sda
“`
Langkah 7: Tinjau log self-test untuk alamat kegagalan LBA
“`bash
sudo smartctl -l selftest /dev/sda
“`
Pengujian yang gagal melaporkan LBA dari kesalahan pertama yang ditemui. Ini menentukan lokasi tepat kerusakan media.
Jebakan Umum dan Kasus Tepi
Drive yang terpasang melalui USB: smartctl sering tidak dapat berkomunikasi dengan drive yang terhubung melalui adaptor USB-to-SATA karena chip bridge USB tidak meneruskan perintah ATA. Gunakan flag `-d sat` atau `-d usb`, atau tentukan jenis bridge secara eksplisit (misalnya, `-d usb,0x0bc2,0x2312`). Flag `–scan` akan mencoba mengidentifikasi jenis yang benar secara otomatis.
Lingkungan virtual: Di dalam tamu KVM atau VMware, `/dev/sda` adalah disk virtual. smartctl mungkin mengembalikan `Device does not support SMART` atau data yang disintesis oleh hypervisor. Jangan mengandalkan output smartctl di dalam tamu untuk penilaian kesehatan drive fisik pada infrastruktur shared hosting.
False positive pada Raw_Read_Error_Rate: Seperti disebutkan di atas, pengkodean atribut ini oleh Seagate menyebabkan nilai mentah yang mengkhawatirkan yang sepenuhnya normal. Selalu verifikasi terhadap dokumentasi atribut produsen sebelum bertindak berdasarkan nilai ini.
Drive di balik software RAID (mdadm): smartctl mengakses drive komponen secara langsung (`/dev/sda`, `/dev/sdb`), bukan perangkat RAID (`/dev/md0`). Pantau setiap drive anggota secara individual.
Namespace NVMe vs. kontroler: Gunakan `/dev/nvme0` (kontroler) untuk data kesehatan, bukan `/dev/nvme0n1` (namespace/block device). Beberapa versi smartctl menerima keduanya, tetapi node kontroler adalah yang otoritatif untuk akses log kesehatan.
Drive yang berbohong: Beberapa SSD konsumen, terutama drive NAND QLC tingkat rendah, telah didokumentasikan melaporkan atribut S.M.A.R.T. yang sehat hingga kegagalan total yang tiba-tiba. S.M.A.R.T. adalah indikator yang kuat tetapi bukan jaminan — ini tidak menggantikan pencadangan rutin.
Menerapkan smartmontools di Lingkungan Server
Bagi administrator yang mengelola beberapa server fisik — seperti mereka yang menjalankan beban kerja pada Dedicated Server — memusatkan pemantauan S.M.A.R.T. sangat penting. Pertimbangkan arsitektur berikut:
- Prometheus + node_exporter: `node_exporter` mencakup skrip kolektor textfile `smartmon` yang mengekspor atribut S.M.A.R.T. sebagai metrik Prometheus. Ini memungkinkan peringatan melalui Alertmanager dan visualisasi di dashboard Grafana.
- Nagios / Icinga2: Plugin `check_smart` menyediakan integrasi pemantauan S.M.A.R.T. untuk tumpukan pemantauan tradisional.
- Skrip smartd kustom: Direktif `-M exec` dalam smartd.conf dapat memicu skrip apa pun saat peringatan — berguna untuk integrasi dengan PagerDuty, webhook Slack, atau sistem tiket kustom.
- Agregasi logfile: Konfigurasikan smartd untuk menulis ke syslog, kemudian teruskan ke agregator log terpusat (ELK stack, Loki) untuk analisis tren historis di seluruh armada.
Untuk lingkungan web hosting yang menggunakan panel kontrol, penerapan VPS dengan cPanel mendapat manfaat dari pemantauan S.M.A.R.T. tingkat host yang dikonfigurasi oleh penyedia infrastruktur, karena cPanel itu sendiri tidak mengekspos data kesehatan drive secara native.
Daftar Periksa Poin Utama
Gunakan ini sebagai referensi pra-penerapan dan operasional yang berkelanjutan:
- Instal smartmontools 7.x atau yang lebih baru untuk memastikan dukungan penuh NVMe dan SSD modern
- Jalankan `smartctl –scan` pada hardware baru untuk mengidentifikasi semua drive dan flag antarmuka yang diperlukan
- Periksa verdict kesehatan `-H` terlebih dahulu — hasil `FAILED` memerlukan tindakan segera terlepas dari atribut lainnya
- Perlakukan nilai non-nol apa pun pada Reallocated_Sector_Ct, Current_Pending_Sector, atau Uncorrectable_Sector_Count sebagai sinyal kegagalan — jangan menunggu jumlahnya bertambah
- Jangan hanya mengandalkan Raw_Read_Error_Rate — validasi terhadap dokumentasi produsen sebelum memberikan alarm
- Jadwalkan long test otomatis setiap minggu melalui smartd pada semua drive produksi; short test setiap hari
- Konfigurasikan peringatan email smartd dan verifikasi pengiriman sebelum mengandalkannya
- Untuk hardware RAID, selalu gunakan flag pass-through yang sesuai — memantau disk virtual tidak setara dengan memantau drive fisik
- Dalam lingkungan virtual, lakukan pemantauan S.M.A.R.T. di tingkat hypervisor/host, bukan di dalam VM tamu
- Padukan pemantauan S.M.A.R.T. dengan strategi pencadangan — S.M.A.R.T. memprediksi kegagalan, tidak mencegah kehilangan data
- Untuk drive NVMe, pantau Available Spare dan Percentage Used selain jumlah kesalahan
- Pada server multi-drive, integrasikan smartd dengan platform peringatan terpusat daripada mengandalkan pengiriman email lokal
Pertanyaan yang Sering Diajukan
Apakah smartctl berfungsi di dalam VPS atau instans cloud?
Di sebagian besar lingkungan VPS, hypervisor menyajikan perangkat blok virtual kepada tamu. smartctl di dalam tamu akan mengembalikan tidak ada data atau data yang disintesis oleh hypervisor, yang tidak mencerminkan kesehatan drive fisik yang sebenarnya. Pemantauan S.M.A.R.T. yang bermakna memerlukan akses ke host fisik. Untuk visibilitas tingkat drive penuh, Dedicated Server adalah solusi yang tepat.
Apa perbedaan antara `smartctl -a` dan `smartctl -x`?
Flag `-a` menampilkan set standar data S.M.A.R.T.: info perangkat, verdict kesehatan, flag kemampuan, semua atribut, log kesalahan, dan log self-test. Flag `-x` menampilkan semua yang disediakan `-a` ditambah halaman log tambahan termasuk log selective self-test, log statistik perangkat, log cacat yang tertunda, dan statistik perangkat ATA — memberikan gambaran yang lebih lengkap tentang riwayat drive. Gunakan `-x` untuk diagnostik menyeluruh; `-a` untuk pemeriksaan rutin.
Berapa lama long self-test berlangsung, dan apakah aman dijalankan pada drive produksi?
Durasi tergantung pada kapasitas dan kecepatan drive: sekitar 1 jam per terabyte untuk HDD 7200 RPM, dan 20–60 menit untuk sebagian besar SSD. Pengujian berjalan di latar belakang firmware drive, dan drive terus melayani I/O selama pengujian. Dampak kinerja biasanya minor (pengurangan throughput 5–15%). Aman untuk dijalankan pada sistem produksi selama periode lalu lintas rendah, tetapi penjadwalan selama jendela pemeliharaan direkomendasikan untuk beban kerja yang sensitif terhadap latensi.
Apa artinya ketika Current_Pending_Sector tidak nol tetapi Reallocated_Sector_Ct tidak meningkat?
Drive telah mengidentifikasi sektor yang menghasilkan kesalahan baca tetapi belum berhasil memetakan ulangnya. Pemetaan ulang terjadi ketika drive dapat menulis ke sektor — baik melalui operasi tulis atau pemindaian offline. Jika jumlahnya tetap statis, sektor mungkin berada di wilayah hanya-baca atau drive mungkin tidak memiliki sektor cadangan yang tersedia untuk pemetaan ulang. Jumlah Current_Pending_Sector yang tidak nol dan meningkat, dengan Reallocated_Sector_Ct yang tetap datar, sering menunjukkan drive telah menghabiskan kumpulan sektor cadangannya — kondisi kegagalan kritis.
Dapatkah smartctl mendeteksi keausan SSD sebelum drive gagal?
Ya, untuk SATA SSD, atribut Wear_Leveling_Count (ID 177), Media_Wearout_Indicator (ID 233), dan Available_Reservd_Space (ID 232) melacak konsumsi ketahanan NAND. Untuk NVMe SSD, bidang Percentage Used dan Available Spare dalam NVMe Health Information Log melayani tujuan yang sama. Ketika Available Spare turun di bawah ambang batasnya atau Percentage Used mencapai 100%, drive telah mengonsumsi ketahanan tulis yang dinilai. Tidak seperti kegagalan mekanis yang tiba-tiba, degradasi keausan SSD bersifat bertahap dan sangat dapat diprediksi — menjadikannya salah satu kasus penggunaan terkuat untuk pemantauan S.M.A.R.T. proaktif.
