파일 시스템에 할당량을 설정하려고 하는데 다음과 같은 유명한 메시지를 받았습니다.
할당량 확인: 커널이 로그 할당량을 지원할 수 있지만 이를 사용하고 있지 않습니다. 비정상적인 종료 후 할당량 확인 실행을 방지하려면 로그 할당량으로 전환하는 것이 좋습니다.
저널링된 할당량과 저널링되지 않은 할당량의 차이점을 설명하는 링크/소스를 찾으려고 하는데 찾을 수 없습니다.
이들 사이의 차이점은 무엇이며 언제 어느 것을 사용해야 합니까?
또한 로그 할당량을 생성할 때 사용해야 하는 설치 옵션(관련 문서를 찾을 수 없음)은 입니다 qfmt=vfsv1
.
이 옵션은 무엇입니까?
답변1
이 오래된 것부터토론 주제:
시작 시 커널은 런타임 시(예: 에서) 파일 시스템 사용량을 읽고 해당 파일 시스템에 저장된 파일 aquota.user
의 정보를 제한합니다. aquota.group
시스템이 시작되면:quotaon
init.d
- 의 경우보통 할당량할당량 정보는 새 파일 시스템 저장소가 파일에 할당되거나 해제될 때 커널에 의해 지속적으로 추적되지만, 명령( 즉 , 시스템 호출 의 하위 명령 )이 실행될
aquota.*
때만 파일에 기록됩니다(대개 종료 스크립트의 일부로). )이 실행됩니다.quotaoff
quotasync
Q_SYNC
quotactl
- 그리고저널 할당량, 차이점은
aquota.*
파일의 사용 정보가 공간 할당을 수행하는 파일 시스템 트랜잭션의 일부로 업데이트된다는 것입니다.
부팅 중에 불완전한 파일 시스템 종료가 감지되면(예: /var/lib/quota/off
Debian 시스템이 실행 중이 아니기 때문에 찾을 수 없는 경우 quotaoff
) 종료 전에 커널 메모리의 파일 시스템 사용량 및 제한 정보를 제대로 플러시할 수 없을 가능성이 높습니다. aquota.*
파일 에 .
- 그렇다면 그렇다면보통 할당량
quotacheck
aquota.*
파일 시스템의 블록 할당 구조를 읽어 수집한 실제 사용 정보로 파일을 업데이트하려면 이를 실행합니다 . - 만일의 경우에도저널 할당량시스템 충돌 후 로그가 실행되고 재생되면 파일의 공간 사용량 정보가
aquota.*
자동으로 업데이트됩니다.fsck
그러나 로그 재생 외에도 일부 파일 시스템 손상이 발견된 경우(예: 슈퍼블록에 기록된 일관되지 않은 메타데이터) 파일 시스템을 수정하여 복구해야 하는 경우 실행해야 합니다quotacheck
.fsck
두 경우 모두 할당량이 비활성화된 상태(또는 시스템 부팅 후 비활성화된 상태)로 시스템이 부팅되면 커널이 유지 관리하는 사용 정보는 quotacheck
수동으로 실행하거나 비정상 종료로 인해 실행하지 않는 한 실제 사용 정보와 동기화되지 않게 됩니다. cron
작업과 스크립트는 정상적인 시스템 작동 중이나 완전한 종료 후에 실행되지 않도록 init.d
작성되는 경우가 많습니다 ( 커널 명령줄 매개변수 참조).quotacheck
quotacheck.mode
또한 로그 할당량을 생성할 때 사용해야 하는 설치 옵션(관련 문서를 찾을 수 없음)은 입니다
qfmt=vfsv1
.
이것이 파일의 형식입니다 aquota.*
. ~에서커널 구성:
config QFMT_V2
... 이 구성 옵션은 할당량 형식 에
대한 커널 지원을 활성화합니다 . 두 형식 모두 32비트 UID/GID를 지원하며 vfsv1 형식은 64비트 inode 및 블록 할당량 제한도 지원합니다.vfsv0
vfsv1
그리고로부터할당량(2):
현재 세 가지 할당량 형식이 지원됩니다.
QFMT_VFS_OLD
원래 할당량 형식.QFMT_VFS_V0
표준 VFS v0 할당량 형식은 32비트 UID 및 GID를 처리할 수 있으며 할당량 제한은 최대 2^42바이트 및 2^32 inode입니다.QFMT_VFS_V1
2^64바이트 및 2^64 inode의 할당량 제한으로 32비트 UID 및 GID를 처리할 수 있는 할당량 형식입니다.
버전 1 할당량 파일(형식 QFMT_VFS_OLD
또는 설치 옵션 jqfmt=vfsold
, 커널 구성 QFMT_V1
)은 이름이 지정됩니다 quota.*
. 버전 2 할당량 파일(형식 QFMT_VFS_V0
및 QFMT_VFS_V1
/또는 설치 옵션 jqfmt=vfsv0
및 jqfmt=vfsv1
)은 로그 할당량을 지원합니다.