ONTAPクォータレポートとUNIXクライアントで表示されるスペース使用量の違い
クォータ レポートに示されるFlexVolまたはqtreeの使用済みディスク スペースの値が、UNIXクライアントに表示される同じFlexVolまたはqtreeの使用済みスペースの値と異なる場合があります。これらの値が異なる理由は、クォータ レポートとUNIXコマンドがそれぞれ異なる方法でボリュームまたはqtree内のデータ ブロックを計算するためです。
例えば、ボリュームに空のデータ ブロック(データが書き込まれていない)を持つファイルが含まれている場合、そのボリュームのクォータ レポートでは、スペース使用量を報告する際に空のデータ ブロックはカウントされません。しかし、ボリュームが UNIX クライアントにマウントされ、 ls コマンドの出力としてファイルが表示される場合、空のデータ ブロックもスペース使用量に含まれます。そのため、 ls コマンドでは、クォータ レポートに表示されるスペース使用量よりも大きなファイル サイズが表示されます。
同様に、クォータ レポートに表示されるスペース使用量の値は、 `df`や `du`などの UNIX コマンドの結果として表示される値と異なる場合があります。
クォータ レポートのディスク スペースとファイル使用量の表示
FlexVolまたはqtreeのクォータ レポートに記録される使用済みファイル数とディスク スペース容量は、ボリュームまたはqtree内のすべてのinodeに対応する使用済みデータ ブロックの個数によって決まります。
ブロック数には、標準ファイルとストリーム ファイルによって使用される直接ブロックと間接ブロックの両方が含まれます。ディレクトリ、アクセス制御リスト(ACL)、ストリーム ディレクトリ、およびメタファイルによって使用されるブロックは、クォータ レポートの使用済みブロック数にはカウントされません。UNIXのスパース ファイルの場合、空のデータ ブロックはクォータ レポートに含まれません。
クォータ サブシステムは、ユーザが制御できるファイルシステムの要素だけを考慮し、対象とするように設計されています。ディレクトリ、ACL、Snapshotスペースは、いずれもクォータの計算から除外されます。クォータは、容量を保証するものではなく、制限を適用することが目的で、アクティブなファイルシステム上でのみ動作します。クォータの計算では、特定のファイルシステム要素は対象外で、ストレージ効率化(圧縮や重複排除など)も考慮されません。
この手順で説明されているコマンドの詳細については、"ONTAPコマンド リファレンス"を参照してください。
lsコマンドとクォータ レポートのスペース使用量の不一致
`ls`コマンドを使用してUNIXクライアントにマウントされたFlexVolボリュームの内容を表示する場合、ファイルのデータ ブロックの種類によっては、出力に表示されるファイル サイズが、ボリュームのクォータ レポートに表示されるスペース使用量と異なる場合があります。
`ls`コマンドの出力にはファイルのサイズのみが表示され、ファイルで使用されている間接ブロックは含まれません。ファイル内の空ブロックもコマンドの出力に含まれます。
したがって、ファイルに空ブロックがない場合、 `ls`コマンドによって表示されるサイズは、クォータレポートで指定されたディスク使用量よりも少なくなる可能性があります。これは、クォータレポートに間接ブロックが含まれるためです。逆に、ファイルに空ブロックがある場合、 `ls`コマンドによって表示されるサイズは、クォータレポートで指定されたディスク使用量よりも多くなる可能性があります。
`ls`コマンドの出力にはファイルのサイズのみが表示され、ファイルで使用されている間接ブロックは含まれません。ファイル内の空ブロックもコマンドの出力に含まれます。
lsコマンドとクォータ レポートで報告されるスペース使用量の差の例
次のクォータ レポートには、qtree q1の制限が10MBと表示されています。
----Disk---- ----Files----- Quota Volume Tree Type ID Used Limit Used Limit Specifier ------- -------- ------ ------- ----- ----- ------ ------ --------- vol1 q1 tree user1 10MB 10MB 1 - q1 ...
同じ qtree 内に存在するファイルは、次の例に示すように、 `ls`コマンドを使用して UNIX クライアントから表示すると、クォータ制限を超えるサイズになることがあります:
[user1@lin-sys1 q1]$ ls -lh -rwxr-xr-x 1 user1 nfsuser **27M** Apr 09 2013 file1
"ONTAPコマンド リファレンス"の `ls`の詳細をご覧ください。
dfコマンドがファイルサイズをどのように考慮するかを学ぶ
`df`コマンドでスペース使用量を報告する方法は、qtreeを含むボリュームに対してクォータが有効か無効か、およびqtree内のクォータ使用量が追跡されているかどうかという2つの条件によって異なります。
qtreeを含むボリュームに対してクォータが有効になっており、qtree内のクォータ使用量が追跡されている場合、 `df`コマンドによって報告されるスペース使用量は、クォータレポートで指定された値と等しくなります。この場合、クォータ使用量には、ディレクトリ、ACL、ストリームディレクトリ、およびメタファイルによって使用されるブロックは含まれません。
ボリュームでクォータが有効になっていない場合、またはqtreeにクォータ ルールが設定されていない場合、報告されるスペース使用量には、ボリューム全体のディレクトリ、ACL、ストリーム ディレクトリ、およびメタファイルによって使用されているブロックが含まれます。これには、ボリューム内の他のqtreeも含まれます。このような状況では、 `df`コマンドによって報告されるスペース使用量は、クォータの追跡時に報告される予想値よりも大きくなります。
クォータ使用量が追跡されているqtreeのマウント ポイントから `df`コマンドを実行すると、コマンド出力にはクォータ レポートで指定された値と同じスペース使用量が表示されます。ほとんどの場合、ツリー クォータ ルールにハードディスク制限がある場合、 `df`コマンドによって報告される合計サイズはディスク制限と等しく、使用可能なスペースはクォータ ディスク制限とクォータ使用量の差と等しくなります。
ただし、場合によっては、 `df`コマンドによって報告される使用可能スペースが、ボリューム全体で使用可能なスペースと等しくなることがあります。これは、qtreeに対してハードディスク制限が設定されていない場合に発生することがあります。ONTAP 9.9.1以降では、ボリューム全体で使用可能なスペースが残りのツリークォータスペースよりも少ない場合にも発生することがあります。これらのいずれかの状況が発生した場合、 `df`コマンドによって報告される合計サイズは、qtree内で使用されているクォータとFlexVolボリュームで使用可能なスペースを合計した合成値になります。
|
|
この合計サイズは、qtreeのディスク制限でもボリュームの設定サイズでもありません。また、他のqtree内での書き込みアクティビティやバックグラウンドのストレージ効率化アクティビティによっても変わってきます。 |
<code>df</code> コマンドとクォータレポートによるスペース使用量の計算例
次のクォータ レポートでは、ディスク制限について、qtree aliceは1GB、qtree bobは2GB、qtree project1は制限なしと表示されています。
C1_vsim1::> quota report -vserver vs0
Vserver: vs0
----Disk---- ----Files----- Quota
Volume Tree Type ID Used Limit Used Limit Specifier
------- -------- ------ ------- ----- ----- ------ ------ ---------
vol2 alice tree 1
502.0MB 1GB 2 - alice
vol2 bob tree 2
1003MB 2GB 2 - bob
vol2 project1 tree 3
200.8MB - 2 - project1
vol2 tree * 0B - 0 - *
4 entries were displayed.
次の例では、qtree aliceとbobに対する `df`コマンドの出力は、クォータ レポートと同じ使用済みスペースと、ディスク制限と同じ合計サイズ(1Mブロック単位)を報告しています。これは、qtree aliceとbobのクォータ ルールにディスク制限が定義されており、ボリュームの使用可能スペース(1211MB)がqtree alice(523MB)とqtree bob(1045MB)に残っているツリー クォータ スペースよりも大きいためです。
linux-client1 [~]$ df -m /mnt/vol2/alice Filesystem 1M-blocks Used Available Use% Mounted on 172.21.76.153:/vol2 1024 502 523 50% /mnt/vol2 linux-client1 [~]$ df -m /mnt/vol2/bob Filesystem 1M-blocks Used Available Use% Mounted on 172.21.76.153:/vol2 2048 1004 1045 50% /mnt/vol2
次の例では、qtree project1に対する `df`コマンドの出力は、クォータ レポートと同じ使用済みスペースを報告していますが、合計サイズはボリューム全体の使用可能スペース(1211 MB)とqtree project1のクォータ使用量(201 MB)を加算して合計1412 MBになるように合成されています。これは、qtree project1のクォータ ルールにディスク制限がないためです。
linux-client1 [~]$ df -m /mnt/vol2/project1 Filesystem 1M-blocks Used Available Use% Mounted on 172.21.76.153:/vol2 1412 201 1211 15% /mnt/vol2
次の例は、ボリューム全体に対する `df`コマンドの出力が、project1と同じ使用可能なスペースを報告する方法を示しています。
linux-client1 [~]$ df -m /mnt/vol2 Filesystem 1M-blocks Used Available Use% Mounted on 172.21.76.153:/vol2 2919 1709 1211 59% /mnt/vol2
この手順で説明されているコマンドの詳細については、"ONTAPコマンド リファレンス"を参照してください。
スペース使用量に関するduコマンドとクォータレポートの差異
UNIX クライアントにマウントされた qtree またはFlexVol ボリュームのディスク領域使用量を確認するために `du`コマンドを実行すると、使用量の値が qtree またはボリュームのクォータ レポートに表示される値よりも高くなることがあります。
`du`コマンドの出力には、コマンドを実行したディレクトリ レベルから始まるディレクトリ ツリー全体のすべてのファイルの合計スペース使用量が含まれます。 `du`コマンドによって表示される使用量にはディレクトリのデータ ブロックも含まれるため、クォータ レポートによって表示される値よりも高くなります。
duコマンドとクォータ レポートで報告されるスペース使用量の差の例
次のクォータ レポートには、qtree q1の制限が10MBと表示されています。
----Disk---- ----Files----- Quota Volume Tree Type ID Used Limit Used Limit Specifier ------- -------- ------ ------- ----- ----- ------ ------ --------- vol1 q1 tree user1 10MB 10MB 1 - q1 ...
次の例では、 `du`コマンドの出力としてのディスク領域使用量が、クォータ制限を超える高い値を示しています:
[user1@lin-sys1 q1]$ du -sh **11M** q1
この手順で説明されているコマンドの詳細については、"ONTAPコマンド リファレンス"を参照してください。