スナップショットのパフォーマンスが低下する前に、ZFSはどのくらいの空き容量を確保すべきですか?

エヴァ・ウォン は テクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

ZFSプールは、実用的な出発点としておおよそ20%の空き容量を確保してください。よく知られた使用率80%ルールは崖ではなく安全策です。実際にパフォーマンスが低下する時点は、ワークロード、vdev構成、レコードサイズ、断片化、スナップショットで保持されているブロックによって決まります。

スナップショットが重要なのは、スナップショットが参照している間、上書きまたは削除されたブロックを空き容量に戻せないためです。そのため、大規模な書き換え、レプリケーションの受信、または削除処理によって、実際に利用できる作業領域がどれほど少ないかが明らかになるまで、プールは安定しているように見えることがあります。この違いによって、測定方法、安全マージン、停止条件が決まります。この違いによって、測定方法、安全マージン、停止条件が決まります。

使用率80%を早期対応のしきい値として扱う

使用率が低いと、ZFSは新しいブロックの割り当てに使える選択肢が多くあります。プールがいっぱいになるにつれて空き領域を見つけにくくなり、特に断片化したHDDプールでは、コピーオンライト更新によりアロケーターの処理負荷が増えることがあります。

容量不足の事象を待つのではなく、使用率80%付近から容量対策を始めてください。書き込みの多いVMストレージ、データベース、小さなランダムI/Oでは、ほぼシーケンシャルなアーカイブよりも大きな余裕を確保する必要があります。

プールレベルとデータセットレベルの両方で測定してください。クォータや予約によって、プールに空き容量が表示されていてもデータセットが容量不足になることがあります。また、スナップショットによって、通常のディレクトリツールでは表示されない容量が保持される場合があります。

実際の逼迫を示すシグナルを監視する

プール容量、断片化、書き込みレイテンシ、空き容量の推移、スナップショットの使用容量、保留中のレプリケーションまたはバックアップジョブのサイズを追跡してください。単一の割合だけでは、これらすべての制約を説明できません。

安全に実施できる場合は、使用率70%、80%、およびそれ以上で通常のワークロード中のレイテンシを比較してください。意味のある警告は、同じ負荷の下でレイテンシが繰り返し上昇する、またはスループットが低下することです。

以下の判断表を使用して、使用率と動作を具体的な対応に結び付けてください。

観測された状態 判定 次の対応
使用率70%未満、レイテンシは安定 十分な余裕があり健全 推移の監視を継続
使用率が80%前後、またはレイテンシが上昇 対応のしきい値 安全に削除、データ移動、または拡張を行う
使用率90%超、割り当てに失敗 重大 不要な書き込みを停止し、空き容量を回復する

二次障害を起こさずに余裕を回復する

承認済みの保持期間を過ぎたスナップショットだけを削除し、レプリケーションのベースとして必要でないことを確認してください。最近作成された共通スナップショットを削除すると、さらに多くの容量を必要とする完全再送が発生することがあります。

コールドデータを移動する、サポートされているトポロジーでプールを拡張する、または負荷の高いメンテナンスを実行する前に受信書き込みを減らしてください。容量がほぼ満杯のプールで、スクラブ、リシルバー、レプリケーションの受信、大量削除を同時に開始しないでください。

ZimaSpaceのスナップショット容量診断では、スナップショット、リサイクルビン、ライブファイルを分けて確認できます。

Klara SystemsのOpenZFSスナップショット分析では、プールの満杯状態、スナップショットの使用量、実用的な容量計画の関係が説明されています。

クリーンアップ後に元のワークロードを再テストする

容量を回復した後、同じ書き込み、スナップショット、ディレクトリ参照のワークロードを再実行してください。割合が下がったから問題が解決したと判断せず、レイテンシ、スループット、アロケーターの負荷を比較してください。

次回予定されているスナップショットとレプリケーションのサイクルが完了し、プールがすぐに警告しきい値へ戻らないことを確認してください。通常の増加分に加えて、予想される最大の一時ジョブにも対応できるよう、十分早い段階でアラートを設定してください。

測定できない場合は、空き容量20%の下限を維持してください。書き込みレイテンシが上昇している、断片化が高い、大規模なスナップショットの差分が常態化している場合は、さらに余裕を増やしてください。プールが枯渇に近づく、または割り当てが失敗し始めた場合は、新規書き込みを停止してください。

サポートとヒント

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.