xfs_quotaは/ homeの下のすべてのユーザーに適用されます。

xfs_quotaは/ homeの下のすべてのユーザーに適用されます。

RHEL 8.9には100GB XFS形式のパーティションがあります。/homeすべてのローカルユーザーアカウント/etc/passwdのホームディレクトリはにあります/home。すべてのユーザーアカウントのデフォルトのgidは常に100 {users}です。

/homeデータ管理のための管理作業の一環として、各ユーザーアカウントに1 GBのクォータを適用したいと思います。現在、ユーザーは80人で、/etc/passwdその数は150人以上に増えると予想されます。

私は現在/etc/fstab

UUID=12345   /home   xfs    defaults,nodev,nosuid,uquota,gquota    0 0
  • コマンドに渡すxfs_quota正しいパラメータは何ですか?
  • ユーザーが80人の場合、xfs_quota各アカウントに対して80個のコマンドを実行する必要がありますか/home?それともコマンドインスタンスを介して実行できますか?
  • 動作する必要がありますかmount -o remount /home?私はそれが成功していないumountか、reboot必要ではないことがわかりました。動作しますかumount -l?ユーザーがログインしたライブシステムでは、これはどれほど危険ですか?
  • 今後の新規ユーザーの場合は、xfs_quotaホームフォルダに新しい要件を適用する必要がありますか、それとも自動的に適用する方法はありますか?

答え1

  • xfs_quota-x便利な作業を行うには、オプション(おそらく「エキスパートモード」)が必要です。これは簡単に見落とされる可能性があります。

  • 80人のユーザー全員に同じクォータを付与するには、次のようにします。

    for user in $(awk -F: '($3 > 1000 && $3 < 60000){print $1}' /etc/passwd); do \
    xfs_quota -x -c "limit -u bhard=1024m $user" /home; done
    
  • 私の考えでは、インストール(または)中に設定する必要があるようですuquotagquota再インストールでオンまたはオフにすることはできないようです。

  • デフォルトのクォータの場合、UID 0のクォータを設定できます。これは、特定のクォータが設定されていないすべてのユーザーのデフォルトクォータとして使用されます。たとえば、テストFSを作成できます。

    # mkdir /mnt/test
    # lvcreate -L 1G -n test datavg
    # mkfs.xfs /dev/mapper/datavg-test
    # mount /dev/mapper/datavg-test /mnt/test -o uquota
    # xfs_quota -x -c "report" /mnt/test
    User quota on /mnt/test (/dev/mapper/datavg-test)
                                   Blocks
    User ID          Used       Soft       Hard    Warn/Grace
    ---------- --------------------------------------------------
    root                0          0          0     00 [--------]
    
  • その後、特定のクォータ(UID 101の場合は100k)とデフォルトクォータ(UID 0の場合は200k)を設定できます。

    # xfs_quota -x -c "limit -u bhard=100k 101" /mnt/test
    # xfs_quota -x -c "limit -u bhard=200k 0" /mnt/test
    
  • 次に、UID 101(特定のクォータあり)とUID 102(特定のクォータなし)が所有するデータをいくつか作成し、クォータレポートを表示すると次のようになります。

    # dd if=/dev/zero of=/mnt/test/f1 bs=1k count=10; chown 101 /mnt/test/f1
    # dd if=/dev/zero of=/mnt/test/f2 bs=1k count=10; chown 102 /mnt/test/f2
    # xfs_quota -x -c "report" /mnt/test
    User quota on /mnt/test (/dev/mapper/datavg-test)
                                   Blocks
    User ID          Used       Soft       Hard    Warn/Grace
    ---------- --------------------------------------------------
    root                0          0        200     00 [--------]
    #101               12          0        100     00 [--------]
    #102               12          0        200     00 [--------]
    

UID 101には特定のクォータセットがありますが、UID 102はデフォルトクォータを継承することがわかります。

関連情報