web-dev-qa-db-ja.com

ZFSでiノードクォータを設定できますか?

Oracleのサイトのドキュメント からZFSでブロッククォータを設定する方法を理解しました。

ただし、ユーザーが取得するiノードの数にクォータを設定するかどうか/どのように設定するかはわかりませんでした。 ZFSファイルシステムのiノードの数に制限はないかもしれませんが、ユーザーがそれぞれ300ファイルの深さ10,000ディレクトリのディレクトリツリーを作成する場合、対処するのはちょっと面倒です。

Oracleストレージアプライアンスで設定できる場合のボーナスポイント...

4
chris

短い答え

番号

長い答え

"第1章OracleSolaris ZFSファイルシステム(はじめに)" からの引用:

すべてのメタデータは動的に割り当てられるため、iノードを事前に割り当てる必要はなく、ファイルシステムが最初に作成されたときにファイルシステムのスケーラビリティを制限する必要もありません。

...ファイルシステムの数またはファイルシステム内に含めることができるファイルの数に制限はありません。

また、2009年に zfs-discuss メーリングリストでこの同じ問題についての議論がありました。

Re:[zfs-discuss] ZFSディレクトリとファイルのクォータ

ZFSでファイルクォータ(つまり、ファイルシステム/ディレクトリごとのファイルの最大数)またはディレクトリクォータ(特定のディレクトリのファイルが消費できる最大サイズ)を設定する方法についての指示が見つかりません。

それは存在しないからです。

2010年8月のメーリングリストからの別の良い引用は次のとおりです。

Re:[zfs-discuss] ZFSファイルシステムのファイルシステム所有権の詳細。

ZFSには固定数のiノードがないため、制限自体を計算する方法はありません。 ZFSはメタデータにスペースを使用するため、使用可能なスペースがある限り、メタデータに使用できます。

2010年の別のスレッド 合計スペースに基づいてZFSファイルシステムのiノードの数を計算する方法についての議論がありました(役立つスクリプトも提供されています)。

引用 返信の1つ

ZFSでは、スペースが不足すると同時にiノードが不足します。

考えられる解決策

ただし、ZFS zvolでUFSファイルシステムを使用することにより、ユーザーレベルのiノードクォータを適用できます。

5
potatosalad