zfs diff genera un error en el conjunto de datos cifrados (se debe cargar la clave para descubrir los nombres de las rutas: permiso denegado)

zfs diff genera un error en el conjunto de datos cifrados (se debe cargar la clave para descubrir los nombres de las rutas: permiso denegado)

Estoy ejecutando lo siguiente en Debian 10:

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

Tengo un conjunto de datos de 2 TB (frase de contraseña cifrada) que utilizan muchos colegas. También estoy usando Zabbix para monitorear y he implementado ciertas alarmas para saber si se han eliminado demasiados archivos. Este es el script que estoy ejecutando como cronjob una vez al día para comprobar cuántos archivos se han modificado, eliminado o agregado:

#!/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

Si ejecuto el script manualmente, funciona el 90% del tiempo. A veces da este error (al ejecutar el zfs diffcomando:

Key must be loaded to discover path names: Permission denied

Cuando se ejecuta el script mediante cron, falla casi todo el tiempo,a menos quePrimero ejecuté el script manualmente. Luego funciona durante 2 días y vuelve a darme el error anterior.

También lleva mucho tiempo hacer la diferenciación (15-20 minutos) y no estoy seguro de si tiene algo que ver con el error anterior o no. ¿Algunas ideas?

información relacionada