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:

  1. Use libzbc and/or sg3_utils to see if it indicates that it's SMR
  2. See if it supports TRIM
  3. Determine (using ATTO, or something similar) the blocksize that gives the highest throughput for random writes.
  4. 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:
  5. 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.
  6. This same source also recommends iodepth=4, but says it makes little difference. Not really sure what to use here.
  7. Blocksize as reported from the ATTO test (to fill the CMR cache as quickly as possible)

Any other recommendations?


Your Answer

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

Browse other questions tagged or ask your own question.