昨今流通している新方式、SMRを採用したHDDはUbuntuでも充分な速度が出るかを検証しました。
昨今のHDD事情
ストレージデバイスとしてはSSDが普及し、特に500GBクラス以下では普通に使われるようになりました。そしてそれが価格の下落により年内には1TBクラス(あるいはそれ以上)になるであろうという予測がUbuntu Weekly Topics 2019年1月7日新春特別号 で言及されており、筆者も同感です。この見解は筆者の勝手な推測も混ぜていますが。
より大容量(2〜3TB以上)が必要な用途にはHDDが選択されるのは当面は変わらないでしょうが、そのHDDの容量増加は足踏み状態となっています。HDDは昔はともかく現在において2.5インチと3.5インチしかなく、容量を増やすためにはディスク(プラッタ)1枚あたりに書き込めるファイルサイズを大きくするか、1台に入れるプラッタの枚数を増やすかしかありません。
後者のことはさておいとくとして、前者はSMRという新しいアプローチが登場し、製品もすでに流通しています。
ただ、SMRはWikipediaののページ でも説明されているように従来の方式とはだいぶ異なる特性を持つため、実際に使いものになるかどうかは試してみないとわかりません。
そこで今回実物を用意し、筆者の用途に合うかどうかを検証することにしました。
使用ハードウェア
今回使用するHDDはメーカーがSMR採用ドライブであることを公表 しているSeagate ST4000DM004です。比較としてたまたま筆者宅にあったWestern Digital WD40EZRZ-RT2も使用します[1] 。ST4000DM004と比較して容量と回転速度は同じなので、比較対象としてぴったりでしょう。ST4000DM004のプラッタは2枚、WD40EZRZ-RT2はプラッタ3枚です。
[1] SeagateのNASモデルであるST4000VN008もあり、こちらも従来の方式なのでどちらと比較するかを迷いましたが、同価格帯ということでWD40EZRZ-RT2にしました。なぜ使ってないHDDがこんなにいろいろあるのかは聞かないでください。
2台のHDDはドライブケースRS-EC32-U31R に接続します。HDD以外の条件は同じという副次的な効果も期待できます。
なお、RS-EC32-U31RはUbuntuの「ディスク」( GNOME Disks)からでもS.M.A.R.T. の値が取得できて便利です(図1 ) 。RS-EC32-U3R ではできませんでした。
図1 ST4000DM004のS.M.A.R.T.の実行結果。Read Error RateとSeek Error RateとHardware ECC Recoveredの値が多いのはSeagate製HDD全般に見られるもので、故障ではない。温度36度は、実はWD40EZRZ-RT2よりも高い
ドライブケースには、玄人志向のGW3.5ACX2-U3.1AC を使うことも考えました。RS-EC32-U31Rと比較しておおむね同じことができ、実売価格は半額くらいだからです。しかし今回はHDDの取り外しの難易度が格段に楽なRS-EC32-U31Rを選択しました。ただST4000DM004は通常のHDDより背が低いため、ネジで固定するGW3.5ACX2-U3.1ACのほうがいいかもしれません(図2 ) 。
図2 2台のHDDをRS-EC32-U31Rに接続したところ。左側に接続されているST4000DM004には隙間が見える。下に敷いてあるものを気にしてはいけない
ベンチマーク
今回は2種類のベンチマークを取ることにしました。
ディスク(GNOME Disks)
まずはおなじみ「ディスク」( GNOME Disks)です。サンプルサイズを変えて5回連続で実行し、書き込み速度がもっとも速いものともっとも遅いものを提示します。なお、このベンチマークはランダムアクセスなのでST4000DM004にとっては不利なものになっています。
サンプルサイスを10MBにした上での結果は次のとおりです。このくらいであればキャッシュが効きやすいので数値がばらつくのはある程度しかたない部分です。5回計測したうち3回は図3 の数値と近いので、現実に近いのは遅いほうの結果でしょう。
「平均アクセス時間」にも注目してみると、すべてにおいてST4000DM004のほうが遅い(アクセスに時間がかかっている)ことがわかります。
図3 サンプルサイズ10MBにしたST4000DM004での結果のうち書き込みが最遅のもの。読み込みは速い
図4 サンプルサイズ10MBにしたST4000DM004での結果のうち書き込みが最速のもの。読み込みは遅い
図5 サンプルサイズ10MBにしたWD40EZRZ-RT2での結果のうち書き込みが最遅のもの
図6 サンプルサイズ10MBにしたWD40EZRZ-RT2での結果のうち書き込みが最速のもの。図5 と比較しても読み込み速度のばらつきは小さい
サンプルサイズを500MBにして再度測定してみましたが、傾向としてはサンプルサイズが10MBの場合とあまり変わりませんでした。ST4000DM004はサンプルサイズがいくつであってもランダムアクセスは苦手であるという当たり前の結論となりそうです。
図7 サンプルサイズ500MBにしたST4000DM004での結果のうち書き込みが最遅のもの
図8 サンプルサイズ500MBにしたST4000DM004での結果のうち書き込みが最速のもの
図9 サンプルサイズ500MBにしたWD40EZRZ-RT2での結果のうち書き込みが最遅のもの
図10 サンプルサイズ500MBにしたWD40EZRZ-RT2での結果のうち書き込みが最速のもの
rsync
筆者が実際に使用している2台のHDDから、それぞれにrsyncを実行してかかった時間を測定しました。こちらは書き込みテストのみで、時間の都合上1回ずつしかテストしていません。
はじめにテストしたのはVirtualBoxの仮想マシンを置いているフォルダーの同期です。数GBから数10GBくらいのデータが多いですが、それ以下のものもあります。データの総量は約2.1TiBです。図11 がST4000DM004の、図12 がWD40EZRZ-RT2での結果です。図の上部がrsyncの最後に出るログで、下部がtimeコマンドの結果です。図11 は1420分、時間に直すと約23.7時間です。すなわちほぼまる一日かかりました。図12 は1332分、約22.2時間です。思っていたよりは結果に差がありましたが、通常数GBから数10GBくらいのデータを2.1TiB分一気に書き込むなんてことはしないでしょうから、現実離れしていると考えて差し支えないように思います。現実的に常用している筆者がいうのはどうかと思いますが。
図11 ST4000VN008に仮想マシンを置いているフォルダーを書き込んだ結果
図12 WD40EZRZ-RT2に仮想マシンを置いているフォルダーを書き込んだ結果
続いて筆者のデータフォルダーです。大小さまざまなサイズのファイルが約2.1TiBあります。前出のフォルダーとほぼ同じ使用量なのは偶然です。図13 がST4000DM004の、図14 がWD40EZRZ-RT2での結果です。図13 の1160分は約19時間、図14 の1091分は約18時間です。おそらく実際の使用感に近いと考えられるので、この結果を重要視することにしました。
図13 ST4000VN008にデータフォルダーを書き込んだ結果
図14 WD40EZRZ-RT2にデータフォルダーを書き込んだ結果
結論
SMR方式のHDDであるST4000DM004を実際に検証してみて、たしかに従来の方式よりも確実に遅いものの、問題のない速度であるという判断に至りました。もっとも、書き込みだけであって読み込みであればまた別の話ですが。
ランダムアクセスはSSDに、大きなデータはHDDにという傾向は今後も一層強まるでしょうから、容量的に有利なSMR方式のHDDを避けて通るのは難しくなっていくでしょう。あとはタイミングだけです。
というわけで熟慮に熟慮を重ねた結果、ST8000DM004を購入してバックアップ用のHDDとすることにしました(図15 ) 。
図15 購入したバックアップ用HDD