Применение моментального снимка ZFS к не-ZFS FS

Так что это немного вопрос теории, а также конкретный (временный вариант использования)

  • Два сервера должны быть синхронизированы друг с другом. Один на месте, другой для резервного копирования вне сайта.

  • Однако на удаленной площадке данные должны быть дублированы и доступны при необходимости (без хранения архивных образов server1).

  • server1 и server2 подключены через Интернет через VPN-соединение

  • server1 использует ZFS Raid 10

  • server2 использует ext4 Raid5 (временная установка, в будущем будет заменена на ZFS, и этот вариант использования исчезнет)

Можете ли вы сделать моментальный снимок ZFS на сервере 1, отправить его на сервер 2 и распаковать/применить к массиву raid5, по существу дублируя сервер 1 с помощью инкрементных снимков?

Я знаю, что есть некоторые другие инструменты для дублирования файловых систем, но мне было интересно, можем ли мы использовать моментальные снимки в файловой системе, отличной от zfs. (документация заставляет меня поверить, что это невозможно, но я недостаточно знаю об этом)


person Tom    schedule 26.04.2018    source источник


Ответы (1)


Да, есть два теоретических варианта. Оба используют асинхронную репликацию, поэтому будут иметь ненулевой RPO (хотя из вашего описания это кажется приемлемым в некоторой степени):

  1. Используйте zfs send для создания потока в исходной системе, а затем используйте какой-либо инструмент, который может понять содержимое этого потока и преобразовать его в примитивы файловой системы POSIX в принимающей системе.

  2. Сделайте снимок в исходной системе, а затем используйте инструмент, не зависящий от FS, чтобы скопировать данные из этого снимка.

Преимущество первого варианта заключается в том, что он является наиболее производительным вариантом, поскольку ZFS знает, какие части своего пула были изменены, и должна только просматривать/отправлять эти части. Однако я не знаю ни одного инструмента, который действительно может это сделать. (Прототипы были созданы на хакатонах разработчиков ZFS, но для этого типа инструментов не существует большой аудитории, поэтому они никогда не производились качественно, насколько я знаю.)

Второй менее производительный, потому что ему придется проверять данные, чтобы увидеть, что изменилось, но его преимущество в том, что существуют инструменты — хотя вам, возможно, придется немного побороться с ним, вы можете использовать для этого rsync. Кроме того, его RPO может быть выше, поскольку передача данных займет немного больше времени. Немного сложными частями будут:

  • Запись его метаданных в доступную для записи часть пула на стороне источника, поскольку копируемый снимок будет доступен только для чтения. (Загляните в каталог .zfs/ в корне файловой системы, которую вы хотите скопировать, чтобы найти удобочитаемую копию моментального снимка.)
  • У цели отработки отказа не будет промежуточного состояния, если исходная система выйдет из строя во время rsync запуска. Надеюсь, у вашего целевого файла есть возможность сделать снимок до того, как вы начнете rsync запуск, чтобы вы могли вернуться к «последнему хорошему состоянию», если запуск завершится неудачно. В противном случае, надеюсь, ваши данные/приложение могут допустить некоторые несоответствия. (Или, может быть, есть опция rsync, которая делает это, которую я раньше не использовал.)
person Dan    schedule 27.04.2018