다음과 같은 시나리오가 있습니다.
디스크 공간이 많은 /로 마운트 된 단일 파티션.
다양한 디렉토리 (/ pg / tbs1, / pg / tbs2, / pg / tbs3 등)가 있으며이 디렉토리의 총 크기를 제한하고 싶습니다.
한 가지 옵션은 큰 파일을 만든 다음 mkfs로 만들고 루프백을 통해 마운트 한 다음 할당량을 설정하는 것입니다.
디렉토리 당 할당량을 작동시키는 다른 방법이 있습니까?
다음과 같은 시나리오가 있습니다.
디스크 공간이 많은 /로 마운트 된 단일 파티션.
다양한 디렉토리 (/ pg / tbs1, / pg / tbs2, / pg / tbs3 등)가 있으며이 디렉토리의 총 크기를 제한하고 싶습니다.
한 가지 옵션은 큰 파일을 만든 다음 mkfs로 만들고 루프백을 통해 마운트 한 다음 할당량을 설정하는 것입니다.
디렉토리 당 할당량을 작동시키는 다른 방법이 있습니까?
답변:
ext3을 사용해야한다면 LVM을 사용하는 것이 최선의 해결책 일 것입니다. 프로젝트 당 새로운 파일 시스템을 만듭니다. 다음과 같이 보일 것입니다.
# Create a 10g filesystem for "project1" in volume group "vg0"
lvcreate -L 10g -n project1 vg0
# Create an ext3 filesystem.
mke2fs -j /dev/vg0/project1
# Mount it (obviously you would want this in /etc/fstab)
mount /dev/vg0/project1 /projects/project1
프로젝트 파일 시스템을 쉽게 확장 할 수 있습니다.
# Add 2GB to the volume.
lvextend -L +2g /dev/vg0/project1
# Grow the filesystem.
resize2fs /dev/vg0/project1
실제로 모든 가상 메일 사용자에 대해 시스템 사용자를 만들 필요가 없기 때문에 실제로이 작업을 한 동안 원했습니다. 할당량을 가진 ZFS 파일 시스템은 훌륭 할 것이며 zfs-fuse는 매일 발전하지만, 내가 원했던 것은 매우 가벼운 솔루션이었습니다. 마지막으로 다른 파일 시스템에 레이어로 마운트 할 수있는 FUSE 파일 시스템을 작성하기로 결정했습니다 (기본 디렉토리는 실제로 작동합니다). 이 스크립트에는 쉽게 스크립팅 할 수있는 할당량 관리 유틸리티가 있으며 할당량 값은 디렉토리 나 파일에 xattrs로 저장되기 때문에 하나의 마운트 지점에서 임의의 수의 할당량을 지원할 수 있습니다.
나는 메일 서버에서 잠시 동안 테스트 해 왔으며 최근에 청소년기에 도달하여 야생으로 출시 할 준비가되었다고 결정했습니다. 궁금한 점이 있으면 http://code.google.com/p/fusequota/ 에서 확인할 수 있습니다 . 의견을 보내 주셔서 감사합니다.
각 공유 폴더의 새 파일 시스템은 IMHO 오버 킬입니다. 각 공유 폴더에 대해 새 그룹을 만들고, 공유 폴더의 소유자 그룹을이 그룹으로 설정하고, 스티커 비트를 그룹으로 설정하여 (모든 새 파일 및 디렉토리에이 그룹이 소유자로 설정 됨) 파일 및 폴더에 대한 권한에 acl 목록을 사용하십시오. 그런 다음이 그룹에 할당량을 설정하십시오.
resize2fs
파일 시스템을 확장하는 데 사용 합니다. LVM을 사용하는 것이 더 나은 솔루션이라고 생각하지만 제안한 솔루션에는 생각한 한계가 없습니다.