Can I replace a drive during resilvering?

I had two disk with problems, and the spares took over.
Now the pool is in resilvering mode, 9+ days to finish, and my question is: can I replace a drive while the pool is resilvering?

Thanks!

Replacing involves a resilver… which is already running. So unless I’m really wrong; no, you cannot replacing while a resilver is already running.

You could stop the resilver & replace manually, but do so at your own risk tolerance imo.

That being said usually the ETA ain’t very correct at first & should be decreasing actively; unless you got something bad like SMR drives for example.

Edit: apparently if you replace a second disk while resilver is running, it’ll just restart the resilver. So honestly less risky than I might have originally implied; if you got the ports to keep everything connected at the same time it’d prolly be the best way to do it all at once without disconnecting anything.

post your TrueNAS hardware details and look up the drive models you have to make sure they are CMR and not SMR type for recording tech.

Expand Fleshmauler’s ‘See my freeNAS system’ to get an idea of the kind of details we’re looking for in a hardware listing

Thanks for the update; I will let the resilver finish as well to have an idea how long it takes.

Thanks for the tip! Where did you placed the description: in the About Me field or Signature field?

I ended up putting it in both as I have nothing interesting to share about myself, but realistically you’d only need it in the Signature field.

This may help with Sig.

[details=“Click me to see more”]
TEXT IN SIGNATURE
[/details]

we have, it’s called details.
[details="Summary"] This text will be hidden [/details]
Summary

[spoiler]current spoiler is old inline spoiler[/spoiler]

What is looks like posted

Click me to see more

TEXT IN SIGNATURE

we have, it’s called details.

Summary

This text will be hidden

Summary

current spoiler is old inline spoiler

Posted some details, it seems all drives are CMR.

1 Like

Ps: the two failed drives are on SATA-pool, the other pool is healty and work flawlessy.

9 Days estimated seems a bit crazy for the pools you have. Are you also doing a Scrub or possibly a SMART long test? Well a SMART test should take a back seat to any other activity. Is your system being accessed enough to cause a significant slowdown? It looks like you have a good system going on.

Run the command zpool status and post the output. If the system is running a Scrub, stop it.

No scrubs going on, pool snapshot not done due to the errors. No SMART tests so far.
At the moment the system is not overtaxed, and here is the output

admin@TNscale20bay[~]$ sudo zpool status SATA-pool
pool: SATA-pool
state: UNAVAIL
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Thu Nov 28 00:27:15 2024
987G / 987G scanned, 20.0G / 327G issued at 314K/s
19.6G resilvered, 6.10% done, no estimated completion time
config:

    NAME                                        STATE     READ WRITE CKSUM
    SATA-pool                                   UNAVAIL      0     0     0  insufficient replicas
      mirror-0                                  UNAVAIL      2    18     0  insufficient replicas
        c8f6b750-b6e4-49cd-bd6a-900abf16f428    REMOVED      0     0     0
        f1dc7ad5-bb2d-4a57-b246-1efa2528982f    FAULTED    113   347   240  too many errors
      mirror-1                                  DEGRADED     0     0     0
        b2ad3e98-7fca-4e85-a833-8a400da103cb    ONLINE       0     0     0
        spare-1                                 DEGRADED     1     0     0
          53ceb564-4db0-47b2-92e6-a2b9725ff3a6  REMOVED      0     0     0
          25e2daa8-f839-4cb6-ad95-bf9bed968eaf  ONLINE       0     0     6  (resilvering)
      mirror-2                                  DEGRADED     0     0     0
        spare-0                                 DEGRADED     0     0     0
          04281099-6984-4e3a-8a38-a61f2ff04bb3  REMOVED      0     0     0
          09bfcea9-1165-4b6a-8b04-ef0b5607e38d  ONLINE       0     0     0  (resilvering)
        58d0ad6e-3b1d-4bc9-81a9-6c3f9239b10b    ONLINE       0     0     0
    spares
      09bfcea9-1165-4b6a-8b04-ef0b5607e38d      INUSE     currently in use
      25e2daa8-f839-4cb6-ad95-bf9bed968eaf      INUSE     currently in use

errors: No known data errors
admin@TNscale20bay[~]$

Out of curiosity, why the wait for so long before replacing the failing drives? I would expect that you didn’t have access, however that is a lot of drive failures. You have a 3-way mirror which is good, however you have a problem disk in each of the mirrors.

And I agree, wait until the drives installed complete resilvering and you have removed the replaced drives before replacing any more drives.

Now for the kicker! Why are you replacing the drives? What failure indication warrants it?

This is where you should run smartctl -x /dev/sd? and examine the output. I would do this for all of your drives just to cover all the bases. See if the drives are actually failing or if there was a data integrity issue elsewhere. If you are not certain what you are looking at, post the data here and we can examine it for you and tell you if you have a drive failure. There is no need to replace a drive before it’s time.

If I am reading this correctly this is VERY worrying. It says that this pool is unavailable because 1 of the mirrored vDevs is unavailable because one drive in the mirror has disappeared and the other is faulted.

If this is the case, and if the vDev cannot be recovered then the resilvering is waste of time because your pool is effectively gone!!

Given that 1) you have apparently had 4x drives failed at the same time out of 6 in use, and 2) the resilvering of the two drives is taking way longer than might be expected for a mirror resilver of a 4TB drive, it sounds like you have a major hardware problem that needs looking at.

At this point, I am wondering what this hardware problem is, whether the resilvers will ever complete and whether the stress of resilvering could cause the other two good disks to fail.

My personal gut reaction is that you should:

  1. Stop the resilvers to stop additional stress being put on the remaining disks;
  2. Focus on getting the first vDev online so that the pool comes back online and you can back up your data.
  3. Once the data is safe elsewhere, work on getting the hardware solid, and this pool back in shape, even if it means recreating this pool from scratch.
1 Like

Not really: the two spare drives took over two sane disks in mirror-1 and mirror-2 vdevs, and I do not understand why TrueNAS Scale didn’t used the two spare on mirror-0 with the faulted drive.

How?

Probably you’re correct, the pool is toasted. I do have snapshots from where a recover (I hope) might be done, but I wish learn first how to get out this very bad situation.

Since the mirror-0 is unavailable TrueNAS Scale won’t let me repace any disk; the same for the other two mirrors in degraded mode

Legit curiosity: the mishap happened in one night and I had no time to apply remedies.
The entire pool hardware - HBA, cables, one of the two backplane - was replaced due to the same error happened to the same pool recently, so I took the hard way replacing everything (except one backplane) to avoid this kind of situation. But Murphy didn’t agree…

Drive sda (the one with STATE FAULTED in zpool status post, ending -982f) is part of mirror-0 and the one really TFU
The command report: INQUIRY failed.
That’s normal since the drive is gone and need to be replaced, I understand this.

The other mirror-0 drive is sdc (ending -f428) has been removed by TN from the pool for reasons beyond my comprehension, since is seems healthy to me:

admin@TNscale20bay[~]$ sudo smartctl -x /dev/sdc
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.6.44-production+truenas] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Constellation ES.3
Device Model:     ST4000NM0033-9ZM170
Serial Number:    Z1Z5D19P
LU WWN Device Id: 5 000c50 0792eb996
Firmware Version: SN07
User Capacity:    4,000,787,030,016 bytes [4.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database 7.3/5625
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sun Dec  1 10:11:32 2024 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is:   Unavailable
APM feature is:   Unavailable
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, NOT FROZEN [SEC1]
Wt Cache Reorder: Enabled

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

General SMART Values:
Offline data collection status:  (0x82) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Enabled.
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:                (  592) seconds.
Offline data collection
capabilities:                    (0x7b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves 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:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 501) minutes.
Conveyance self-test routine
recommended polling time:        (   2) minutes.
SCT capabilities:              (0x50bd) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

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--   081   063   044    -    124447237
  3 Spin_Up_Time            PO----   098   092   000    -    0
  4 Start_Stop_Count        -O--CK   100   100   020    -    109
  5 Reallocated_Sector_Ct   PO--CK   100   100   010    -    0
  7 Seek_Error_Rate         POSR--   093   060   030    -    1934066723
  9 Power_On_Hours          -O--CK   057   057   000    -    38324
 10 Spin_Retry_Count        PO--C-   100   100   097    -    0
 12 Power_Cycle_Count       -O--CK   100   100   020    -    102
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   099   000    -    4295032833
189 High_Fly_Writes         -O-RCK   100   100   000    -    0
190 Airflow_Temperature_Cel -O---K   066   051   045    -    34 (Min/Max 33/37)
191 G-Sense_Error_Rate      -O--CK   100   100   000    -    0
192 Power-Off_Retract_Count -O--CK   100   100   000    -    138
193 Load_Cycle_Count        -O--CK   098   098   000    -    4286
194 Temperature_Celsius     -O---K   034   049   000    -    34 (0 18 0 0 0)
195 Hardware_ECC_Recovered  -O-RC-   034   008   000    -    124447237
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   189   000    -    12
                            ||||||_ 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      5  Comprehensive SMART error log
0x03       GPL     R/O      5  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
0x08       GPL     R/O      2  Power Conditions log
0x09           SL  R/W      1  Selective self-test log
0x10       GPL     R/O      1  NCQ Command Error log
0x11       GPL     R/O      1  SATA Phy Event Counters log
0x21       GPL     R/O      1  Write stream error log
0x22       GPL     R/O      1  Read stream error log
0x24       GPL     R/O    512  Current Device Internal Status Data log
0x30       GPL,SL  R/O      9  IDENTIFY DEVICE data log
0x80-0x9f  GPL,SL  R/W     16  Host vendor specific log
0xa1       GPL,SL  VS      20  Device vendor specific log
0xa2       GPL     VS    4496  Device vendor specific log
0xa6       GPL     VS     192  Device vendor specific log
0xa8       GPL,SL  VS     129  Device vendor specific log
0xa9       GPL,SL  VS       1  Device vendor specific log
0xad       GPL     VS      16  Device vendor specific log
0xb0       GPL     VS    5176  Device vendor specific log
0xbd       GPL     VS     512  Device vendor specific log
0xbe-0xbf  GPL     VS   65535  Device vendor specific log
0xc1       GPL,SL  VS      10  Device vendor specific log
0xc3       GPL,SL  VS       8  Device vendor specific log
0xd1       GPL     VS      39  Device vendor specific log
0xe0       GPL,SL  R/W      1  SCT Command/Status
0xe1       GPL,SL  R/W      1  SCT Data Transfer

SMART Extended Comprehensive Error Log Version: 1 (5 sectors)
No Errors Logged

SMART Extended Self-test Log Version: 1 (1 sectors)
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     38309         -
# 2  Short offline       Completed without error       00%     38285         -
# 3  Short offline       Completed without error       00%     38261         -
# 4  Extended offline    Interrupted (host reset)      00%     38242         -
# 5  Short offline       Completed without error       00%     38237         -
# 6  Short offline       Completed without error       00%     38213         -
# 7  Short offline       Completed without error       00%     38189         -
# 8  Short offline       Completed without error       00%     38165         -
# 9  Short offline       Completed without error       00%     38141         -
#10  Short offline       Completed without error       00%     38117         -
#11  Short offline       Completed without error       00%     38093         -
#12  Extended offline    Completed without error       00%     38082         -
#13  Short offline       Completed without error       00%     38069         -
#14  Short offline       Completed without error       00%     38045         -
#15  Short offline       Completed without error       00%     38021         -
#16  Short offline       Completed without error       00%     37997         -
#17  Short offline       Completed without error       00%     37973         -
#18  Short offline       Completed without error       00%     37949         -
#19  Short offline       Completed without error       00%     37925         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

SCT Status Version:                  3
SCT Version (vendor specific):       522 (0x020a)
Device State:                        Active (0)
Current Temperature:                    34 Celsius
Power Cycle Min/Max Temperature:     33/37 Celsius
Lifetime    Min/Max Temperature:     17/50 Celsius
Under/Over Temperature Limit Count:   0/490

SCT Temperature History Version:     2
Temperature Sampling Period:         1 minute
Temperature Logging Interval:        10 minutes
Min/Max recommended Temperature:      0/ 0 Celsius
Min/Max Temperature Limit:            0/ 0 Celsius
Temperature History Size (Index):    128 (34)

Index    Estimated Time   Temperature Celsius
  35    2024-11-30 13:00    34  ***************
 ...    ..(  5 skipped).    ..  ***************
  41    2024-11-30 14:00    34  ***************
  42    2024-11-30 14:10    33  **************
  43    2024-11-30 14:20    34  ***************
 ...    ..(  3 skipped).    ..  ***************
  47    2024-11-30 15:00    34  ***************
  48    2024-11-30 15:10    33  **************
  49    2024-11-30 15:20    34  ***************
  50    2024-11-30 15:30    34  ***************
  51    2024-11-30 15:40    33  **************
  52    2024-11-30 15:50    34  ***************
  53    2024-11-30 16:00    34  ***************
  54    2024-11-30 16:10    34  ***************
  55    2024-11-30 16:20    35  ****************
  56    2024-11-30 16:30    34  ***************
 ...    ..( 14 skipped).    ..  ***************
  71    2024-11-30 19:00    34  ***************
  72    2024-11-30 19:10    33  **************
  73    2024-11-30 19:20    34  ***************
  74    2024-11-30 19:30    33  **************
 ...    ..( 36 skipped).    ..  **************
 111    2024-12-01 01:40    33  **************
 112    2024-12-01 01:50    34  ***************
 113    2024-12-01 02:00    33  **************
 ...    ..( 48 skipped).    ..  **************
  34    2024-12-01 10:10    33  **************

SCT Error Recovery Control:
           Read:    100 (10.0 seconds)
          Write:    100 (10.0 seconds)

Device Statistics (GP Log 0x04)
Page  Offset Size        Value Flags Description
0x01  =====  =               =  ===  == General Statistics (rev 1) ==
0x01  0x008  4             102  ---  Lifetime Power-On Resets
0x01  0x010  4           38324  ---  Power-on Hours
0x01  0x018  6     13597281088  ---  Logical Sectors Written
0x01  0x020  6        29625849  ---  Number of Write Commands
0x01  0x028  6     25594041168  ---  Logical Sectors Read
0x01  0x030  6       250053712  ---  Number of Read Commands
0x01  0x038  6               -  ---  Date and Time TimeStamp
0x03  =====  =               =  ===  == Rotating Media Statistics (rev 1) ==
0x03  0x008  4      2735009395  N--  Spindle Motor Power-on Hours
0x03  0x010  4      2735006002  N--  Head Flying Hours
0x03  0x018  4            4286  ---  Head Load Events
0x03  0x020  4               0  ---  Number of Reallocated Logical Sectors
0x03  0x028  4               0  ---  Read Recovery Attempts
0x03  0x030  4               0  ---  Number of Mechanical Start Failures
0x03  0x038  4               0  ---  Number of Realloc. Candidate Logical Sectors
0x03  0x040  4             139  ---  Number of High Priority Unload Events
0x04  =====  =               =  ===  == General Errors Statistics (rev 1) ==
0x04  0x008  4               0  ---  Number of Reported Uncorrectable Errors
0x04  0x010  4               1  ---  Resets Between Cmd Acceptance and Completion
0x05  =====  =               =  ===  == Temperature Statistics (rev 1) ==
0x05  0x008  1              34  ---  Current Temperature
0x05  0x020  1              49  ---  Highest Temperature
0x05  0x028  1              23  ---  Lowest Temperature
0x05  0x030  1               -  ---  Highest Average Short Term Temperature
0x05  0x038  1               -  ---  Lowest Average Short Term Temperature
0x05  0x040  1               -  ---  Highest Average Long Term Temperature
0x05  0x048  1               -  ---  Lowest Average Long Term Temperature
0x05  0x050  4               0  ---  Time in Over-Temperature
0x05  0x058  1              60  ---  Specified Maximum Operating Temperature
0x05  0x060  4               0  ---  Time in Under-Temperature
0x05  0x068  1               5  ---  Specified Minimum Operating Temperature
                                |||_ 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
0x000a  2            1  Device-to-host register FISes sent due to a COMRESET
0x0001  2            0  Command failed due to ICRC error
0x0003  2            0  R_ERR response for device-to-host data FIS
0x0004  2            0  R_ERR response for host-to-device data FIS
0x0006  2            0  R_ERR response for device-to-host non-data FIS
0x0007  2            0  R_ERR response for host-to-device non-data FIS

Seagate FARM log (GP Log 0xa6) supported [try: -l farm]

admin@TNscale20bay[~]$ 

Let’s analyse this vdev first, before going to the other two.

Simply because there was no available spare.
Once a spare kicks in, ZFS will never release it automatically: The administrator has to assess the situation and make a decision to release or replace drives.

ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     POSR--   081   063   044    -    124447237
  7 Seek_Error_Rate         POSR--   093   060   030    -    1934066723
  9 Power_On_Hours          -O--CK   057   057   000    -    38324
188 Command_Timeout         -O--CK   100   099   000    -    4295032833
195 Hardware_ECC_Recovered  -O-RC-   034   008   000    -    124447237
199 UDMA_CRC_Error_Count    -OSRCK   200   189   000    -    12

The above are the SMART attributes that interest me:

  • 38324 hours is just over 4 years - which is not that long for an HDD.
  • I am not too worried about 12 CRC errors over these 4+ years.
  • But the other number are pretty high and seem to me to indicate an electrmechanical fault.

I cannot tell from this whether the disk is so dead that recovering data from it will be impossible (without using a specialised data recovery service) or whether some data might be recoverable.

But I definitely wouldn’t keep using it once I had data safe.

Seagate drives… #1, #7, and possible other parameters are not directly readable.
#5, #197 are healthy.

The only thing I see wrong is:

  1. You do not have a recent SMART Extended/Long test, the last one you aborted, could have been you powered down the unit. Run a Long test, ensure it completes without failure, then you can have a little faith the drive is in good condition.
  2. The 12 UDMA_CRC_Errors are not a huge concern unless they are incrementing. They never decrease but if they increment then you likely have a data cable issue (that is the most common cause). But don’t fiddle with anything unless that count increases.

As for values in #1 and #7, only if a value is higher than 4,294,967,295 (Hex FFFFFFFF) does it become an actual error count for Seagate drives. You will also note that these are “Rate” values, meaning they will change up and down depending on the amount of usage they get. But do not be fooled into thinking these are actual errors. If you have a drive that is normally a zero value, and it changes, then pay attention to it, however if the value seems all over the place from the first day you powered it on, it is not a problem unless it is a value above that I listed.

The last extended was at 38082 hrs

#12  Extended offline    Completed without error       00%     38082

Mishap happened at 38324 hrs

0x01  0x010  4           38324  ---  Power-on Hours

There are news anyway: I’m recovering the pool and post my steps asap.

1 Like