OP here. I've been planning to post an update on what happened to my 20TB WD Red drives, and now seems a good time.
I couldn't get the
sg_format
(or
hdparm
when booting to Linux) commands to work, and I couldn't find a download link to WD's "Hugo" tool, so I contacted WD support and they sent me a download link for WDC Kit which, among many other things, can convert to 4Kn sectors. (If you contact them make sure to specify what you're running; on first attempt I got a Windows binary. And don't delay downloading, the link expires after a while (days/weeks, not hours).)
Before converting to 4Kn I had run a long S.M.A.R.T. test on both disks, and jgreco's
solnet-array-test-v2.sh
script. Full output from the
solnet-array-test-v2.sh
run:
Code:
# sh ./solnet-array-test-v2.sh
sol.net disk array test v2
1) Use all disks (from camcontrol)
2) Use selected disks (from camcontrol|grep)
3) Specify disks
4) Show camcontrol list
Option: 2
Enter grep match pattern (e.g. ST150176): WD201KFGX
Selected disks: ada1 ada2
<WDC WD201KFGX-68BKJN0 83.00A83> at scbus1 target 0 lun 0 (pass1,ada1)
<WDC WD201KFGX-68BKJN0 83.00A83> at scbus2 target 0 lun 0 (pass2,ada2)
Is this correct? (y/N): y
Performing initial serial array read (baseline speeds)
Sun Aug 28 15:29:46 CEST 2022
Sun Aug 28 15:34:16 CEST 2022
Completed: initial serial array read (baseline speeds)
Array's average speed is 268.32 MB/sec per disk
Disk Disk Size MB/sec %ofAvg
------- ---------- ------ ------
ada1 19074048MB 268 100
ada2 19074048MB 268 100
Performing initial parallel array read
Sun Aug 28 15:34:16 CEST 2022
The disk ada1 appears to be 19074048 MB.
Disk is reading at about 268 MB/sec
This suggests that this pass may take around 1187 minutes
Serial Parall % of
Disk Disk Size MB/sec MB/sec Serial
------- ---------- ------ ------ ------
ada1 19074048MB 268 269 100
ada2 19074048MB 268 268 100
Awaiting completion: initial parallel array read
Mon Aug 29 15:47:47 CEST 2022
Completed: initial parallel array read
Disk's average time is 86517 seconds per disk
Disk Bytes Transferred Seconds %ofAvg
------- ----------------- ------- ------
ada1 20000588955648 85823 99
ada2 20000588955648 87212 101
Performing initial parallel seek-stress array read
Mon Aug 29 15:47:47 CEST 2022
The disk ada1 appears to be 19074048 MB.
Disk is reading at about 222 MB/sec
This suggests that this pass may take around 1434 minutes
Serial Parall % of
Disk Disk Size MB/sec MB/sec Serial
------- ---------- ------ ------ ------
ada1 19074048MB 268 222 83
ada2 19074048MB 268 221 82
Awaiting completion: initial parallel seek-stress array read
Mon Sep 5 22:19:18 CEST 2022
Completed: initial parallel seek-stress array read
Disk's average time is 580556 seconds per disk
Disk Bytes Transferred Seconds %ofAvg
------- ----------------- ------- ------
ada1 20000588955648 536370 92
ada2 20000588955648 624742 108 --SLOW--
After another long S.M.A.R.T. test, I ran the WDC Kit tool to convert my two 20TB drives to 4Kn. Converting took almost 25 hours (I did them in parallel in two windows in a
screen
session). Output:
Code:
# ./wdckit format /dev/ada1 -b 4096
wdckit Version 2.14.0.0
Copyright (C) 2019-2022 Western Digital Technologies, Inc.
Western Digital ATA/SCSI/NVMe command line utility.
11/05/2022 16:14:41
Format on 1 device(s) started...
Progress: 100%
Success: Format completed on: [redacted]
/dev/ada1: Success
# time ./wdckit format /dev/ada2 -b 4096
wdckit Version 2.14.0.0
Copyright (C) 2019-2022 Western Digital Technologies, Inc.
Western Digital ATA/SCSI/NVMe command line utility.
11/05/2022 16:34:48
Format on 1 device(s) started...
Progress: 100%
Success: Format completed on: [redacted]
/dev/ada2: Success
130.815u 65.608s 24:41:38.45 0.2% 5268+462k 0+7458119io 0pf+0w
After converting to 4Kn sectors I powered off the nas, left it off a couple of minutes, then powered on again, and ran another long S.M.A.R.T. test and then the
solnet-array-test-v2.sh
script again. Full output from
solnet-array-test-v2.sh
:
Code:
# sh ./solnet-array-test-v2.sh
sol.net disk array test v2
1) Use all disks (from camcontrol)
2) Use selected disks (from camcontrol|grep)
3) Specify disks
4) Show camcontrol list
Option: 2
Enter grep match pattern (e.g. ST150176): WD201KFGX-68BKJN0
Selected disks: ada1 ada2
<WDC WD201KFGX-68BKJN0 83.00A83> at scbus1 target 0 lun 0 (pass1,ada1)
<WDC WD201KFGX-68BKJN0 83.00A83> at scbus2 target 0 lun 0 (pass2,ada2)
Is this correct? (y/N): y
Performing initial serial array read (baseline speeds)
Tue Nov 8 07:41:53 CET 2022
Tue Nov 8 07:46:23 CET 2022
Completed: initial serial array read (baseline speeds)
Array's average speed is 267.92 MB/sec per disk
Disk Disk Size MB/sec %ofAvg
------- ---------- ------ ------
ada1 19074048MB 267 100
ada2 19074048MB 268 100
Performing initial parallel array read
Tue Nov 8 07:46:23 CET 2022
The disk ada1 appears to be 19074048 MB.
Disk is reading at about 268 MB/sec
This suggests that this pass may take around 1185 minutes
Serial Parall % of
Disk Disk Size MB/sec MB/sec Serial
------- ---------- ------ ------ ------
ada1 19074048MB 267 268 100
ada2 19074048MB 268 268 100
Awaiting completion: initial parallel array read
Wed Nov 9 07:59:54 CET 2022
Completed: initial parallel array read
Disk's average time is 86517 seconds per disk
Disk Bytes Transferred Seconds %ofAvg
------- ----------------- ------- ------
ada1 20000588955648 85824 99
ada2 20000588955648 87211 101
Performing initial parallel seek-stress array read
Wed Nov 9 07:59:54 CET 2022
The disk ada1 appears to be 19074048 MB.
Disk is reading at about 221 MB/sec
This suggests that this pass may take around 1437 minutes
Serial Parall % of
Disk Disk Size MB/sec MB/sec Serial
------- ---------- ------ ------ ------
ada1 19074048MB 267 222 83
ada2 19074048MB 268 221 82
Awaiting completion: initial parallel seek-stress array read
Wed Nov 16 10:31:32 CET 2022
Completed: initial parallel seek-stress array read
Disk's average time is 478491 seconds per disk
Disk Bytes Transferred Seconds %ofAvg
------- ----------------- ------- ------
ada1 20000588955648 491168 103
ada2 20000588955648 465814 97
Then I ran a final long S.M.A.R.T. test.
After that I added the two 20TB drives to my pool (that already consisted of two 18TB drives; one Seagate ST18000NM000J and one Toshiba MG09ACA18TE). I don't remember, but I think I added them one at a time, and I don't remember how long it took to resilver after adding.
...and then I haven't gotten further. I've been planning since mid-november to shutdown and disconnect the two 18TB drives to check acoustic levels (
which was my original reason for diving down this rabbit hole and buying too many expensive drives for a home user just to try them out) but haven't gotten around to it yet. Perhaps some evening this week, or this coming weekend, or during the easter holiday... no later than my summer vacation, though.
Looking at the numbers from the two
solnet-array-test-v2.sh
runs above, it appears that 4Kn is slightly faster. The load on the system was the same (i.e. virtually none) during the two runs so I think it's fair to compare the numbers. (As an aside, the time estimates in
solnet-array-test-v2.sh
are way way off; my guess is that they're for one run of
dd
, but the script runs six tests (
dd
's) in parallel.)
I've had no warnings or experienced any problems after adding my two 20TB 4Kn drives to the pool, despite the two existing 18TB drives in the pool being 4K/512e. So mixing 4Kn and 4K/512e appears to work fine (as winnielinnie wrote), at least with
ashift=12
.
(Edit: grammar and formatting.)