4장. GFS2 할당량 관리
파일 시스템 할당량은 사용자 또는 그룹이 사용할 수 있는 파일 시스템 공간의 양을 제한하는 데 사용됩니다. 사용자 또는 그룹은 설정할 때까지 할당량 제한이 없습니다. quota=on
또는 quota=account
옵션을 사용하여 GFS2 파일 시스템을 마운트하면, GFS2는 제한이 없는 경우에도 각 사용자 및 그룹에서 사용하는 공간을 추적합니다. GFS2는 트랜잭션 방식으로 할당량 정보를 업데이트하므로 시스템 충돌 시 할당량 사용을 재구성할 필요가 없습니다. 성능 저하를 방지하려면 GFS2 노드는 주기적으로 업데이트를 할당량 파일에 동기화합니다. 퍼지 할당량 회계를 통해 사용자 또는 그룹이 설정된 제한을 약간 초과할 수 있습니다. 이를 최소화하기 위해 GFS2는 하드 할당량 제한에 접근할 때 동기화 기간을 동적으로 줄입니다.
GFS2에서는 표준 Linux 할당량 기능을 지원합니다. 이를 사용하려면 quota RPM을 설치해야 합니다. 이는 GFS2에서 할당량을 관리하는 데 선호되는 방식이며 할당량을 사용하여 GFS2의 모든 신규 배포에 사용해야 합니다.
디스크 할당량에 대한 자세한 내용은 다음 명령의 도움말
페이지를 참조하십시오.
-
quotacheck
-
edquota
-
repquota
-
할당량
4.1. GFS2 디스크 할당량 구성
GFS2 파일 시스템에 대한 디스크 할당량을 구현하려면 수행해야 하는 세 가지 단계가 있습니다.
디스크 할당량을 구현하기 위한 단계는 다음과 같습니다.
- 실행 또는 계정 모드에서 할당량을 설정합니다.
- 현재 블록 사용량 정보로 할당량 데이터베이스 파일을 초기화합니다.
- 할당량 정책을 할당합니다. ( 회계 모드에서는 이러한 정책이 적용되지 않습니다.)
이러한 각 단계에 대해서는 다음 섹션에서 자세히 설명합니다.
4.1.1. 적용 또는 계정 모드에서 할당량 설정
GFS2 파일 시스템에서 할당량은 기본적으로 비활성화되어 있습니다. 파일 시스템의 할당량을 활성화하려면 quota=on
옵션이 지정된 파일 시스템을 마운트합니다.
할당량이 활성화된 파일 시스템을 마운트하려면 클러스터에 GFS2 파일 시스템 리소스를 생성할 때 options
인수에 quota=on
을 지정합니다. 예를 들어 다음 명령은 생성되는 GFS2 Filesystem
리소스가 할당량을 활성화하여 마운트되도록 지정합니다.
# pcs resource create gfs2mount Filesystem options="quota=on" device=BLOCKDEVICE directory=MOUNTPOINT fstype=gfs2 clone
제한 및 경고 값을 적용하지 않고 디스크 사용량을 추적하고 모든 사용자 및 그룹에 대한 할당량 계정을 유지 관리할 수 있습니다. 이렇게 하려면 quota=account
옵션이 지정된 파일 시스템을 마운트합니다.
할당량이 비활성화된 상태로 파일 시스템을 마운트하려면 클러스터에 GFS2 파일 시스템 리소스를 생성할 때 options
인수에 quota=off
를 지정합니다.
4.1.2. 할당량 데이터베이스 파일 생성
할당량이 활성화된 각 파일 시스템이 마운트되면 시스템에서 디스크 할당량을 사용할 수 있습니다. 그러나 파일 시스템 자체는 아직 할당량을 지원할 준비가 되지 않았습니다. 다음 단계는 quotacheck
명령을 실행하는 것입니다.
quotacheck
명령은 할당량 사용 파일 시스템을 검사하고 파일 시스템당 현재 디스크 사용량 테이블을 작성합니다. 그러면 테이블이 디스크 사용량의 운영 체제 복사본을 업데이트하는 데 사용됩니다. 또한 파일 시스템의 디스크 할당량 파일이 업데이트됩니다.
파일 시스템에 할당량 파일을 생성하려면 -u
및 quotacheck
명령의 -g
옵션을 사용합니다. 이러한 두 옵션은 모두 초기화하려면 사용자 및 그룹 할당량을 지정해야 합니다. 예를 들어 /home
파일 시스템에 할당량을 활성화하면 /home
디렉터리에 파일을 생성합니다.
# quotacheck -ug /home
4.1.3. 사용자당 할당량 할당
마지막 단계는 edquota
명령을 사용하여 디스크 할당량을 할당하는 것입니다. 계정 모드에서 파일 시스템을 마운트한 경우 할당량
을 적용하지 않습니다.
사용자의 할당량을 쉘 프롬프트에서 root로 구성하려면 다음 명령을 실행합니다.
# edquota username
할당량이 필요한 각 사용자에 대해 이 단계를 수행합니다. 예를 들어 아래 예제의 /home
파티션(예:/dev/VolGroup00/LogVol
02)에 할당량이 활성화되어 있고 edquota testuser
명령이 실행되면 시스템의 기본값으로 구성된 편집기에 다음이 표시됩니다.
Disk quotas for user testuser (uid 501): Filesystem blocks soft hard inodes soft hard /dev/VolGroup00/LogVol02 440436 0 0
EDITOR
환경 변수에서 정의한 텍스트 편집기는 edquota
에서 사용됩니다. 편집기를 변경하려면 ~/.bash_profile
파일의 EDITOR
환경 변수를 선택한 편집기의 전체 경로로 설정합니다.
첫 번째 열은 할당량이 활성화된 파일 시스템의 이름입니다. 두 번째 열에는 현재 사용자가 사용 중인 블록 수가 표시됩니다. 다음 두 열은 파일 시스템에서 사용자에 대한 소프트 및 하드 블록 제한을 설정하는 데 사용됩니다.
소프트 블록 제한은 사용할 수 있는 최대 디스크 공간을 정의합니다.
하드 블록 제한은 사용자 또는 그룹이 사용할 수 있는 디스크 공간의 절대 최대 크기입니다. 이 제한에 도달하면 추가 디스크 공간을 사용할 수 없습니다.
GFS2 파일 시스템은 inode에 대한 할당량을 유지하지 않으므로 이러한 열은 GFS2 파일 시스템에는 적용되지 않으며 비어 있습니다.
값 중 하나를 0으로 설정하면 해당 제한이 설정되지 않습니다. 텍스트 편집기에서 제한을 변경합니다. 예를 들면 다음과 같습니다.
Disk quotas for user testuser (uid 501): Filesystem blocks soft hard inodes soft hard /dev/VolGroup00/LogVol02 440436 500000 550000
사용자 할당량이 설정되었는지 확인하려면 다음 명령을 사용하십시오.
# quota testuser
setquota
명령을 사용하여 명령줄에서 할당량을 설정할 수도 있습니다. setquota
명령에 대한 자세한 내용은 setquota
(8) 도움말 페이지를 참조하십시오.
4.1.4. 그룹당 할당량 할당
할당량은 그룹별로 할당할 수도 있습니다. 계정 모드에서 파일 시스템을 마운트한 경우 ( account=on
옵션을 지정한 상태에서) 할당량이 적용되지 않습니다.
devel
그룹(그룹 할당량을 설정하기 전에 그룹이 존재해야 함)에 대한 그룹 할당량을 설정하려면 다음 명령을 사용합니다.
# edquota -g devel
이 명령은 텍스트 편집기에서 그룹의 기존 할당량을 표시합니다.
Disk quotas for group devel (gid 505): Filesystem blocks soft hard inodes soft hard /dev/VolGroup00/LogVol02 440400 0 0
GFS2 파일 시스템은 inode에 대한 할당량을 유지하지 않으므로 이러한 열은 GFS2 파일 시스템에는 적용되지 않으며 비어 있습니다. 제한을 수정한 다음 파일을 저장합니다.
그룹 할당량이 설정되었는지 확인하려면 다음 명령을 사용합니다.
$ quota -g devel