ONTAP 配额报告所显示的空间使用量与 UNIX 客户端所显示的空间使用量之间的差别
FlexVol volume或qtree的配额报告中显示的已用磁盘空间值可能与UNIX客户端为同一个卷或qtree显示的值不同。这些值之所以存在差异、是因为配额报告和UNIX命令在计算卷或qtree中的数据块时所遵循的方法不同。
例如,如果卷包含包含包含空数据块(未向其写入数据)的文件,则该卷的配额报告在报告空间使用情况时不会计算空数据块。但是、当卷挂载到UNIX客户端上且文件显示为的输出时 ls 命令中、空数据块也会计入空间使用量。因此、 ls 命令显示的文件大小比配额报告显示的空间使用量更大。
同样、配额报告中显示的空间使用量值也可能与UNIX命令(如)显示的值不同 df 和 du。
配额报告如何计算磁盘空间和文件使用量
FlexVol 卷或 qtree 的配额报告中指定的已用文件数和磁盘空间量取决于卷或 qtree 中每个索引节点对应的已用数据块数。
块计数包括用于常规文件和流文件的直接块和间接块。配额报告不会考虑用于目录,访问控制列表( ACL ),流目录和元文件的块。对于 UNIX 稀疏文件,配额报告不会包含空数据块。
配额子系统的设计目的是考虑并仅包括文件系统中用户可控制的方面。目录、ACL和快照空间都是配额计算中排除的空间示例。配额用于强制实施限制、而不是保证、它们仅在活动文件系统上运行。配额核算不会计入某些文件系统结构、也不会计入存储效率(例如数据压缩或重复数据删除)。
有关此过程中所述命令的更多信息,请参见"ONTAP 命令参考"。
ls命令与空间使用量配额报告之间的差异
在使用 `ls`命令查看UNIX客户端上挂载的FlexVol volume的内容时、根据文件的数据块类型、输出中显示的文件大小可能与卷的配额报告中显示的空间使用量不同。
的输出 ls 命令仅显示文件的大小、不包括文件使用的间接块。该文件的任何空块也会包含在命令的输出中。
因此、如果文件不包含空块、则显示的大小 ls 命令可能小于配额报告指定的磁盘使用量、因为配额报告中包含间接块。相反、如果文件包含空块、则显示的大小 ls 命令可能大于配额报告指定的磁盘使用量。
的输出 ls 命令仅显示文件的大小、不包括文件使用的间接块。该文件的任何空块也会包含在命令的输出中。
由ls命令计算的空间使用量与配额报告计算的空间使用量之间的差异示例
以下配额报告显示了 qtree q1 的 10 MB 限制:
----Disk---- ----Files----- Quota Volume Tree Type ID Used Limit Used Limit Specifier ------- -------- ------ ------- ----- ----- ------ ------ --------- vol1 q1 tree user1 10MB 10MB 1 - q1 ...
使用从UNIX客户端查看时、同一qtree中的文件大小可能会超过配额限制 ls 命令、如以下示例所示:
[user1@lin-sys1 q1]$ ls -lh -rwxr-xr-x 1 user1 nfsuser **27M** Apr 09 2013 file1
有关的详细信息 ls,请参见"ONTAP 命令参考"。
了解 df 命令如何计算文件大小
中的方式 df 命令报告空间使用量取决于两个条件:为包含qtree的卷启用还是禁用配额、以及是否跟踪qtree内的配额使用量。
为包含qtree的卷启用配额后、如果跟踪qtree中的配额使用量、则会报告空间使用量 df 命令等于配额报告指定的值。在这种情况下,配额使用量不包括目录, ACL ,流目录和元文件使用的块。
如果卷上未启用配额,或者 qtree 未配置配额规则,则报告的空间使用量包括整个卷(包括卷中的其他 qtree )的目录, ACL ,流目录和元文件使用的块。在这种情况下、是指报告的空间使用量 df 命令大于跟踪配额时报告的预期值。
运行时 df 命令在跟踪其配额使用量的qtree的挂载点、命令输出显示的空间使用量与配额报告指定的值相同。在大多数情况下、如果树配额规则具有硬盘限制、则为报告的总大小 df 命令等于磁盘限制、而可用空间等于配额磁盘限制与配额使用量之差。
但是、在某些情况下、会报告可用空间 df 命令可能等于整个卷中的可用空间。如果没有为 qtree 配置硬盘限制,则可能会发生这种情况。从 ONTAP 9.1.1 开始,当卷整体中的可用空间小于剩余的树配额空间时,也可能发生这种情况。如果出现上述任一情况、则为报告的总大小 df command是一个经过相应处理的数字、该数字等于qtree中使用的配额加上FlexVol卷中的可用空间。
|
|
此总大小既不是 qtree 磁盘限制,也不是卷配置的大小。它也可能因您在其他 qtree 中的写入活动或您的后台存储效率活动而异。 |
<code>df</code> 命令和配额报告所占空间使用量示例
以下配额报告显示了 qtree 爱丽斯的磁盘限制为 1 GB , qtree bob 的磁盘限制为 2 GB , qtree 项目 1 的磁盘限制为无:
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.
在以下示例中、是的输出 df qtrees上的命令Alice和bob报告的已用空间与配额报告相同、总大小(以1M块为单位)与磁盘限制相同。这是因为 qtree a丽 斯和 bob 的配额规则定义了磁盘限制,并且卷可用空间( 1211 MB )大于 qtree a丽 斯( 523 MB )和 qtree bob ( 1045 MB )的剩余树配额空间。
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
在以下示例中、是的输出 df qtree项目1上的命令报告的已用空间与配额报告相同、但总大小是通过将整个卷中的可用空间(1211 MB)与qtree项目1的配额使用量(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 命令报告的可用空间与整个卷上的"space"(可用空间)相同。
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 命令与配额报告之间的空间使用量差异
运行时 du 命令要检查UNIX客户端上挂载的qtree或FlexVol卷的磁盘空间使用量、此使用量值可能高于此qtree或卷的配额报告显示的值。
的输出 du 命令包含从发出命令的目录级别开始的目录树中所有文件的总空间使用量。因为显示的使用量值 du 命令还包括目录的数据块、该值高于配额报告显示的值。
du命令与配额报告计算的空间使用量之间的差异示例
以下配额报告显示了 qtree q1 的 10 MB 限制:
----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 命令参考"。