zfs diff выдает ошибку в зашифрованном наборе данных (необходимо загрузить ключ для обнаружения имен путей: доступ запрещен)

zfs diff выдает ошибку в зашифрованном наборе данных (необходимо загрузить ключ для обнаружения имен путей: доступ запрещен)

Я использую следующее на Debian 10:

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

У меня есть набор данных объемом 2 ТБ (зашифрованный парольной фразой), который используют многие коллеги. Я также использую 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 дня, а затем снова выдает ошибку, указанную выше.

Также очень долго делается сравнение (15-20 минут), и я не уверен, связано ли это с ошибкой выше или нет. Есть идеи?

Связанный контент