xfs_quota는 /home 아래의 모든 사용자에게 적용됩니다.

xfs_quota는 /home 아래의 모든 사용자에게 적용됩니다.

RHEL 8.9에는 100GB XFS 형식의 파티션이 있습니다 . /home모든 로컬 사용자 계정 /etc/passwd의 홈 디렉터리 는 에 있습니다 /home. 모든 사용자 계정의 기본 gid는 항상 100 {users}입니다.

/home데이터 관리를 위한 관리 노력의 일환으로 각 사용자 계정에 1GB의 할당량을 적용하고 싶습니다 . 현재 사용자는 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
    
  • 제 생각에는 설치(또는) 중에 설정해야 할 것 같습니다 uquota. gquota재설치로 켜거나 끌 수는 없을 것 같습니다.

  • 기본 할당량의 경우 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는 기본 할당량을 상속한다는 것을 알 수 있습니다.

관련 정보