zfs diff는 암호화된 데이터세트에 오류를 표시합니다(경로 이름을 검색하려면 키를 로드해야 함: 권한이 거부됨)

zfs diff는 암호화된 데이터세트에 오류를 표시합니다(경로 이름을 검색하려면 키를 로드해야 함: 권한이 거부됨)

Debian 10에서 다음을 실행하고 있습니다.

zfs-0.8.4-2~bpo10+1
zfs-kmod-0.8.4-2~bpo10+1

나는 많은 동료들이 사용하는 2TB(암호화된 암호) 데이터 세트를 가지고 있습니다. 나는 또한 모니터링을 위해 Zabbix를 사용하고 있으며 너무 많은 파일이 삭제되었는지 알 수 있는 특정 경보를 구현했습니다. 다음은 수정, 삭제 또는 추가된 파일 수를 확인하기 위해 하루에 한 번 cronjob으로 실행하는 스크립트입니다.

#!/bin/bash
LIST="/tmp/snaplist.txt"
DIFF="/tmp/diff.txt"
zfs list -t snapshot | grep production_dataset | grep 'snap_31' | awk '{print $1}' | tail -2 > $LIST && echo "Snapshot list saved"

while read -r SNAP; do
        snaps+=("$SNAP")
done < $LIST

zfs diff "${snaps[0]}" "${snaps[1]}" > $DIFF && echo "Diff saved successfully"

status=(M - + R)
trappers=(mod rem add ren)

for ((n=0;n<${#status[@]};n++)); do
        RESULT=$(cat $DIFF | grep -E "^${status[n]}" | wc -l)
        TRAPPER="zfsdiff_${trappers[n]}"
        /usr/bin/zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "$TRAPPER" -o "$RESULT"
done

rm $LIST
rm $DIFF

스크립트를 수동으로 실행하면 90%의 시간 동안 작동합니다. 때때로 다음과 같은 오류가 발생합니다( zfs diff명령을 실행할 때:

Key must be loaded to discover path names: Permission denied

cron을 통해 스크립트를 실행할 때 거의 항상 실패합니다.~하지 않는 한먼저 스크립트를 수동으로 실행했습니다. 그런 다음 2일 동안 작동하고 다시 위의 오류가 발생합니다.

또한 diff를 수행하는 데 시간이 매우 오래 걸리며(15~20분) 이것이 위의 오류와 관련이 있는지 여부는 확실하지 않습니다. 어떤 아이디어가 있나요?

관련 정보