저널 할당량과 일반 할당량의 차이

저널 할당량과 일반 할당량의 차이

파일 시스템에 할당량을 설정하려고 하는데 다음과 같은 유명한 메시지를 받았습니다.

할당량 확인: 커널이 로그 할당량을 지원할 수 있지만 이를 사용하고 있지 않습니다. 비정상적인 종료 후 할당량 확인 실행을 방지하려면 로그 할당량으로 전환하는 것이 좋습니다.

저널링된 할당량과 저널링되지 않은 할당량의 차이점을 설명하는 링크/소스를 찾으려고 하는데 찾을 수 없습니다.

이들 사이의 차이점은 무엇이며 언제 어느 것을 사용해야 합니까?

또한 로그 할당량을 생성할 때 사용해야 하는 설치 옵션(관련 문서를 찾을 수 없음)은 입니다 qfmt=vfsv1.

이 옵션은 무엇입니까?

답변1

이 오래된 것부터토론 주제:

시작 시 커널은 런타임 시(예: 에서) 파일 시스템 사용량을 읽고 해당 파일 시스템에 저장된 파일 aquota.user의 정보를 제한합니다. aquota.group시스템이 시작되면:quotaoninit.d

  • 의 경우보통 할당량할당량 정보는 새 파일 시스템 저장소가 파일에 할당되거나 해제될 때 커널에 의해 지속적으로 추적되지만, 명령( 즉 , 시스템 호출 의 하위 명령 )이 실행될 aquota.*때만 파일에 기록됩니다(대개 종료 스크립트의 일부로). )이 실행됩니다.quotaoffquotasyncQ_SYNCquotactl
  • 그리고저널 할당량, 차이점은 aquota.*파일의 사용 정보가 공간 할당을 수행하는 파일 시스템 트랜잭션의 일부로 업데이트된다는 것입니다.

부팅 중에 불완전한 파일 시스템 종료가 감지되면(예: /var/lib/quota/offDebian 시스템이 실행 중이 아니기 때문에 찾을 수 없는 경우 quotaoff) 종료 전에 커널 메모리의 파일 시스템 사용량 및 제한 정보를 제대로 플러시할 수 없을 가능성이 높습니다. aquota.*파일 에 .

  • 그렇다면 그렇다면보통 할당량 quotacheckaquota.*파일 시스템의 블록 할당 구조를 읽어 수집한 실제 사용 정보로 파일을 업데이트하려면 이를 실행합니다 .
  • 만일의 경우에도저널 할당량시스템 충돌 후 로그가 실행되고 재생되면 파일의 공간 사용량 정보가 aquota.*자동으로 업데이트됩니다. fsck그러나 로그 재생 외에도 일부 파일 시스템 손상이 발견된 경우(예: 슈퍼블록에 기록된 일관되지 않은 메타데이터) 파일 시스템을 수정하여 복구해야 하는 경우 실행해야 합니다 quotacheck.fsck

두 경우 모두 할당량이 비활성화된 상태(또는 시스템 부팅 후 비활성화된 상태)로 시스템이 부팅되면 커널이 유지 관리하는 사용 정보는 quotacheck수동으로 실행하거나 비정상 종료로 인해 실행하지 않는 한 실제 사용 정보와 동기화되지 않게 됩니다. cron작업과 스크립트는 정상적인 시스템 작동 중이나 완전한 종료 후에 실행되지 않도록 init.d작성되는 경우가 많습니다 ( 커널 명령줄 매개변수 참조).quotacheckquotacheck.mode

또한 로그 할당량을 생성할 때 사용해야 하는 설치 옵션(관련 문서를 찾을 수 없음)은 입니다 qfmt=vfsv1.

이것이 파일의 형식입니다 aquota.*. ~에서커널 구성:

config QFMT_V2
... 이 구성 옵션은 할당량 형식 에
대한 커널 지원을 활성화합니다 . 두 형식 모두 32비트 UID/GID를 지원하며 vfsv1 형식은 64비트 inode 및 블록 할당량 제한도 지원합니다.vfsv0vfsv1

그리고로부터할당량(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_V0QFMT_VFS_V1/또는 설치 옵션 jqfmt=vfsv0jqfmt=vfsv1)은 로그 할당량을 지원합니다.

관련 정보