Cara cek kondisi HDD pada server CentOS 7 dengan smartmontools
Tags: centos, linux, indonesia
Published: 2021-03-07 20:22:02

Beberapa hari yang lalu saya melakukan order sebuah dedicated server baru yang rencananya akan dimanfaatkan sebagai storage server. Hari ini saya ingin berbagi cara untuk menginstall `smartmontools` yang berfungsi untuk mengecek dan memonitor kesehatan dari harddisk dedicated server tersebut. Berikut langkah-langkahnya.

Login via putty ke server dan jalankan perintah berikut untuk menginstall.
```
yum -y install smartmontools
```

Lalu cek nama partisi apa saja yang digunakan oleh server Anda.
```
cat /proc/partitions
```

Setelah itu, cek keberadaan SMART di partisi hdd Anda, dan kebetulan partisi saya adalah `/dev/sda` jadi jalankan perintah berikut.
```
smartctl -i /dev/sda
```
Oh ya, SMART atau S.M.A.R.T. singkatan dari Self-Monitoring, Analysis and Reporting Technology.

Hasil yang saya peroleh adalah sebagai berikut.
```
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-3.10.0-862.2.3.el7.x86_64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family: Seagate Constellation ES.2 (SATA 6Gb/s)
Device Model: ST33000650NS
Serial Number: Z291FAGF
LU WWN Device Id: 5 000c50 03f4812fa
Firmware Version: 0003
User Capacity: 3,000,592,982,016 bytes [3.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Tue Sep 18 21:07:05 2018 WITA
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
```

Nah, dari hasil diatas `SMART support is: Enabled` menunjukkan HDD server saya sudah mendukung SMART dan sudah dalam keadaan aktif.

Berikut ini adalah cara cepat untuk melakukan pengecekan kesehatan HDD, dengan menjalankan perintah dibawah ini.
```
smartctl -H /dev/sda
```

Hasilnya akan terlihat seperti berikut ini.
```
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-3.10.0-862.2.3.el7.x86_64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
```

Perintah dibawah ini adalah untuk melihat kondisi HDD secara mendetail berdasarkan atribut SMART.
```
smartctl -A /dev/sda
```

Hasilnya akan terlihat sebagai berikut.
```
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-3.10.0-862.2.3.el7.x86_64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 084 063 044 Pre-fail Always - 242827013
3 Spin_Up_Time 0x0003 093 093 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 10
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 6
7 Seek_Error_Rate 0x000f 088 060 030 Pre-fail Always - 722042457
9 Power_On_Hours 0x0032 035 035 000 Old_age Always - 57437
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 10
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 059 052 045 Old_age Always - 41 (Min/Max 21/46)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 6
193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 10
194 Temperature_Celsius 0x0022 041 048 000 Old_age Always - 41 (0 19 0 0 0)
195 Hardware_ECC_Recovered 0x001a 024 003 000 Old_age Always - 242827013
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
```

Yang perlu diperhatikan, apabila terdapat tulisan `FAILING_NOW` maka dipastikan HDD sudah dalam kondisi tidak sehat.

Cara lain untuk melihat kondisi HDD dengan melakukan testing lewat perintah dibawah ini.
```
smartctl -l selftest /dev/sda
```

Apabila kondisi HDD masih sehat, maka yang muncul adalah hasil berikut.
```
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-3.10.0-862.2.3.el7.x86_64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 55950 -
# 2 Extended offline Completed without error 00% 55931 -
```

Jika ingin melihat daftar perintah lainnya bisa mengaksesnya dengan,
```
man smartctl
```

Sekian untuk tutorialnya yah. Have fun.