Отправка снимка ZFS на удаленную машину

Изменить:

Этот вопрос первоначально был посвящен вопросу об обратном направлении ssh-соединения при передаче, но я понял, что это не то, что вызывает проблемы, с которыми я сталкиваюсь, поэтому Я упростил это.

Хотя документация Ubuntu zfs обсуждает только отправку-получение через файл, этот подход невозможен с большими наборами данных. Документация Oracle рекомендует использовать ssh в трубе, т. Е.

# zfs send tank/dana@snap1 | ssh sys2 zfs recv newtank/dana

Однако, пытаясь выполнить эту процедуру с помощью набора тестовых данных, который я создал, содержащий один файл 10M, я столкнулся с проблемой Реализация Ubuntu Xenial из zfs (ZFS-on-Linux), требующая прав root (на принимающей стороне):

$ sudo -i
# zfs send tank/dana@snap1 | ssh sys2 zfs recv newtank/dana
Permission denied the ZFS utilities must be run as root.
warning: cannot send 'tank/dana@snap1': Broken pipe

Я попытался исправить эту проблему, передав ssh флаг -t , то есть выдача

# zfs send tank/dana@snap1 | ssh -t sys2 "sudo zfs recv newtank/dana"

, которая не выполняется с

Pseudo-terminal will not be allocated because stdin is not a terminal.

перед запросом учетных данных sys2, после чего принимаются следующие сообщения:

sudo: no tty present and no askpass program specified
warning: cannot send 'tank/dana@snap1': Broken pipe

Попытка выполнить перенос теста в другом направлении с использованием

# ssh -t sys2 "sudo zfs send newtank/dana2@snap1" | zfs recv tank/dana2

просто зависает после запроса учетных данных sys2. (Вспомните, каждый снимок содержит только 10 М-файл, поэтому я считаю, что он на самом деле ничего не пытается сделать, но я не уверен, почему он висит.)

1
задан 28 April 2016 в 23:50

0 ответов

Другие вопросы по тегам:

Похожие вопросы: