web-dev-qa-db-ja.com

パフォーマンス上の理由からZFSに提案されている最大80%の使用目標は、SSDでバックアップされたプールに適用されますか?

Solaris ZFSベストプラクティスガイド 最高のパフォーマンスを得るには、ZFSプールの使用率を80%未満に保つことをお勧めします。

  • プールのパフォーマンスを維持するために、プールスペースの使用率を80%未満に保ちます。現在、ビジー状態のメールサーバーなど、プールが非常にいっぱいでファイルシステムが頻繁に更新されると、プールのパフォーマンスが低下する可能性があります。プールがいっぱいになると、パフォーマンスが低下する可能性がありますが、他の問題は発生しません。プライマリワークロードが不変のファイルである場合(一度書き込むだけで、削除しない)、プールを95〜96%の使用率範囲に保つことができます。ほとんど静的なコンテンツが95〜96%の範囲であっても、書き込み、読み取り、および再シルバー化のパフォーマンスが低下する可能性があることに注意してください。

これを実装する方法の一般的な提案は、データの保存には使用されないが、プール容量の約20%のサイズ予約があるファイルシステムまたはボリュームを作成することであるようです。

ZFSのコピーオンライト動作により、これが回転ストレージにどのように役立つかを完全に理解できます。回転ストレージはIOPSにかなり制約される傾向があるため、ファイルシステムに大きな連続割り当てを行う余地を与えることは非常に理にかなっています。 (それらが常にそのように使用されない場合でも)。

ただし、80%の目標がソリッドステートストレージでそれほど意味があるかどうかはわかりません。これは、ギガバイトあたりのコストがかなり高いことに加えて、回転ストレージのIOPS制約に近いところがありません。

SSDでバックアップされたZFSプールは、HDDでバックアップされたプールと同様に、パフォーマンス上の理由から約80%未満の容量使用率に制限する必要があります、またはSSDでバックアップされたプールは可能ですI/Oパフォーマンスに重大な悪影響を与えることなく、より多くのデータを埋めることができますか?

1
a CVn

はいと思います。

私のルールは、大幅にオーバープロビジョニングされていないドライブを使用する場合、SSDのみのプールで87%未満を維持することです。

SSDの使用例では、ドライブの耐久性コンポーネントが導入されていますが、ランダムな書き込み遅延は、回転するディスクの場合ほど問題にはなりません。

いずれにせよ、ディスクの選択に関係なく、なぜ意図的にワークロードを大容量レベルで実行することを計画するのでしょうか。すべてのコピーオンライトファイルシステムはそれに対して警告/アドバイスするので、回避できるのであれば、それでもそれほど高くなることは避けたいと思います。

1
ewwhite

いっぱいになりすぎるシステムの問題は、書き込む次の空き領域を見つけることです。 ZFSおよびコピーオンライトであるシステムは、この問題の影響を特に受けやすい可能性があります。また、ログベースのシステムでは、原則として上書きされた後、現在使用されていないデータをクリアするバックグラウンドプロセスがありますが、新しいデータは実際にはどこかに書かれています。書き込み先の大きな連続スペースを見つけるのが難しくなり、データをさまざまな場所でフラグメント化して書き込む必要があるため、パフォーマンスに影響を与える断片化の問題もあります。

これらはすべて、HDDであれSSDであれ、メディアとは関係ありません。

0
Baruch Even