SMRなHDD使用時に(rsyncの)速度が落ちることへの対処

rsyncを使ってリモートと同期しようとしたのですが、速度が大きく落ちることがあったので、原因を探ってみました。ちなみに私の環境は Rocky Linux 8.7 です

 

原因

大体記事タイトルの通りなのですが、ソース側のLVMにSMRのHDDが混ざっているのが原因だったようです。SMRのディスクからデータをロードするときに速度の低下が起こっていたようです

 

 

対策(SMRがソース側の場合)

ファイルのアクセス日時を記録しないようにすることで、書き込みを減らしパフォーマンスを改善することができるようです

ソース側のディスク(LVM)のマウント時のオプションで設定できます。fstabに設定する場合は

こんな感じで”noatime”オプションを追加します

 

手動でマウントする場合は

こんな感じで”noatime”オプションを付けます。roオプションで読み込み専用にしてもいいです。

これで私の環境ではだいぶマシになりました。

 

 

対策(SMRに書き込む場合)

SMRに書き込む場合も速度の低下があるようです。その場合は書き込み先のHDDも同じように”noatime”オプションを付けてマウントすれば改善することもあるようです

SMRのディスクに書き込む場合にメディアキャッシュを使い切って速度が低下したような場合は、キャッシュから溢れない程度に速度を落とすか、中断してメディアキャッシュの回復を待つ方がいいでしょう

最適な速度は15~30MB/sの間くらいのようです

 

 

注意点

ファイルのアクセス日時を記録しなくなるので、アクセス日時の記録が大事な場合はこの方法は使えません。SMRの評判が悪いことは知ってたのですが、倉庫にする分には支障はないだろうと思っていたのですが、アクセス日時の記録だけで異常に遅くなるなんて思ってもみませんでした。ちゃんと下調べするんだった…

 

参考

What can I do to improve performance of rsync when run on SMR drives (shingled drives)?
When syncing with rsync to or from SMR drives performance drops to a minimum of 3 to 5 mb/s, with noticeable head flying...

コメント

タイトルとURLをコピーしました