NASのUIとファイルシステムでストレージ使用量が異なって見えるのはなぜですか?

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

NASとファイルシステムの使用量が異なることがよくあるのは、それぞれのカウンターがスナップショット、メタデータ、予約領域、スパースエクステント、共有ブロックなど、異なる層を含んでいるためです。

共有フォルダーに表示上は4 TBのファイルがあっても、NASダッシュボードでは5.2 TB使用中と表示される場合があります。どちらの合計も必ずしも間違いではありません。一方は論理的なファイルサイズの合計を示し、もう一方はプール全体の物理割り当てを示している可能性があります。後者には、同じストレージプール内にありながら、現在のディレクトリツリーから見えない、または表示中のファイルに割り当てられないデータも含まれます。

論理ファイルサイズと割り当て済み領域は異なる問いに答える

ファイルはアプリケーションに対して論理的な長さを示しますが、ファイルシステムはブロックまたはエクステント単位でストレージを割り当てます。スパースファイルには未割り当ての空洞が含まれることがあり、小さなファイルでも、メタデータに加えて割り当て単位全体を消費する場合があります。そのため、ファイル名を合計しても、実際に消費された容量と一致するとは限りません。

duとdfの違いに関するLinuxの解説では、ディレクトリの合計値とファイルシステムの空き容量を確認するツールが、異なる会計層を調べることが説明されています。いくつかの条件では、両者の結果が正当に異なることがあります。

圧縮とブロック共有によって、さらに分かりにくくなります。2つの論理ファイルが同じ物理ブロックを参照することもあれば、圧縮されたデータが見かけ上の長さより少ない容量しか占有しないこともあります。UIは、論理的な所有容量、排他的な割り当て、参照バイト数、プール全体の消費量のいずれを表示するか選択する必要があります。

スナップショットと予約領域はライブツリーの外側にブロックを保持する

ファイルを削除すると現在のディレクトリからは消えますが、スナップショットが古いブロックを保持している場合があります。プールのメタデータ、パリティ、チェックサム、コピーオンライトの履歴、予約容量も、共有フォルダー内に表示されなくても、使用済みまたは利用不可としてカウントされることがあります。

スナップショット領域に関する実用的な解説では、スナップショットが変更または削除されたデータを引き続き参照することが説明されています。領域が解放されるのは、保持されているスナップショットのいずれもそのブロックを必要としなくなったときだけです。

もう1つの隠れたケースは、プロセスが開いたままの削除済みファイルです。パス名は消えるためディレクトリ走査では見落とされますが、プロセスがハンドルを閉じるまでブロックは割り当てられたままです。ダッシュボードにはプールの使用量が反映される一方、ライブツリーは小さく見えることがあります。

異なる合計値が実際の問題を示す場合

会計層が異なることは、説明のつかない使用量が継続的に増加することの言い訳にはなりません。停止したスナップショットポリシー、暴走するログ、孤立したコンテナデータセット、レプリケーション用の予約領域、ファイルシステムエラーなどが、実際の容量リスクを引き起こす可能性があります。

開いたままの削除済みファイルに関するガイドでは、プロセスの調査によって、開いたままの削除済みファイルを検出できることが説明されています。この仕組みには、漠然とした不一致ではなく、特有の兆候があります。

また、両方のツールが同じデータセット、スナップショットの範囲、単位、割り当て基準を示しているにもかかわらず、更新後も大きくかけ離れている場合、その説明は成り立ちません。10進単位と2進単位の違いで説明できるのは、限られた割合にすぎません。どちらかの表示を信頼できる基準として扱う前に、定義を確認してください。

プールから表示中のファイルまで容量を突き合わせる

同じ時点で、プールの総容量、割り当て済み容量、空き容量、データセットの参照容量、排他的容量、スナップショット容量、予約容量、表示中のファイルの合計を記録します。値が論理容量か物理容量か、圧縮と共有ブロックが含まれているかも確認してください。何も削除せずに、開いたままの削除済みファイルがないかを調べます。

ベクトルデータベースやコンテナは、表示中の共有フォルダーの外側にあるデータセットへデータを配置することがあるため、インベントリをNASストレージの動作と関連付けます。各サービスのパスを、基盤となるデータセットに対応付けてください。

プールから下位へ順に突き合わせます。プールの割り当て量は、プラットフォームの定義に基づくライブデータセット、スナップショット、メタデータ、予約領域の合計と一致するはずです。スナップショット間で増加しているカテゴリーを調査してください。保持された履歴がカウンターの大部分を占めている場合、そのカウンターに合わせるためだけに表示中のファイルを削除しないでください。

テック&AIハブ

もっと読む

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.