I've got a WD 14TB arriving this week and I've like to determine if it's proper spinning rust or SMR.
There's a very good answer at How to determine whether hard drive uses SMR which discusses this, but it's now over 4 years old, and I wondered if the art might have evolved a bit since it was written.
I'm considering a plan of attack involving:
- Use libzbc and/or sg3_utils to see if it indicates that it's SMR
- See if it supports TRIM
- Determine (using ATTO, or something similar) the blocksize that gives the highest throughput for random writes.
- Mikko's answer suggests using
fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=randwrite --size=500g --io_size=1500g --blocksize=10m --ioengine=libaio --iodepth=1 --direct=1 --numjobs=1 --runtime=3600 --group_reporting
but: - https://youtu.be/8oF0vj5WBO0 recommends: directing io to
/dev/sdx
. In any case a file of at least a few TB seems "safer" than 1500GB in case the CMR cache algorithms are clever enough to use a lot of the surface as CMR cache to start with. - This same source also recommends iodepth=4, but says it makes little difference. Not really sure what to use here.
- Blocksize as reported from the ATTO test (to fill the CMR cache as quickly as possible)
Any other recommendations?
smartctl
will give you the model number, and from there you can look up whether it's CMR or SMR. – Chris Davies Aug 31 '20 at 17:24