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 で実行されます。別のポートでサービスを実行する場合は、
/etc/sysconfig/rpc-rquotad
ファイルのRPCRQUOTADOPTS
変数に-p <port_number>
を追加します。RPCRQUOTADOPTS="-p __<port_number>__"
オプション: デフォルトでは、リモートホストはクォータの読み取りのみが可能です。クライアントにクォータの設定を許可するには、
/etc/sysconfig/rpc-rquotad
ファイルのRPCRQUOTADOPTS
変数に-S
オプションを追加します。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 [------]
関連情報
-
システム上の
mount(8)
およびxfs_quota(8)
man ページ