Я использую следующее на 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 минут), и я не уверен, связано ли это с ошибкой выше или нет. Есть идеи?