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_reportingbut:
- 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?