5.9. 在 NFS 服务器中启用配额支持
如果要限制用户或组群可以存储的数据量,您可以在文件系统中配置配额。在 NFS 服务器上,rpc-rquotad
服务确保配额也应用于 NFS 客户端上的用户。
流程
验证您导出的目录中是否启用了配额:
对于 ext 文件系统,请输入:
# quotaon -p /nfs/projects/ group quota on /nfs/projects (/dev/sdb1) is on user quota on /nfs/projects (/dev/sdb1) is on project quota on /nfs/projects (/dev/sdb1) is off
对于 XFS 文件系统,请输入:
# findmnt /nfs/projects TARGET SOURCE FSTYPE OPTIONS /nfs/projects /dev/sdb1 xfs rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,usrquota,grpquota
安装
quota-rpc
软件包:# dnf install quota-rpc
可选:默认情况下,配额 RPC 服务在端口 875 上运行。如果要在不同的端口上运行该服务,请将
-p <port_number>
附加到/etc/sysconfig/rpc-rquotad
文件中的RPCRQUOTADOPTS
变量中:RPCRQUOTADOPTS="-p __<port_number>__"
可选: 默认情况下,远程主机只能读取配额。要允许客户端设置配额,请将
-S
选项附加到/etc/sysconfig/rpc-rquotad
文件中的RPCRQUOTADOPTS
变量中:RPCRQUOTADOPTS="-S"
在
firewalld
中打开端口:# firewall-cmd --permanent --add-port=875/udp # firewall-cmd --reload
启用并启动
rpc-rquotad
服务:# systemctl enable --now rpc-rquotad
验证
在客户端中:
挂载导出的共享:
# mount server.example.com:/nfs/projects/ /mnt/
显示配额。命令取决于导出的目录的文件系统。例如:
要显示所有挂载的 ext 文件系统上的特定用户的配额,请输入:
# quota -u <user_name> Disk quotas for user demo (uid 1000): Filesystem space quota limit grace files quota limit grace server.example.com:/nfs/projects 0K 100M 200M 0 0 0
要在 XFS 文件系统中显示用户和组群配额,请输入:
# xfs_quota -x -c "report -h" /mnt/ User quota on /nfs/projects (/dev/vdb1) Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 0 0 0 00 [------] demo 0 100M 200M 00 [------]
其它资源
-
quota (1)
手册页 -
xfs_quota(8)
man page