Boot pool Degraded - long SMART pass

Hello everyone,
this morning I noticed my boot pool shows as degraded, I did go through the other discussion to try figure out what’s the problem, and I’m not sure how to proceed.

These are the spec of the server in question

Ryzen 5600x
ASROCK X470D4U2-2T
SAS HBA LSI 9201-8i
2x32GB Corsair CMK64GX4M2E3200C16
4x6TB Seagate IronWolf ST6000VN001 NAS
1x Kingston A400 120GB (boot)
1x Samsung 970EVO 1TB (Plex cache)
Nvidia GTX1050

Following some other discussion I did run a long SMART test on the boot drive, and it passed, these are some of the data you might need

root@truenas[~]# smartctl -x /dev/sdd
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.6.32-production+truenas] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Phison Driven SSDs
Device Model:     KINGSTON SA400S37120G
Serial Number:    50026B73815A422D
LU WWN Device Id: 5 0026b7 3815a422d
Firmware Version: S3H01103
User Capacity:    120,034,123,776 bytes [120 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
TRIM Command:     Available
Device is:        In smartctl database 7.3/5528
ATA Version is:   ACS-3 T13/2161-D revision 4
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue Oct 29 11:11:02 2024 GMT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is:   Unavailable
APM feature is:   Disabled
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, frozen [SEC2]
Wt Cache Reorder: Unavailable

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

General SMART Values:
Offline data collection status:  (0x02) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run.
Total time to complete Offline 
data collection:                (  120) seconds.
Offline data collection
capabilities:                    (0x11) SMART execute Offline immediate.
                                        No Auto Offline data collection support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        No Selective Self-test supported.
SMART capabilities:            (0x0002) Does not save SMART data before
                                        entering power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  10) minutes.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     -O--CK   100   100   000    -    100
  9 Power_On_Hours          -O--CK   100   100   000    -    21839
 12 Power_Cycle_Count       -O--CK   100   100   000    -    55
148 Unknown_Attribute       ------   100   100   000    -    0
149 Unknown_Attribute       ------   100   100   000    -    0
167 Write_Protect_Mode      ------   100   100   000    -    0
168 SATA_Phy_Error_Count    -O--C-   100   100   000    -    2
169 Bad_Block_Rate          ------   100   100   000    -    0
170 Bad_Blk_Ct_Lat/Erl      ------   100   100   010    -    0/0
172 Erase_Fail_Count        -O--CK   100   100   000    -    0
173 MaxAvgErase_Ct          ------   100   100   000    -    0
181 Program_Fail_Count      -O--CK   100   100   000    -    0
182 Erase_Fail_Count        ------   100   100   000    -    0
187 Reported_Uncorrect      -O--CK   100   100   000    -    0
192 Unsafe_Shutdown_Count   -O--C-   100   100   000    -    9
194 Temperature_Celsius     -O---K   033   044   000    -    33 (Min/Max 24/44)
196 Reallocated_Event_Count -O--CK   100   100   000    -    0
199 SATA_CRC_Error_Count    -O--CK   100   100   000    -    0
218 CRC_Error_Count         -O--CK   100   100   000    -    2
231 SSD_Life_Left           ------   087   087   000    -    87
233 Flash_Writes_GiB        -O--CK   100   100   000    -    2590
241 Lifetime_Writes_GiB     -O--CK   100   100   000    -    2886
242 Lifetime_Reads_GiB      -O--CK   100   100   000    -    814
244 Average_Erase_Count     ------   100   100   000    -    97
245 Max_Erase_Count         ------   100   100   000    -    146
246 Total_Erase_Count       ------   100   100   000    -    51361
                            ||||||_ K auto-keep
                            |||||__ C event count
                            ||||___ R error rate
                            |||____ S speed/performance
                            ||_____ O updated online
                            |______ P prefailure warning

General Purpose Log Directory Version 1
SMART           Log Directory Version 1 [multi-sector log support]
Address    Access  R/W   Size  Description
0x00       GPL,SL  R/O      1  Log Directory
0x01           SL  R/O      1  Summary SMART error log
0x02           SL  R/O      1  Comprehensive SMART error log
0x03       GPL     R/O      1  Ext. Comprehensive SMART error log
0x04       GPL,SL  R/O      8  Device Statistics log
0x06           SL  R/O      1  SMART self-test log
0x07       GPL     R/O      1  Extended self-test log
0x10       GPL     R/O      1  NCQ Command Error log
0x11       GPL     R/O      1  SATA Phy Event Counters log
0x30       GPL,SL  R/O      9  IDENTIFY DEVICE data log
0x80-0x9f  GPL,SL  R/W     16  Host vendor specific log
0xde       GPL     VS       8  Device vendor specific log

SMART Extended Comprehensive Error Log Version: 1 (1 sectors)
Device Error Count: 2
        CR     = Command Register
        FEATR  = Features Register
        COUNT  = Count (was: Sector Count) Register
        LBA_48 = Upper bytes of LBA High/Mid/Low Registers ]  ATA-8
        LH     = LBA High (was: Cylinder High) Register    ]   LBA
        LM     = LBA Mid (was: Cylinder Low) Register      ] Register
        LL     = LBA Low (was: Sector Number) Register     ]
        DV     = Device (was: Device/Head) Register
        DC     = Device Control Register
        ER     = Error register
        ST     = Status register
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 2 [1] log entry is empty
Error 1 [0] log entry is empty
SMART Extended Self-test Log Version: 1 (1 sectors)
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     21838         -
# 2  Extended offline    Interrupted (host reset)      90%     21838         -
# 3  Short offline       Interrupted (host reset)      90%     21779         -
# 4  Short offline       Completed without error       00%     21612         -
# 5  Short offline       Completed without error       00%     21445         -
# 6  Short offline       Completed without error       00%     21278         -
# 7  Short offline       Completed without error       00%     21111         -
# 8  Short offline       Completed without error       00%     20943         -
# 9  Short offline       Completed without error       00%     20776         -
#10  Short offline       Completed without error       00%     20611         -

Selective Self-tests/Logging not supported

SCT Commands not supported

Device Statistics (GP Log 0x04)
Page  Offset Size        Value Flags Description
0x01  =====  =               =  ===  == General Statistics (rev 1) ==
0x01  0x008  4              55  ---  Lifetime Power-On Resets
0x01  0x010  4           21839  ---  Power-on Hours
0x01  0x018  6      1759243413  ---  Logical Sectors Written
0x01  0x020  6        34364151  ---  Number of Write Commands
0x01  0x028  6      1708712593  ---  Logical Sectors Read
0x01  0x030  6         1179125  ---  Number of Read Commands
0x07  =====  =               =  ===  == Solid State Device Statistics (rev 1) ==
0x07  0x008  1              14  ---  Percentage Used Endurance Indicator
                                |||_ C monitored condition met
                                ||__ D supports DSN
                                |___ N normalized value

Pending Defects log (GP Log 0x0c) not supported

SATA Phy Event Counters (GP Log 0x11)
ID      Size     Value  Description
0x0001  4            2  Command failed due to ICRC error
0x0002  4            2  R_ERR response for data FIS
0x0005  4            0  R_ERR response for non-data FIS
0x000a  4            4  Device-to-host register FISes sent due to a COMRESET

So, you have 2 CRC errors which is not good. Might be cable issues, you might want to swap 2 to see if it follows the dirve, or, replace the bad one and see if the problem goes away. At least re-seat them.

1 Like

I swapped the SATA cable to the boot SSD, how do I check if that solved anything?
Running again zpool status -v shows this now


root@truenas[~]# zpool status -v     
  pool: arcadia
 state: ONLINE
  scan: scrub repaired 0B in 03:10:36 with 0 errors on Sun Sep 29 03:10:38 2024
config:

        NAME                                      STATE     READ WRITE CKSUM
        arcadia                                   ONLINE       0     0     0
          mirror-0                                ONLINE       0     0     0
            13b77de5-aa34-11ec-8b71-a8a159365071  ONLINE       0     0     0
            13c563c3-aa34-11ec-8b71-a8a159365071  ONLINE       0     0     0
          mirror-1                                ONLINE       0     0     0
            13d906da-aa34-11ec-8b71-a8a159365071  ONLINE       0     0     0
            13ceeb3a-aa34-11ec-8b71-a8a159365071  ONLINE       0     0     0

errors: No known data errors

  pool: boot-pool
 state: DEGRADED
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-9P
  scan: scrub repaired 0B in 00:00:37 with 0 errors on Fri Nov  1 03:45:38 2024
config:

        NAME        STATE     READ WRITE CKSUM
        boot-pool   DEGRADED     0     0     0
          sde3      DEGRADED     0     0     0  too many errors

errors: No known data errors

  pool: plex_nvme
 state: ONLINE
  scan: scrub repaired 0B in 00:00:01 with 0 errors on Sun Sep 29 00:00:02 2024
config:

        NAME                                    STATE     READ WRITE CKSUM
        plex_nvme                               ONLINE       0     0     0
          570173b5-aafb-11ec-a9e1-a8a159365071  ONLINE       0     0     0

errors: No known data errors
root@truenas[~]# smartctl -x /dev/sde
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.6.32-production+truenas] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Phison Driven SSDs
Device Model:     KINGSTON SA400S37120G
Serial Number:    50026B73815A422D
LU WWN Device Id: 5 0026b7 3815a422d
Firmware Version: S3H01103
User Capacity:    120,034,123,776 bytes [120 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
TRIM Command:     Available
Device is:        In smartctl database 7.3/5528
ATA Version is:   ACS-3 T13/2161-D revision 4
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Fri Nov  1 09:56:21 2024 GMT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is:   Unavailable
APM feature is:   Disabled
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, frozen [SEC2]
Wt Cache Reorder: Unavailable

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

General SMART Values:
Offline data collection status:  (0x02) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run.
Total time to complete Offline 
data collection:                (  120) seconds.
Offline data collection
capabilities:                    (0x11) SMART execute Offline immediate.
                                        No Auto Offline data collection support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        No Selective Self-test supported.
SMART capabilities:            (0x0002) Does not save SMART data before
                                        entering power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  10) minutes.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     -O--CK   100   100   000    -    100
  9 Power_On_Hours          -O--CK   100   100   000    -    21909
 12 Power_Cycle_Count       -O--CK   100   100   000    -    56
148 Unknown_Attribute       ------   100   100   000    -    0
149 Unknown_Attribute       ------   100   100   000    -    0
167 Write_Protect_Mode      ------   100   100   000    -    0
168 SATA_Phy_Error_Count    -O--C-   100   100   000    -    2
169 Bad_Block_Rate          ------   100   100   000    -    0
170 Bad_Blk_Ct_Lat/Erl      ------   100   100   010    -    0/0
172 Erase_Fail_Count        -O--CK   100   100   000    -    0
173 MaxAvgErase_Ct          ------   100   100   000    -    0
181 Program_Fail_Count      -O--CK   100   100   000    -    0
182 Erase_Fail_Count        ------   100   100   000    -    0
187 Reported_Uncorrect      -O--CK   100   100   000    -    0
192 Unsafe_Shutdown_Count   -O--C-   100   100   000    -    9
194 Temperature_Celsius     -O---K   032   044   000    -    32 (Min/Max 24/44)
196 Reallocated_Event_Count -O--CK   100   100   000    -    0
199 SATA_CRC_Error_Count    -O--CK   100   100   000    -    0
218 CRC_Error_Count         -O--CK   100   100   000    -    2
231 SSD_Life_Left           ------   086   086   000    -    86
233 Flash_Writes_GiB        -O--CK   100   100   000    -    2616
241 Lifetime_Writes_GiB     -O--CK   100   100   000    -    2986
242 Lifetime_Reads_GiB      -O--CK   100   100   000    -    834
244 Average_Erase_Count     ------   100   100   000    -    100
245 Max_Erase_Count         ------   100   100   000    -    146
246 Total_Erase_Count       ------   100   100   000    -    52858
                            ||||||_ K auto-keep
                            |||||__ C event count
                            ||||___ R error rate
                            |||____ S speed/performance
                            ||_____ O updated online
                            |______ P prefailure warning

General Purpose Log Directory Version 1
SMART           Log Directory Version 1 [multi-sector log support]
Address    Access  R/W   Size  Description
0x00       GPL,SL  R/O      1  Log Directory
0x01           SL  R/O      1  Summary SMART error log
0x02           SL  R/O      1  Comprehensive SMART error log
0x03       GPL     R/O      1  Ext. Comprehensive SMART error log
0x04       GPL,SL  R/O      8  Device Statistics log
0x06           SL  R/O      1  SMART self-test log
0x07       GPL     R/O      1  Extended self-test log
0x10       GPL     R/O      1  NCQ Command Error log
0x11       GPL     R/O      1  SATA Phy Event Counters log
0x30       GPL,SL  R/O      9  IDENTIFY DEVICE data log
0x80-0x9f  GPL,SL  R/W     16  Host vendor specific log
0xde       GPL     VS       8  Device vendor specific log

SMART Extended Comprehensive Error Log Version: 1 (1 sectors)
Device Error Count: 2
        CR     = Command Register
        FEATR  = Features Register
        COUNT  = Count (was: Sector Count) Register
        LBA_48 = Upper bytes of LBA High/Mid/Low Registers ]  ATA-8
        LH     = LBA High (was: Cylinder High) Register    ]   LBA
        LM     = LBA Mid (was: Cylinder Low) Register      ] Register
        LL     = LBA Low (was: Sector Number) Register     ]
        DV     = Device (was: Device/Head) Register
        DC     = Device Control Register
        ER     = Error register
        ST     = Status register
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 2 [1] log entry is empty
Error 1 [0] log entry is empty
SMART Extended Self-test Log Version: 1 (1 sectors)
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     21909         -
# 2  Extended offline    Completed without error       00%     21838         -
# 3  Extended offline    Interrupted (host reset)      90%     21838         -
# 4  Short offline       Interrupted (host reset)      90%     21779         -
# 5  Short offline       Completed without error       00%     21612         -
# 6  Short offline       Completed without error       00%     21445         -
# 7  Short offline       Completed without error       00%     21278         -
# 8  Short offline       Completed without error       00%     21111         -
# 9  Short offline       Completed without error       00%     20943         -
#10  Short offline       Completed without error       00%     20776         -
#11  Short offline       Completed without error       00%     20611         -

Selective Self-tests/Logging not supported

SCT Commands not supported

Device Statistics (GP Log 0x04)
Page  Offset Size        Value Flags Description
0x01  =====  =               =  ===  == General Statistics (rev 1) ==
0x01  0x008  4              56  ---  Lifetime Power-On Resets
0x01  0x010  4           21909  ---  Power-on Hours
0x01  0x018  6      1967825973  ---  Logical Sectors Written
0x01  0x020  6           37804  ---  Number of Write Commands
0x01  0x028  6      1750741126  ---  Logical Sectors Read
0x01  0x030  6           27002  ---  Number of Read Commands
0x07  =====  =               =  ===  == Solid State Device Statistics (rev 1) ==
0x07  0x008  1              14  ---  Percentage Used Endurance Indicator
                                |||_ C monitored condition met
                                ||__ D supports DSN
                                |___ N normalized value

Pending Defects log (GP Log 0x0c) not supported

SATA Phy Event Counters (GP Log 0x11)
ID      Size     Value  Description
0x0001  4            0  Command failed due to ICRC error
0x0002  4            0  R_ERR response for data FIS
0x0005  4            0  R_ERR response for non-data FIS
0x000a  4            2  Device-to-host register FISes sent due to a COMRESET

Should I run another SMART test and see if new errors pops up?

run a zpool clear - to clear the error and then scrub the pool - see what happens

1 Like

Done, I upgraded the boot pool as well and ran the scrub, it seems fine now.

root@truenas[~]# zpool status -v
  pool: arcadia
 state: ONLINE
  scan: scrub repaired 0B in 03:10:36 with 0 errors on Sun Sep 29 03:10:38 2024
config:

        NAME                                      STATE     READ WRITE CKSUM
        arcadia                                   ONLINE       0     0     0
          mirror-0                                ONLINE       0     0     0
            13b77de5-aa34-11ec-8b71-a8a159365071  ONLINE       0     0     0
            13c563c3-aa34-11ec-8b71-a8a159365071  ONLINE       0     0     0
          mirror-1                                ONLINE       0     0     0
            13d906da-aa34-11ec-8b71-a8a159365071  ONLINE       0     0     0
            13ceeb3a-aa34-11ec-8b71-a8a159365071  ONLINE       0     0     0

errors: No known data errors

  pool: boot-pool
 state: ONLINE
  scan: scrub repaired 0B in 00:00:39 with 0 errors on Fri Nov  1 14:40:38 2024
config:

        NAME        STATE     READ WRITE CKSUM
        boot-pool   ONLINE       0     0     0
          sde3      ONLINE       0     0     0

errors: No known data errors

  pool: plex_nvme
 state: ONLINE
  scan: scrub repaired 0B in 00:00:01 with 0 errors on Sun Sep 29 00:00:02 2024
config:

        NAME                                    STATE     READ WRITE CKSUM
        plex_nvme                               ONLINE       0     0     0
          570173b5-aafb-11ec-a9e1-a8a159365071  ONLINE       0     0     0

errors: No known data errors
root@truenas[~]# 

Do I simply keep an eye on it to see if any further error pops up?
Also, is there a way to schedule a scrub of the boot pool? I already scheduled scrubs for the other pools, but I can’t add one for the boot pool

It’s under System>Boot>Actions

1 Like

The boot pool should automatically scrub by default, once a month. Read the TrueNAS documentation located in the GUI and on the website to configure this. There is a lot of good information in the docs.

Also, i recommend running a daily short smart test on all drives and a weekly smart long test.

As for the CRC errors on that boot drive, those never go down so the object is to ensure they do not go up. Typically it is a SATA.cable issue as previously mentioned.

1 Like

Thank you both, I didn’t notice that.
I’ll be honest, my TrueNAS knowledge it’s really sparse. I followed some guides to do the basic setup and then I pretty much move from google search to google search when something pops up.
I swapped my SMART tests to run short test Mon to Friday and a long test on Sunday on all drives.
I found the boot pool scrub schedule and indeed noticed that’s set on a 7 days schedule.
Thanks a lot for the help, on my way now to bin the old SATA cable :smiley: