매우 이상한 문제가 있습니다. CentOS 서버 6.10과 ZFS 저장소가 있습니다. 이제 저장소는 오래 전에 누군가에 의해 구성되었으며 특정 사용자에 대한 할당량 설정이 있음을 발견했습니다.
파일 시스템을 확인하면 출력이 나타납니다.
zfs# zfs get quota volume/local/default/users
NAME PROPERTY VALUE SOURCE
volume/local/default/users quota none default
따라서 여기에서 상위 폴더에 설정된 할당량이 없다는 것을 알 수 있지만 다음을 사용하여 특정 사용자를 확인할 때:
zfs# quota -v user
Disk quotas for user (uid 1000):
Filesystem usage quota limit timeleft files quota limit timeleft
/export/mail 930552 10485760 10485760 - - - - -
/export/users
2147483646 31457280 31457280 NOT STARTED - - - -
그래서 사용자를 볼 수 있어요
사용자
할당량이 설정되었습니다.
이 ZFS는 이제 /etc/fstab에 다음 값을 사용하여 CentOS 6.10에 설치됩니다.
zfs.mydomain.com:/export/users /users nfs defaults,_netdev 0 0
/users 폴더에 액세스할 수 있습니다. 문제는 chown 명령을 사용하려고 할 때 시작됩니다.
chown -R test:grp /home/user/mnt/child_fldr
"테스트" 사용자는 NIS 사용자입니다. NIS에서 모든 사용자 목록을 얻을 수 있으면 ypcat passwd를 사용하여 테스트하기도 했습니다. (나도) 그러니 그건 문제가 되지 않는다. 잘못된 출력은 다음과 같습니다.
chown: '/home/user/mnt/child_fldr/temp'의 소유권 변경: 디스크 할당량이 초과되었습니다.
이제 더 혼란스러운 점은 로컬 사용자 계정을 사용하여 소유권을 변경하려고 하면 변경하는 데 문제가 없지만 NIS 사용자를 사용할 때는 어리석은 디스크 할당량 초과 메시지가 표시된다는 것입니다.
테스트를 위해 child_fldr 상위 디렉터리에서 "quotas" 파일을 삭제하고 드라이브를 다시 마운트해 보았으나 성공하지 못했습니다. 또한 ZSF에서는 quotaoff -a 명령을 사용하여 테스트 할당량을 완전히 제거하려고 시도했지만 다시 진행되지 않았습니다.
디렉토리의 소유권을 다시 변경하려면 문제를 어떻게 해결해야 합니까?
답변1
Oracle 매뉴얼을 살펴보았지만 매우 간단한 내용을 달성할 수 없었습니다.
파일 시스템이 아닌 사용자 할당량입니다... :-)
그래서 나에게 필요한 명령은 다음과 같습니다.
zfs set userquota@1000=none volume/local/default/users