3.3. XFS 할당량 관리
XFS 할당량 하위 시스템은 디스크 공간(블록) 및 파일(inode) 사용에 대한 제한을 관리합니다. XFS 할당량은 사용자, 그룹 또는 디렉터리 또는 프로젝트 수준에서 이러한 항목의 사용을 제어하거나 보고합니다. 또한 사용자, 그룹, 디렉터리 또는 프로젝트 할당량은 독립적으로 활성화되지만 그룹 및 프로젝트 할당량은 상호 배타적입니다.
디렉토리별 또는 프로젝트별로 관리하는 경우 XFS는 특정 프로젝트와 관련된 디렉터리 계층 구조의 디스크 사용량을 관리합니다. 이를 통해 XFS는 프로젝트 간 조직 간 "그룹" 경계를 인식합니다. 이는 사용자 또는 그룹의 할당량을 관리할 때 사용 가능한 것보다 광범위한 제어 수준을 제공합니다.
XFS 할당량은 마운트 시 특정 마운트 옵션과 함께 활성화됩니다. 각 마운트 옵션은 noenforce 로 지정할 수도 있습니다. 이를 통해 제한을 강제 적용하지 않고 사용량을 보고할 수 있습니다. 유효한 할당량 마운트 옵션은 다음과 같습니다.
- uquota/uqnoenforce: 사용자 할당량
- gquota/gqnoenforce: 그룹 할당량
- pquota/pqnoenforce: 프로젝트 할당량
할당량이 활성화되면 xfs_quota 툴을 사용하여 제한을 설정하고 디스크 사용량을 보고할 수 있습니다. 기본적으로 xfs_quota 는 대화식 및 기본 모드에서 실행됩니다. 기본 모드 하위 명령은 사용을 보고하며 모든 사용자가 사용할 수 있습니다. 기본 xfs_quota 하위 명령은 다음과 같습니다.
- quota username/userID
- 지정된 사용자 이름 또는 숫자 userID의 사용량 및 제한 표시
- df
- 블록 및 inode에 대해 무료이고 사용되는 수를 표시합니다.
반면 xfs_quota 에는 전문가 모드 도 있습니다. 이 모드의 하위 명령은 실제 제한을 설정할 수 있으며 상승된 권한이 있는 사용자만 사용할 수 있습니다. 전문가 모드 하위 명령을 대화형으로 사용하려면 다음 명령을 사용합니다.
#
xfs_quota -x
전문가 모드 하위 명령은 다음과 같습니다.
- 보고서 /path
- 특정 파일 시스템에 대한 할당량 정보를 보고합니다.
- limit
- 할당량 제한을 수정합니다.
기본 또는 전문가 모드에 대한 전체 하위 명령 목록을 보려면 하위 명령 도움말 을 사용합니다.
모든 하위 명령은 -c 옵션과 함께 전문가 하위 명령인 -x 를 사용하여 명령줄에서 직접 실행할 수도 있습니다.
예 3.2. 샘플 할당량 보고서 표시
예를 들어
/home
( /dev/blockdevice
에서)에 대한 샘플 할당량 보고서를 표시하려면 xfs_quota -x -c 'report -h' /home 명령을 사용합니다. 그러면 다음과 유사한 출력이 표시됩니다.
User quota on /home (/dev/blockdevice) Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 0 0 0 00 [------] testuser 103.4G 0 0 00 [------] ...
홈 디렉토리가
/home/john
인 사용자 john
에 대해 소프트 및 하드 inode 수 제한을 각각 설정하려면 다음 명령을 사용합니다.
#
xfs_quota -x -c 'limit isoft=500 ihard=700 john' /home/
이 경우 마운트된 xfs 파일 시스템에 해당하는 mount_point 를 전달합니다.
기본적으로 limit 하위 명령은 대상을 사용자로 인식합니다. 그룹에 대한 제한을 구성할 때 이전 예제와 같이 -g 옵션을 사용합니다. 마찬가지로 프로젝트에 -p 를 사용합니다.
소프트 및 하드 블록 제한은 isoft 또는 ihard 대신 bsoft 또는 bhard 를 사용하여 구성할 수도 있습니다.
예 3.3. 소프트 및 하드 블록 제한 설정
예를 들어 1000m 및 1200m의 소프트 및 하드 블록 제한을 각각
/target/path
파일 시스템에서 accounting
그룹으로 설정하려면 다음 명령을 사용합니다.
#
xfs_quota -x -c 'limit -g bsoft=1000m bhard=1200m accounting' /target/path
참고
bsoft 및 bhard 명령은 바이트 단위입니다.
중요
실시간 블록(rtbhard/rtbsoft)은 할당량을 설정할 때 유효한 단위로 man xfs_quota 에 설명되지만, 이 릴리스에서는 실시간 하위 볼륨이 활성화되지 않습니다. 따라서 rtbhard 및 rtbsoft 옵션은 적용되지 않습니다.
3.3.1. 프로젝트 제한 설정
XFS 파일 시스템을 사용하면 관리 트리라는 파일 시스템의 개별 디렉터리 계층에 할당량을 설정할 수 있습니다. 각 관리 트리는 프로젝트 ID와 선택적 프로젝트 이름으로 고유하게 식별됩니다.
- 프로젝트 제어 디렉토리를
/etc/projects
에 추가합니다. 예를 들어 다음은 고유 ID가 11인/var/log
경로를/etc/projects
에 추가합니다. 프로젝트 ID는 프로젝트에 매핑된 모든 숫자 값일 수 있습니다.#
echo 11:/var/log >> /etc/projects /etc/projid
에 프로젝트 이름을 추가하여 프로젝트 ID를 프로젝트 이름에 매핑합니다. 예를 들어 다음에서는 Logs라는 프로젝트를 이전 단계에서 정의한 대로 프로젝트 ID 11과 연결합니다.#
echo Logs:11 >> /etc/projid- 프로젝트 디렉터리를 초기화합니다. 예를 들어 다음은 프로젝트 디렉토리
/var
:를 초기화합니다.#
xfs_quota -x -c 'project -s logfiles' /var - 초기화된 디렉터리를 사용하여 프로젝트의 할당량을 구성합니다.
#
xfs_quota -x -c 'limit -p bhard=lg logfiles' /var
일반 할당량 구성 툴(예:할당량,repquota, edquota )을 사용하여 XFS 할당량을 조작할 수도 있습니다. 그러나 이러한 툴은 XFS 프로젝트 할당량과 함께 사용할 수 없습니다.
중요
Red Hat은 사용 가능한 다른 모든 툴에서 xfs_quota 를 사용할 것을 권장합니다.
XFS 할당량 설정에 대한 자세한 내용은 man xfs_quota,man projid(5) 및 man projects(5) 를 참조하십시오.