Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- test/disk_tests/hdd_smart/disklist | 2 + test/disk_tests/hdd_smart/disklist_expected.json | 32 +++ test/disk_tests/hdd_smart/sda/device/vendor | 1 + test/disk_tests/hdd_smart/sda/queue/rotational | 1 + test/disk_tests/hdd_smart/sda/size | 1 + test/disk_tests/hdd_smart/sda_health | 5 + test/disk_tests/hdd_smart/sda_smart | 40 ++++ test/disk_tests/hdd_smart/sda_smart_expected.json | 246 ++++++++++++++++++++++ test/disk_tests/hdd_smart/sda_udevadm | 11 + test/disk_tests/hdd_smart/sdb/device/vendor | 1 + test/disk_tests/hdd_smart/sdb/queue/rotational | 1 + test/disk_tests/hdd_smart/sdb/size | 1 + test/disk_tests/hdd_smart/sdb_health | 5 + test/disk_tests/hdd_smart/sdb_smart | 36 ++++ test/disk_tests/hdd_smart/sdb_smart_expected.json | 216 +++++++++++++++++++ test/disk_tests/hdd_smart/sdb_udevadm | 11 + 16 files changed, 610 insertions(+) create mode 100644 test/disk_tests/hdd_smart/disklist create mode 100644 test/disk_tests/hdd_smart/disklist_expected.json create mode 100644 test/disk_tests/hdd_smart/sda/device/vendor create mode 100644 test/disk_tests/hdd_smart/sda/queue/rotational create mode 100644 test/disk_tests/hdd_smart/sda/size create mode 100644 test/disk_tests/hdd_smart/sda_health create mode 100644 test/disk_tests/hdd_smart/sda_smart create mode 100644 test/disk_tests/hdd_smart/sda_smart_expected.json create mode 100644 test/disk_tests/hdd_smart/sda_udevadm create mode 100644 test/disk_tests/hdd_smart/sdb/device/vendor create mode 100644 test/disk_tests/hdd_smart/sdb/queue/rotational create mode 100644 test/disk_tests/hdd_smart/sdb/size create mode 100644 test/disk_tests/hdd_smart/sdb_health create mode 100644 test/disk_tests/hdd_smart/sdb_smart create mode 100644 test/disk_tests/hdd_smart/sdb_smart_expected.json create mode 100644 test/disk_tests/hdd_smart/sdb_udevadm
diff --git a/test/disk_tests/hdd_smart/disklist b/test/disk_tests/hdd_smart/disklist new file mode 100644 index 0000000..9f6776c --- /dev/null +++ b/test/disk_tests/hdd_smart/disklist @@ -0,0 +1,2 @@ +sda +sdb diff --git a/test/disk_tests/hdd_smart/disklist_expected.json b/test/disk_tests/hdd_smart/disklist_expected.json new file mode 100644 index 0000000..7685f5f --- /dev/null +++ b/test/disk_tests/hdd_smart/disklist_expected.json @@ -0,0 +1,32 @@ +{ + "sdb" : { + "devpath" : "/dev/sdb", + "size" : 1024000, + "gpt" : 1, + "osdid" : -1, + "rpm" : 7200, + "model" : "ST4000NM0033-9ZM170", + "vendor" : "ATA", + "health" : "PASSED", + "type" : "hdd", + "wwn" : "0x0000000000000000", + "journals" : 0, + "wearout" : "N/A", + "serial" : "00000000" + }, + "sda" : { + "osdid" : -1, + "size" : 1024000, + "gpt" : 1, + "devpath" : "/dev/sda", + "model" : "ST4000DM000-1F2168", + "rpm" : 5900, + "type" : "hdd", + "health" : "PASSED", + "vendor" : "ATA", + "serial" : "00000000", + "wearout" : "N/A", + "journals" : 0, + "wwn" : "0x0000000000000000" + } +} diff --git a/test/disk_tests/hdd_smart/sda/device/vendor b/test/disk_tests/hdd_smart/sda/device/vendor new file mode 100644 index 0000000..531030d --- /dev/null +++ b/test/disk_tests/hdd_smart/sda/device/vendor @@ -0,0 +1 @@ +ATA diff --git a/test/disk_tests/hdd_smart/sda/queue/rotational b/test/disk_tests/hdd_smart/sda/queue/rotational new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/test/disk_tests/hdd_smart/sda/queue/rotational @@ -0,0 +1 @@ +1 diff --git a/test/disk_tests/hdd_smart/sda/size b/test/disk_tests/hdd_smart/sda/size new file mode 100644 index 0000000..8bd1af1 --- /dev/null +++ b/test/disk_tests/hdd_smart/sda/size @@ -0,0 +1 @@ +2000 diff --git a/test/disk_tests/hdd_smart/sda_health b/test/disk_tests/hdd_smart/sda_health new file mode 100644 index 0000000..faf4ce3 --- /dev/null +++ b/test/disk_tests/hdd_smart/sda_health @@ -0,0 +1,5 @@ +smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.4.21-1-pve] (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 diff --git a/test/disk_tests/hdd_smart/sda_smart b/test/disk_tests/hdd_smart/sda_smart new file mode 100644 index 0000000..a3f8f0a --- /dev/null +++ b/test/disk_tests/hdd_smart/sda_smart @@ -0,0 +1,40 @@ +smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.4.21-1-pve] (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 + +SMART Attributes Data Structure revision number: 10 +Vendor Specific SMART Attributes with Thresholds: +ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE + 1 Raw_Read_Error_Rate POSR-- 117 099 006 - 158983656 + 3 Spin_Up_Time PO---- 092 091 000 - 0 + 4 Start_Stop_Count -O--CK 100 100 020 - 189 + 5 Reallocated_Sector_Ct PO--CK 100 100 010 - 0 + 7 Seek_Error_Rate POSR-- 075 060 030 - 30779387 + 9 Power_On_Hours -O--CK 099 099 000 - 1250 + 10 Spin_Retry_Count PO--C- 100 100 097 - 0 + 12 Power_Cycle_Count -O--CK 100 100 020 - 190 +183 Runtime_Bad_Block -O--CK 100 100 000 - 0 +184 End-to-End_Error -O--CK 100 100 099 - 0 +187 Reported_Uncorrect -O--CK 100 100 000 - 0 +188 Command_Timeout -O--CK 100 100 000 - 0 0 0 +189 High_Fly_Writes -O-RCK 100 100 000 - 0 +190 Airflow_Temperature_Cel -O---K 069 061 045 - 31 (Min/Max 20/33) +191 G-Sense_Error_Rate -O--CK 100 100 000 - 0 +192 Power-Off_Retract_Count -O--CK 100 100 000 - 43 +193 Load_Cycle_Count -O--CK 100 100 000 - 201 +194 Temperature_Celsius -O---K 031 040 000 - 31 (0 17 0 0 0) +197 Current_Pending_Sector -O--C- 100 100 000 - 0 +198 Offline_Uncorrectable ----C- 100 100 000 - 0 +199 UDMA_CRC_Error_Count -OSRCK 200 200 000 - 0 +240 Head_Flying_Hours ------ 100 253 000 - 1259h+06m+33.546s +241 Total_LBAs_Written ------ 100 253 000 - 24013587236 +242 Total_LBAs_Read ------ 100 253 000 - 66916845706732 + ||||||_ K auto-keep + |||||__ C event count + ||||___ R error rate + |||____ S speed/performance + ||_____ O updated online + |______ P prefailure warning + diff --git a/test/disk_tests/hdd_smart/sda_smart_expected.json b/test/disk_tests/hdd_smart/sda_smart_expected.json new file mode 100644 index 0000000..01bb860 --- /dev/null +++ b/test/disk_tests/hdd_smart/sda_smart_expected.json @@ -0,0 +1,246 @@ +{ + "attributes" : [ + { + "threshold" : 6, + "fail" : "-", + "flags" : "POSR--", + "value" : 117, + "id" : " 1", + "raw" : "158983656", + "name" : "Raw_Read_Error_Rate", + "worst" : 99 + }, + { + "flags" : "PO----", + "value" : 92, + "raw" : "0", + "name" : "Spin_Up_Time", + "worst" : 91, + "id" : " 3", + "fail" : "-", + "threshold" : 0 + }, + { + "value" : 100, + "flags" : "-O--CK", + "id" : " 4", + "name" : "Start_Stop_Count", + "worst" : 100, + "raw" : "189", + "threshold" : 20, + "fail" : "-" + }, + { + "value" : 100, + "flags" : "PO--CK", + "id" : " 5", + "name" : "Reallocated_Sector_Ct", + "worst" : 100, + "raw" : "0", + "threshold" : 10, + "fail" : "-" + }, + { + "flags" : "POSR--", + "value" : 75, + "raw" : "30779387", + "worst" : 60, + "name" : "Seek_Error_Rate", + "id" : " 7", + "fail" : "-", + "threshold" : 30 + }, + { + "raw" : "1250", + "worst" : 99, + "name" : "Power_On_Hours", + "id" : " 9", + "flags" : "-O--CK", + "value" : 99, + "fail" : "-", + "threshold" : 0 + }, + { + "value" : 100, + "flags" : "PO--C-", + "id" : " 10", + "name" : "Spin_Retry_Count", + "worst" : 100, + "raw" : "0", + "threshold" : 97, + "fail" : "-" + }, + { + "flags" : "-O--CK", + "value" : 100, + "id" : " 12", + "raw" : "190", + "worst" : 100, + "name" : "Power_Cycle_Count", + "threshold" : 20, + "fail" : "-" + }, + { + "threshold" : 0, + "fail" : "-", + "flags" : "-O--CK", + "value" : 100, + "id" : "183", + "raw" : "0", + "worst" : 100, + "name" : "Runtime_Bad_Block" + }, + { + "fail" : "-", + "threshold" : 99, + "flags" : "-O--CK", + "value" : 100, + "raw" : "0", + "worst" : 100, + "name" : "End-to-End_Error", + "id" : "184" + }, + { + "worst" : 100, + "name" : "Reported_Uncorrect", + "raw" : "0", + "id" : "187", + "value" : 100, + "flags" : "-O--CK", + "fail" : "-", + "threshold" : 0 + }, + { + "flags" : "-O--CK", + "value" : 100, + "raw" : "0 0 0", + "worst" : 100, + "name" : "Command_Timeout", + "id" : "188", + "fail" : "-", + "threshold" : 0 + }, + { + "threshold" : 0, + "fail" : "-", + "flags" : "-O-RCK", + "value" : 100, + "id" : "189", + "raw" : "0", + "name" : "High_Fly_Writes", + "worst" : 100 + }, + { + "worst" : 61, + "name" : "Airflow_Temperature_Cel", + "raw" : "31 (Min/Max 20/33)", + "id" : "190", + "value" : 69, + "flags" : "-O---K", + "fail" : "-", + "threshold" : 45 + }, + { + "fail" : "-", + "threshold" : 0, + "worst" : 100, + "name" : "G-Sense_Error_Rate", + "raw" : "0", + "id" : "191", + "value" : 100, + "flags" : "-O--CK" + }, + { + "id" : "192", + "raw" : "43", + "name" : "Power-Off_Retract_Count", + "worst" : 100, + "flags" : "-O--CK", + "value" : 100, + "threshold" : 0, + "fail" : "-" + }, + { + "flags" : "-O--CK", + "value" : 100, + "raw" : "201", + "worst" : 100, + "name" : "Load_Cycle_Count", + "id" : "193", + "fail" : "-", + "threshold" : 0 + }, + { + "fail" : "-", + "threshold" : 0, + "value" : 31, + "flags" : "-O---K", + "name" : "Temperature_Celsius", + "worst" : 40, + "raw" : "31 (0 17 0 0 0)", + "id" : "194" + }, + { + "value" : 100, + "flags" : "-O--C-", + "id" : "197", + "worst" : 100, + "name" : "Current_Pending_Sector", + "raw" : "0", + "threshold" : 0, + "fail" : "-" + }, + { + "worst" : 100, + "name" : "Offline_Uncorrectable", + "raw" : "0", + "id" : "198", + "value" : 100, + "flags" : "----C-", + "fail" : "-", + "threshold" : 0 + }, + { + "threshold" : 0, + "fail" : "-", + "value" : 200, + "flags" : "-OSRCK", + "id" : "199", + "worst" : 200, + "name" : "UDMA_CRC_Error_Count", + "raw" : "0" + }, + { + "raw" : "1259h+06m+33.546s", + "name" : "Head_Flying_Hours", + "worst" : 253, + "id" : "240", + "flags" : "------", + "value" : 100, + "fail" : "-", + "threshold" : 0 + }, + { + "fail" : "-", + "threshold" : 0, + "name" : "Total_LBAs_Written", + "worst" : 253, + "raw" : "24013587236", + "id" : "241", + "value" : 100, + "flags" : "------" + }, + { + "flags" : "------", + "value" : 100, + "id" : "242", + "raw" : "66916845706732", + "worst" : 253, + "name" : "Total_LBAs_Read", + "threshold" : 0, + "fail" : "-" + } + ], + "health" : "PASSED", + "type" : "ata" +} diff --git a/test/disk_tests/hdd_smart/sda_udevadm b/test/disk_tests/hdd_smart/sda_udevadm new file mode 100644 index 0000000..d9b5497 --- /dev/null +++ b/test/disk_tests/hdd_smart/sda_udevadm @@ -0,0 +1,11 @@ +E: DEVNAME=/dev/sda +E: DEVTYPE=disk +E: ID_ATA_ROTATION_RATE_RPM=5900 +E: ID_BUS=ata +E: ID_MODEL=ST4000DM000-1F2168 +E: ID_PART_TABLE_TYPE=gpt +E: ID_PART_TABLE_UUID=4f2e07a6-5437-2b4e-b6e8-9cba98639324 +E: ID_SERIAL_SHORT=00000000 +E: ID_TYPE=disk +E: ID_WWN=0x0000000000000000 +E: ID_WWN_WITH_EXTENSION=0x0000000000000000 diff --git a/test/disk_tests/hdd_smart/sdb/device/vendor b/test/disk_tests/hdd_smart/sdb/device/vendor new file mode 100644 index 0000000..531030d --- /dev/null +++ b/test/disk_tests/hdd_smart/sdb/device/vendor @@ -0,0 +1 @@ +ATA diff --git a/test/disk_tests/hdd_smart/sdb/queue/rotational b/test/disk_tests/hdd_smart/sdb/queue/rotational new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/test/disk_tests/hdd_smart/sdb/queue/rotational @@ -0,0 +1 @@ +1 diff --git a/test/disk_tests/hdd_smart/sdb/size b/test/disk_tests/hdd_smart/sdb/size new file mode 100644 index 0000000..8bd1af1 --- /dev/null +++ b/test/disk_tests/hdd_smart/sdb/size @@ -0,0 +1 @@ +2000 diff --git a/test/disk_tests/hdd_smart/sdb_health b/test/disk_tests/hdd_smart/sdb_health new file mode 100644 index 0000000..faf4ce3 --- /dev/null +++ b/test/disk_tests/hdd_smart/sdb_health @@ -0,0 +1,5 @@ +smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.4.21-1-pve] (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 diff --git a/test/disk_tests/hdd_smart/sdb_smart b/test/disk_tests/hdd_smart/sdb_smart new file mode 100644 index 0000000..ce52bea --- /dev/null +++ b/test/disk_tests/hdd_smart/sdb_smart @@ -0,0 +1,36 @@ +smartctl 6.4 2014-10-07 r4002 [x86_64-linux-4.4.10-1-pve] (local build) +Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org + +=== START OF READ SMART DATA SECTION === +SMART overall-health self-assessment test result: PASSED + +SMART Attributes Data Structure revision number: 10 +Vendor Specific SMART Attributes with Thresholds: +ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH FAIL RAW_VALUE + 1 Raw_Read_Error_Rate POSR-- 083 063 044 - 215697022 + 3 Spin_Up_Time PO---- 092 091 000 - 0 + 4 Start_Stop_Count -O--CK 100 100 020 - 265 + 5 Reallocated_Sector_Ct PO--CK 100 100 010 - 0 + 7 Seek_Error_Rate POSR-- 091 060 030 - 1572375006 + 9 Power_On_Hours -O--CK 089 089 000 - 9885 + 10 Spin_Retry_Count PO--C- 100 100 097 - 0 + 12 Power_Cycle_Count -O--CK 100 100 020 - 265 +184 End-to-End_Error -O--CK 100 100 099 - 0 +187 Reported_Uncorrect -O--CK 100 100 000 - 0 +188 Command_Timeout -O--CK 100 100 000 - 0 +189 High_Fly_Writes -O--CK 100 100 000 - 0 +190 Airflow_Temperature_Cel -O-RCK 045 036 045 NOW 55 (147 229 55 24 0) +191 G-Sense_Error_Rate -O---K 100 100 000 - 0 +192 Power-Off_Retract_Count -O--CK 100 100 000 - 57 +193 Load_Cycle_Count -O--CK 100 100 000 - 265 +194 Temperature_Celsius -O--CK 055 064 000 - 55 (0 16 0 0 0) +195 Hardware_ECC_Recovered -O---K 023 013 000 - 215697022 +197 Current_Pending_Sector -O--C- 100 100 000 - 0 +198 Offline_Uncorrectable ----C- 100 100 000 - 0 +199 UDMA_CRC_Error_Count -OSRCK 200 200 000 - 0 + ||||||_ K auto-keep + |||||__ C event count + ||||___ R error rate + |||____ S speed/performance + ||_____ O updated online + |______ P prefailure warning diff --git a/test/disk_tests/hdd_smart/sdb_smart_expected.json b/test/disk_tests/hdd_smart/sdb_smart_expected.json new file mode 100644 index 0000000..41e55fb --- /dev/null +++ b/test/disk_tests/hdd_smart/sdb_smart_expected.json @@ -0,0 +1,216 @@ +{ + "attributes" : [ + { + "threshold" : 44, + "fail" : "-", + "id" : " 1", + "name" : "Raw_Read_Error_Rate", + "worst" : 63, + "raw" : "215697022", + "value" : 83, + "flags" : "POSR--" + }, + { + "flags" : "PO----", + "value" : 92, + "id" : " 3", + "raw" : "0", + "worst" : 91, + "name" : "Spin_Up_Time", + "threshold" : 0, + "fail" : "-" + }, + { + "fail" : "-", + "threshold" : 20, + "value" : 100, + "flags" : "-O--CK", + "worst" : 100, + "name" : "Start_Stop_Count", + "raw" : "265", + "id" : " 4" + }, + { + "flags" : "PO--CK", + "value" : 100, + "id" : " 5", + "raw" : "0", + "name" : "Reallocated_Sector_Ct", + "worst" : 100, + "threshold" : 10, + "fail" : "-" + }, + { + "id" : " 7", + "raw" : "1572375006", + "name" : "Seek_Error_Rate", + "worst" : 60, + "flags" : "POSR--", + "value" : 91, + "threshold" : 30, + "fail" : "-" + }, + { + "raw" : "9885", + "name" : "Power_On_Hours", + "worst" : 89, + "id" : " 9", + "flags" : "-O--CK", + "value" : 89, + "fail" : "-", + "threshold" : 0 + }, + { + "fail" : "-", + "threshold" : 97, + "value" : 100, + "flags" : "PO--C-", + "worst" : 100, + "name" : "Spin_Retry_Count", + "raw" : "0", + "id" : " 10" + }, + { + "threshold" : 20, + "fail" : "-", + "id" : " 12", + "raw" : "265", + "name" : "Power_Cycle_Count", + "worst" : 100, + "flags" : "-O--CK", + "value" : 100 + }, + { + "name" : "End-to-End_Error", + "worst" : 100, + "raw" : "0", + "id" : "184", + "value" : 100, + "flags" : "-O--CK", + "fail" : "-", + "threshold" : 99 + }, + { + "threshold" : 0, + "fail" : "-", + "id" : "187", + "raw" : "0", + "name" : "Reported_Uncorrect", + "worst" : 100, + "flags" : "-O--CK", + "value" : 100 + }, + { + "threshold" : 0, + "fail" : "-", + "id" : "188", + "raw" : "0", + "name" : "Command_Timeout", + "worst" : 100, + "flags" : "-O--CK", + "value" : 100 + }, + { + "fail" : "-", + "threshold" : 0, + "raw" : "0", + "worst" : 100, + "name" : "High_Fly_Writes", + "id" : "189", + "flags" : "-O--CK", + "value" : 100 + }, + { + "flags" : "-O-RCK", + "value" : 45, + "raw" : "55 (147 229 55 24 0)", + "worst" : 36, + "name" : "Airflow_Temperature_Cel", + "id" : "190", + "fail" : "NOW", + "threshold" : 45 + }, + { + "fail" : "-", + "threshold" : 0, + "raw" : "0", + "worst" : 100, + "name" : "G-Sense_Error_Rate", + "id" : "191", + "flags" : "-O---K", + "value" : 100 + }, + { + "threshold" : 0, + "fail" : "-", + "id" : "192", + "raw" : "57", + "worst" : 100, + "name" : "Power-Off_Retract_Count", + "flags" : "-O--CK", + "value" : 100 + }, + { + "fail" : "-", + "threshold" : 0, + "value" : 100, + "flags" : "-O--CK", + "name" : "Load_Cycle_Count", + "worst" : 100, + "raw" : "265", + "id" : "193" + }, + { + "threshold" : 0, + "fail" : "-", + "flags" : "-O--CK", + "value" : 55, + "id" : "194", + "raw" : "55 (0 16 0 0 0)", + "name" : "Temperature_Celsius", + "worst" : 64 + }, + { + "threshold" : 0, + "fail" : "-", + "id" : "195", + "name" : "Hardware_ECC_Recovered", + "worst" : 13, + "raw" : "215697022", + "value" : 23, + "flags" : "-O---K" + }, + { + "worst" : 100, + "name" : "Current_Pending_Sector", + "raw" : "0", + "id" : "197", + "value" : 100, + "flags" : "-O--C-", + "fail" : "-", + "threshold" : 0 + }, + { + "worst" : 100, + "name" : "Offline_Uncorrectable", + "raw" : "0", + "id" : "198", + "value" : 100, + "flags" : "----C-", + "fail" : "-", + "threshold" : 0 + }, + { + "fail" : "-", + "threshold" : 0, + "value" : 200, + "flags" : "-OSRCK", + "worst" : 200, + "name" : "UDMA_CRC_Error_Count", + "raw" : "0", + "id" : "199" + } + ], + "type" : "ata", + "health" : "PASSED" +} diff --git a/test/disk_tests/hdd_smart/sdb_udevadm b/test/disk_tests/hdd_smart/sdb_udevadm new file mode 100644 index 0000000..3bc3a57 --- /dev/null +++ b/test/disk_tests/hdd_smart/sdb_udevadm @@ -0,0 +1,11 @@ +E: DEVNAME=/dev/sdb +E: DEVTYPE=disk +E: ID_ATA_ROTATION_RATE_RPM=7200 +E: ID_BUS=ata +E: ID_MODEL=ST4000NM0033-9ZM170 +E: ID_PART_TABLE_TYPE=gpt +E: ID_PART_TABLE_UUID=4f2e07a6-5437-2b4e-b6e8-9cba98639324 +E: ID_SERIAL_SHORT=00000000 +E: ID_TYPE=disk +E: ID_WWN=0x0000000000000000 +E: ID_WWN_WITH_EXTENSION=0x0000000000000000 -- 2.1.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel