4

I ordered some spare hard drives to replace a failed hard drive in my zfs pool (raidz2 with 12 10TB hard drives on a supermicro server running Ubuntu). I made sure to order hard drives with the exact same model number as those already in the pool (HUH721010AL5200). However, it appears that the new ones I received are Dell OEM, while the original drives are Western Digital.

When I tried to replace the failed (WD) hard drive with a new one (Dell), the zfs replace command failed with the following error message: "Device is tool small".

Upon closer inspection, it appears that the two drives have a different number of sectors.

Here is the result of gdisk for my new drive:

gdisk -l /dev/sdi GPT fdisk (gdisk) version 1.0.3

Partition table scan: MBR: protective BSD: not present APM: not present GPT: present

Found valid GPT with protective MBR; using GPT. Disk /dev/sdi: 19134414848 sectors, 8.9 TiB Model: HUH721010AL5200 Sector size (logical/physical): 512/4096 bytes Disk identifier (GUID): ED5CF966-DA38-2D4B-8F8E-3C3867C25E07 Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 19134414814 Partitions will be aligned on 2048-sector boundaries Total free space is 4029 sectors (2.0 MiB)

Number Start (sector) End (sector) Size Code Name 1
2048 19134396415 8.9 TiB BF01 zfs-57963ba0e4d1284c 9
19134396416 19134412799 8.0 MiB BF07

And the same thing for one of the old drives:

gdisk -l /dev/sdh GPT fdisk (gdisk) version 1.0.3

Partition table scan: MBR: protective BSD: not present APM: not present GPT: present

Found valid GPT with protective MBR; using GPT. Disk /dev/sdh: 19532873728 sectors, 9.1 TiB Model: HUH721010AL5200 Sector size (logical/physical): 512/4096 bytes Disk identifier (GUID): 6EEE7537-C089-544B-A500-EE19A147CA99 Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 19532873694 Partitions will be aligned on 2048-sector boundaries Total free space is 4029 sectors (2.0 MiB)

Number Start (sector) End (sector) Size Code Name 1
2048 19532855295 9.1 TiB BF01 zfs-2363298e7ec25d90 9
19532855296 19532871679 8.0 MiB BF07

As you can see, the new drive has fewer sectors --> smaller capacity --> zfs refuses to use it.

I was told to update the firmware of the hard drive, but I'm not sure how to proceed and I want to be super careful not to lose any data.

Anyone has an idea, short of returning these drives and finding/buying the version made by WD?

Thank you,

jf

EDIT: adding the result of smartctl in response to the comment by @shodanshok

For the new drive (too small):

smartctl --all /dev/sdi
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.18.0-21-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               HGST
Product:              HUH721010AL5200
Revision:             LS17
Compliance:           SPC-4
User Capacity:        9,796,820,402,176 bytes [9.79 TB]
Logical block size:   512 bytes
Physical block size:  4096 bytes
Formatted with type 2 protection
LU is fully provisioned
Rotation Rate:        7200 rpm
Form Factor:          3.5 inches
Logical Unit id:      0x5000cca27349c848
Serial number:        2YH9KX5D
Device type:          disk
Transport protocol:   SAS (SPL-3)
Local Time is:        Wed May 12 11:15:06 2021 CDT
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Enabled

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Current Drive Temperature:     31 C
Drive Trip Temperature:        50 C

Manufactured in week 36 of year 2018
Specified cycle count over device lifetime:  50000
Accumulated start-stop cycles:  3
Specified load-unload count over device lifetime:  600000
Accumulated load-unload cycles:  5
Elements in grown defect list: 0

Vendor (Seagate) cache information
  Blocks sent to initiator = 17381195776

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:          0        0         0         0         95          0.044           0
write:         0        0         0         0          4          0.011           0
verify:        0        0         0         0        271          0.000           0

Non-medium error count:        0

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                   -   12484                 - [-   -    -]
# 2  Background short  Completed                   -   12413                 - [-   -    -]

Long (extended) Self Test duration: 63514 seconds [1058.6 minutes]

And for comparison, one of the older drives:

smartctl --all /dev/sdh
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.18.0-21-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               HGST
Product:              HUH721010AL5200
Revision:             A384
Compliance:           SPC-4
User Capacity:        10,000,831,348,736 bytes [10.0 TB]
Logical block size:   512 bytes
Physical block size:  4096 bytes
LU is fully provisioned
Rotation Rate:        7200 rpm
Form Factor:          3.5 inches
Logical Unit id:      0x5000cca2732326c0
Serial number:        2YGMA92D
Device type:          disk
Transport protocol:   SAS (SPL-3)
Local Time is:        Wed May 12 11:19:35 2021 CDT
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Enabled

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Current Drive Temperature:     32 C
Drive Trip Temperature:        85 C

Manufactured in week 23 of year 2018
Specified cycle count over device lifetime:  50000
Accumulated start-stop cycles:  41
Specified load-unload count over device lifetime:  600000
Accumulated load-unload cycles:  2669
Elements in grown defect list: 0

Vendor (Seagate) cache information
  Blocks sent to initiator = 53115368926871552

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:          0       41         0        41    3717572      74439.685           0
write:         0        0         0         0     605524      58839.145           0
verify:        0        0         0         0      49259          0.000           0

Non-medium error count:        0

No self-tests have been logged

Thanks again for the help.

jf

6

The two drivers probably use a different Host Protected Area (HPA) settings. Please check it by using hdparm -N /dev/yourdisk

EDIT: based on your smartctl output, the first (smaller) disk is formatted with additional sector integrity data - for example, with 520-byte physical sectors. This will naturally means a smaller portion of the available raw storage capacity can be dedicated to user data.

You should be able to re-format your disk by using sg_format - ie: issuing something similar to sg_format --format --size=512 --fmtpinfo=0 /dev/yourdisk

7
  • /dev/sdi: SG_IO: bad/missing sense data, sb[]: 72 05 20 00 00 00 00 10 02 06 00 00 c0 00 00 00 03 02 00 00 80 02 f8 21 00 00 00 00 00 00 00 00 SG_IO: bad/missing sense data, sb[]: 72 05 20 00 00 00 00 10 02 06 00 00 c0 00 00 00 03 02 00 00 80 02 f8 21 00 00 00 00 00 00 00 00 /dev/sdh: SG_IO: bad/missing sense data, sb[]: 72 05 20 00 00 00 00 10 02 06 00 00 c0 00 00 00 03 02 00 00 80 02 f8 21 00 00 00 00 00 00 00 00 SG_IO: bad/missing sense data, sb[]: 72 05 20 00 00 00 00 10 02 06 00 00 c0 00 00 00 03 02 00 00 80 02 f8 21 00 00 00 00 00 00 00 00 – Jean-François Gout May 12 at 0:19
  • Sorry, having trouble with formatting my comment. hdparm gave the exact same result for the new drive and one of the remaining 11 old drives:<br>SG_IO: bad/missing sense data, sb[]: 72 05 20 00 00 00 00 10 02 06 00 00 c0 00 00 00 03 02 00 00 80 02 f8 21 00 00 00 00 00 00 00 00 <br>SG_IO: bad/missing sense data, sb[]: 72 05 20 00 00 00 00 10 02 06 00 00 c0 00 00 00 03 02 00 00 80 02 f8 21 00 00 00 00 00 00 00 00 – Jean-François Gout May 12 at 0:21
  • Can you show the output of dmesg | grep -i protected and smartctl --all /dev/yourdisk? Thanks. – shodanshok May 12 at 9:17
  • dmesg | grep -i protected returns nothing (dmesg works, there is just no entre with "protected"). I've edited my initial question to post the output of smartctl. – Jean-François Gout May 12 at 16:16
  • @Jean-FrançoisGout I've updated my answer, give it a look – shodanshok May 12 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.