ZFS: Подавление резервирования на принимающей стороне?
Я пытаюсь постепенно отправлять изменения для zvol из моего рабочего пула (zdata
) в резервный пул (zbackup
), однако я изо всех сил пытаюсь подавить это свойство.
Хотя я понимаю, что цель этого свойства — гарантировать, что в zvol будет достаточно места, я не предполагаю, что когда-либо смонтирую его из резервного пула, поэтому я бы предпочел освободить место, тем более что zvol по большей части пуст и, вероятно, будет какое-то время.
Однако, хотя я могу временно отключить эту настройку, она, похоже, продолжает воссоздаваться, и я не совсем понимаю, почему.
Команда, которую я использую для отправки дополнительных изменений, выглядит примерно так:
zfs send -pw -i @snapshot1 zdata/zvol@snapshot2 | zfs receive -dus -x reservation -x refreservation zbackup
В основном на отправляющей стороне у меня есть-p
для отправки свойств (поскольку я хочу, чтобы другие свойства были синхронизированы),-w
для отправки зашифрованных блоков и-i
чтобы указать моментальный снимок, из которого будет осуществляться инкрементная отправка.
На принимающей стороне у меня есть-d
для соглашения об именах (отбросьте имя пула),-u
чтобы ничего не монтировалось, и-s
чтобы разрешить возобновление прерванной передачи (с использованием токена возобновления), а также удалить свойства, которые я не хочу передавать (reservation
иrefreservation
, хотя я думаю, что на самом деле требуется только последнее).
Моя проблема в том, что удаление свойств, похоже, не приживается; при первом запуске команды резервирование исчезло (и у меня было ожидаемое свободное место), затем при следующем запуске команды резервирование вернулось. Кажется, он чередуется каждый раз, когда я запускаю команду, а не остается подавленным.*
Если я побегуzfs get refreservation zbackup/zvol
когда резервирование вернулось, я получаю ответ типа:
zbackup/zvol refreservation 257G received
Несмотря на то, что свойство не должно быть получено (или, если оно получено, его следует игнорировать), согласно опциям принимающей стороны.
Я понимаю, что могу попробовать установить резервирование наnone
на принимающей стороне в качестве местной собственности или использовать-o
возможность установитьrefreservation=none
как вариант наzfs receive
, но я бы подумал, что мне не нужно делать ни того, ни другого, если-x
ведет себя так, как должно? Так я делаю что-то не так в этом случае или это, скорее всего, ошибка?
Обновление : * На самом деле, переменное поведение, которое я наблюдаю, может быть связано с изменением другого свойства (возможно, вызывающим повторную отправку свойств получателю при каждом втором запуске). Однако это не является причиной общей проблемы (резервирование каким-то образом получено, хотя оно должно быть исключено).