К основному содержимому

Репликация ZFS между узлами Proxmox VE: настройка

Proxmox VE · 29.09.2026

Живая миграция требует общего хранилища или переноса всего диска по сети в момент переключения. Репликация ZFS решает эту проблему иначе: диск виртуальной машины заранее синхронизируется на соседний узел, и при аварии остаётся включить копию за секунды, а не ждать копирования терабайтов.

Как работает репликация ZFS в Proxmox VE

Механизм построен на снапшотах ZFS и команде zfs send/receive. Proxmox VE по расписанию создаёт снапшот диска VM, отправляет разницу с предыдущим снапшотом на целевой узел и хранит там актуальную копию. Между узлами передаётся только дельта, а не весь диск, поэтому повторная репликация занимает секунды даже для диска на сотни гигабайт.

Требования к хранилищу перед настройкой

На обоих узлах — источнике и получателе — должен быть настроен пул ZFS с одинаковым названием (например rpool/data), а сами узлы обязаны входить в один кластер Proxmox VE. Проверить название пула и его состояние можно командой:

zpool status rpool
zfs list rpool/data

Если пулы называются по-разному, репликацию придётся настраивать через ручной storage.cfg с явным указанием целевого пула.

Настройка задания репликации в интерфейсе

Задание создаётся в свойствах виртуальной машины, в разделе Replication. Заполните параметры:

ПараметрЗначениеКомментарий
Targetимя узла-получателявторой или третий узел кластера
Schedule*/15интервал репликации в минутах
Rate limit50 MB/sограничение полосы на общей сети

После сохранения задание появится в общем списке репликации узла и начнёт первый полный снапшот — он самый долгий, дальше пойдут только инкрементальные передачи.

Как запустить репликацию вручную и проверить статус

Для разовой синхронизации или диагностики используйте команду из консоли узла:

pvesr run --id 101-0
pvesr status

Команда pvesr status показывает время последней успешной репликации по каждому заданию и причину сбоя, если он был. Типичная ошибка — рассинхронизация снапшотов после ручного удаления диска или переноса VM без обновления задания.

Что делать при обрыве репликации

Если задание падает с ошибкой про отсутствующий общий снапшот, восстановите синхронизацию, удалив локальную копию на получателе и запустив полную репликацию заново:

pvesr delete 101-0 --force
qm set 101 --delete replicate

После этого создайте задание репликации заново через интерфейс — Proxmox VE снимет свежий базовый снапшот и перезапустит цепочку инкрементов с нуля.

Чем репликация ZFS отличается от бэкапа

Репликация — это не замена регулярному резервному копированию через расписание бэкапов. Она хранит только последнюю копию на соседнем узле и не защищает от логических ошибок вроде удаления файлов внутри гостевой ОС, которые тут же реплицируются вместе с диском. Репликацию стоит использовать для быстрого failover, а бэкапы — для восстановления на точку во времени.

Чек-лист рабочей репликации

  • Пул ZFS с одинаковым именем присутствует на обоих узлах.
  • Команда pvesr status показывает свежее время последней успешной синхронизации.
  • Rate limit подобран так, чтобы репликация не мешала обычному сетевому трафику кластера.
  • Параллельно с репликацией настроено обычное резервное копирование на отдельное хранилище.
← Назад в базу знаний Задать вопрос поддержке