JEITAテープストレージ専門委員会コラム
「テープドライブのパフォーマンス測定時の注意点」
新しいテープドライブの導入を検討するときや、導入したテープドライブで読み出しや書き込みの時間がかかることがあった場合に、「このドライブは本当にメーカーが公表しているスペックどおりのパフォーマンスが出るのだろうか?」と気になり、実際にパフォーマンスの測定をしてみたことはありませんか。実際、お客様からテープドライブのパフォーマンスについてお問い合わせをいただくことがあります。
「とりあえず、ReadとWriteのパフォーマンスを測定したけど、スペック値には遠く及ばない。これは問題だ。メーカーに文句を言わなきゃ。」となる前に、ちょっと深呼吸して、このコラムを読んでみてください。
テープドライブの転送速度は結構速い
最新のテープドライブLTO7の転送速度のスペック値は非圧縮時で 300 MB/secとなっています。
RAIDを組まない一般的なハードディスクは、せいぜい100~200 MB/secといったところでしょうか。
ハードディスク上のデータをテープに書き込むと、実は、送られてくる転送速度のほうが遅いために、テープドライブは待たされることになります。その場合、テープドライブは送られてくるデータの転送速度にあわせて書き込み速度を自動的に調整するので、パフォーマンスが落ちているように見えてしまいます。
評価を行う際は、最高性能を確認するために、データをメモリーやSSDを使用して書き込みや読み出しの測定を行いましょう。測定を行うサーバも最新のものを用意して、それがパフォーマンスのボトルネックにならないように注意しましょう。
また、テープドライブをサーバに接続するHBAにも注意が必要です。テープドライブよりも十分に速い速度をサポートしているSAS/FCPのHBAを用意してテープドライブに接続してください。
テープドライブはシーケンシャルにアクセスするので、頭だしに時間がかかります
最新のLTO7のテープメディアの長さは、約1 kmあります。ドライブの種類にもよりますが1秒間に約10 mの速度でテープを巻き込んで、目的のデータの頭だしを行います。ということは、頭出しに最大で100秒近く掛かってしまうことになります。また、読み書きの最中にテープの終端に到達すると、反転して逆方向に読み書きを始めます。
パフォーマンスを測定するときに、これらのことを考慮しないと、転送速度がとても遅いように見えてしまいます。
書き込みを行う際は、あらかじめデータの終端(EOD)まで移動しておいてから測定を行いましょう。読み込みを行う場合は、あらかじめデータの先頭位置まで移動しておいてから測定を行いましょう。
また、読み書きを行うデータ量も十分に用意しておきましょう。最低でも100 GBのデータの読み書きをしてパフォーマンスの評価を行いましょう。
巻き戻しが発生するとパフォーマンスが落ちてしまいます
サーバのデータの転送速度が一定でないと、テープドライブは一旦巻き戻してその時の転送速度に合わせた速度で走行しながら読み書きを再開します。ここで発生する巻き戻しに約3秒程度かかってしまいます。最高速度で書いている際には3秒間で1 GB近くのデータを書けますが、巻き戻しが頻繁に発生すると、その間、全くデータが送られないので、見かけ上の転送速度が落ちてしまいます。
ここで、特に注意が必要なのは、ファイルマークです。ファイルマークが書かれると、テープドライブは内部のバッファーに残っているデータを全てテープに書き出してしまいます。バッファーが空になったら初めて、ホスト側は次のデータをテープドライブに書き込みを再開できるようになります。次のデータがバッファーにある程度溜まってから、テープに書き込みを開始するのですが、その間にもテープは進み続けてしまいます。なので、パフォーマンスの評価に使用するデータをファイルマーク付きで書き込んでしまうと、ファイルマークの度に最後に書かれたデータの次の位置に巻き戻してから書き込みを再開することになるので、転送速度が大きく低下してしまいます。
テープ間でデータ転送は行わない
「SSDは持っていない、HDDは持っているがあまり速くない、メモリー容量はあまり大きくない。テープドライブは速いのだから、そこからデータを転送すればいいのかな。」
ちょっと待ってください。テープ間でデータを転送すると、ものすごく転送速度が遅くなってしまうことがあります。
同じテープ上のデータを転送しようとすると、テープ上で転送元のデータの頭出しをしてある程度のデータをホストに送ってから、同じデータがホストから送られてきたら最後のデータ位置まで移動して書き込みを行なって、また、読み出したいデータの頭出しをして…。これをやると長時間の処理になることがご理解いただけると思います。
評価用のデータは高速なランダムアクセスデバイス(SSDやメモリー)を使うようにしましょう。もし適当なデバイスがない場合は、あらかじめメモリ上に作成した10 MB程度のテストデータを繰り返し転送してください。
テープドライブはデータを圧縮して書き込みを行います
テープドライブは、内部に圧縮エンジンを搭載しています。転送されてくるデータの種類にもよりますが、一般的なデータの場合 1:2.5 程度に圧縮されます。例えば、全てのデータがゼロのパターンを評価で使用してしまうと、非常に大きい圧縮率で書き込みが行われてしまいます。
テープドライブの本来の転送速度を評価する為に、圧縮がかからないようにランダムパターンを使用するか、モードページ0Fhであらかじめテープドライブの圧縮機能を無効化しておきます。
いかがだったでしょうか。上記の注意点を守って、正しくテープドライブのパフォーマンスを評価してください。
一般社団法人 電子情報技術産業協会(JEITA) テープストレージ専門委員会
日本アイ・ビー・エム(株) 宮村 剛志
本内容にてご質問などございましたら、JDSF事務局経由でお願いいたします。
2017年8月
2017年7月「ランサムウェアからのデータ保護で重要なこと」
2017年3月「テープドライブのパフォーマンス測定時の注意点」
2017年1月「消してしまったファイルを復元できる!? テープ用ファイルシステムLTFSの特徴」
次 回のメルマガが配信された時点で記事にリンクが張られます。
メルマガ登録する と次回から最新記事を読むことができます。
メルマガ登録は無料、非会員でも登録で きます。登録はこちら