Только начинаю с znapzend
который собрал штраф на Ubuntu 14.04 (исходный компьютер, обновленный до Ubuntu 16.04). Конечный компьютер - Ubuntu 16.04 («сервер резервного копирования»). Я установил пару ключей ssh без пароля с ssh-keygen
/ssh-copy-id [destination]
. Я могу ssh backupserver
без пароля просто отлично. Проблема в том, znapzend
Кажется, что по какой-то причине не удается достичь резервного сервера. mbuffer находится в /usr/bin/mbuffer
на обеих машинах. Вот мой znapzendzetup
команда и вывод выполняются на исходном компьютере:
sudo znapzendzetup create --recursive --mbuffer=/usr/bin/mbuffer --tsformat='%Y-%m-%d-%H%M%S' SRC '1y=>1d' pool/Documents DST '1y=>1d' jon@backupserver:pool/Documents
Host key verification failed.
Host key verification failed.
*** WARNING: executable '/usr/bin/mbuffer' does not exist on jon@backupserver
*** backup plan: pool/Documents ***
dst_0 = jon@backupserver:pool/Documents
dst_0_plan = 1year=>1day
*** WARNING: destination 'jon@backupserver:pool/Documents' does not exist, will be ignored! ***
enabled = on
mbuffer = /usr/bin/mbuffer
mbuffer_size = 1G
post_znap_cmd = off
pre_znap_cmd = off
recursive = on
src = pool/Documents
src_plan = 1year=>1day
tsformat = %Y-%m-%d-%H%M%S
Do you want to save this backup set [y/N]?
Спасибо за любую информацию, которую вы можете предоставить!
Я получаю либо:
Host key verification failed.
или
Permission denied the ZFS utilities must be run as root.
в зависимости от того, запускаю ли я znapzendzetup с помощью sudo или у меня есть --sudo в команде:
sudo znapzendzetup create ...
или
znapzendzetup create --sudo ...
Я добавил эту строку в / etc / sudoers (через visudo):
jon ALL=(ALL) NOPASSWD:ALL
И выполнил эту строку как на хосте, так и на целевой машине:
sudo zfs allow -u jon create,mount,send,receive,snapshot,destroy pool/Documents
Я могу попробовать включить root-вход без пароля, но я понимаю, что это не рекомендуется. Спасибо, что заглянули!
Я включил удаленный вход root через ssh, изменив эти строки в / etc / ssh / sshd_confg на конечном компьютере:
#PermitRootLogin prohibit-password
PermitRootLogin yes
Затем на исходной машине:
sudo passwd root
su
ssh-keygen
ssh-copy-id BACKUPSERVER
Команды znapzend теперь работают как sudo и без аргумента --sudo!
Затем я инициировал команду znapzend с выводом ниже:
jon@FILESERVER:~$ sudo znapzend --debug --runonce=pool/Documents
[Wed Apr 27 17:54:42 2016] [info] znapzend (PID=6388) starting up ...
[Wed Apr 27 17:54:42 2016] [info] refreshing backup plans...
[Wed Apr 27 17:54:42 2016] [info] found a valid backup plan for pool/Documents...
[Wed Apr 27 17:54:42 2016] [info] znapzend (PID=6388) initialized -- resuming normal operations.
[Wed Apr 27 17:54:42 2016] [debug] snapshot worker for pool/Documents spawned (6391)
[Wed Apr 27 17:54:42 2016] [info] creating snapshot on pool/Documents
# zfs snapshot pool/Documents@2016-04-27-175442
[Wed Apr 27 17:54:42 2016] [debug] snapshot worker for pool/Documents done (6391)
[Wed Apr 27 17:54:42 2016] [debug] send/receive worker for pool/Documents spawned (6393)
[Wed Apr 27 17:54:42 2016] [info] starting work on backupSet pool/Documents
# zfs list -H -o name -t snapshot -s creation -d 1 pool/Documents
[Wed Apr 27 17:54:42 2016] [debug] cleaning up snapshots on pool/Documents
# zfs destroy pool/Documents@2016-04-27-174027
[Wed Apr 27 17:54:43 2016] [info] done with backupset pool/Documents in 1 seconds
[Wed Apr 27 17:54:43 2016] [debug] send/receive worker for pool/Documents done (6393)
Похоже, что он работал успешно, но пока еще не сделал резервную копию набора данных в место назначения. Когда он копирует файлы?
Кроме того, к вашему сведению, я добавил znapzend в качестве службы с:
sudo cp ~/znapzend-0.15.5/init/znapzend.service /etc/systemd/system
sudo chown root:root /etc/systemd/system/znapzend.service
systemctl enable znapzend.service
sudo systemctl enable znapzend.service
sudo systemctl start znapzend.service
sudo service znapzend status
Спасибо!
Хорошо, теперь у меня все в порядке. У меня не было настроек конфигурации для входа в систему с «root» на целевом компьютере, что препятствовало отправке / получению. Вот моя обновленная команда znapzendzetup:
sudo znapzendzetup create --mbuffer=/usr/bin/mbuffer --tsformat='%Y-%m-%d-%H%M%S' SRC '7d=>1h,1y=>1d' pool/Documents DST '7d=>1h,1y=>1d' root@BACKUPSERVER:pool/Documents
Резервное копирование успешно завершено после:
sudo znapzend --debug --runonce=pool/Documents
Спасибо за этот отличный инструмент для создания снимков и резервного копирования ZFS !!!
Тоби указал мне правильное направление (спасибо!). Мое решение заключалось в том, чтобы включить root-вход без пароля через ssh, что, вероятно, не идеально, но я нахожусь в домашней локальной сети, так что все должно быть в порядке. Проблема заключалась в том, что я не мог заставить пользователя без полномочий root запускать команды zfs с sudo поверх ssh по какой-то причине, даже если вход по ssh без пароля полностью работал от имени этого пользователя без полномочий root. 'znapzendzetup create --sudo ...' будет работать, но затем 'znapzend --noaction --debug' дал: 'В доступе отказано, утилиты ZFS должны запускаться от имени пользователя root'по какой-то причине (и, я думаю, для команды znapzend нет опции --sudo). Поэтому я настраиваю вход по ssh как root (ОБНОВЛЕНИЕ # 2). Чтобы проверить это, я сделал:
sudo ssh BACUPSERVER 'zfs list'
Затем мне пришлось не забыть изменить мою команду znapzendzetup на вход в систему как root с (см. ОБНОВЛЕНИЕ # 3):
sudo znapzendzetup ... root@BACKUPSERVER:pool/Documents
Вчера вечером я добавил интервал моментального снимка «1w => 30 минут» для всех трех моих наборов данных, а сегодня утром все было полностью скопировано на мой BACKUPSERVER. Ницца!
так как вы используете sudo
Я предполагаю, что ключи, которые вы настроили, недействительны для правильного пользователя ... попробуйте
sudo ssh backuphost ls
чтобы проверить вашу настройку