Периодическая репликация файловой системы с моментальным снимком

Я ищу решение для репликации, отличное от реального времени, которое поддерживает периодический снимок.

Вот моя текущая ситуация:

  • У меня есть 2 сервера электронной почты, на которых работает Ubuntu 12.04 LTS
  • Программа почтового сервера, которую я использую, – это Axigen v8.1.1, обслуживающий почтовые ящики 2000+, со скоростью ок. 2000 писем в час во время рабочих часов
  • Конфигурация – это Master / Slave , использующая сердечный ритм / кардиостимулятор
  • Axigen использует собственную запатентованную базу данных для хранения всех настроек и сообщений
  • Большинство пользователей обращаются к серверу электронной почты с помощью POP3, но некоторые используют IMAP4

Что я хочу реализовать:

  • Каждые N минут должен быть сделанный снимок мастера, который будет отправлен в Slave
  • Slave должен иметь возможность эффективно хранить как минимум M последних снимков, так и 2 ежедневных моментальных снимка, на всякий случай, когда нам нужно откат
  • (Мы можем жить с N минутами потерянных писем, все электронные письма хранятся в системе хранения MailArchiva)

Мой первоначальный план состоял в том, чтобы внедрить хранилище Axigen в файловой системе ZFS-on-Linux (ZoL) с регулярными моментальными снимками, которые будут отправляться (поэтапно) на Slave. Тем не менее, я был укушен неустойчивостью ZoL во время тяжелых операций ввода-вывода, где я испытал несколько инцидентов с CPU Soft Lockup . Группа обсуждения ZoL предложила уменьшить размер кэша ARC, но, конечно, это повлияло бы на производительность, поэтому вместо этого я вернусь к хранилищу с поддержкой ext4 на Master. (Тем не менее, возможно, все же реализовать ZFS на Slave).

Я рассматриваю несколько вариантов:

  1. Переконфигурируйте Master так, чтобы хранилище данных находилось на хранилище с поддержкой LVM и регулярно создавало моментальный снимок LVM для синхронизации с ведомым устройством csync2 или rsnapshot (и удалял моментальный снимок LVM после успешной синхронизации). На стороне подчиненного устройства, после каждой успешной синхронизации, сделайте снимок ZFS, чтобы сохранить необходимое количество снимков и ежедневных снимков.

  2. Реализуйте DRBD в конфигурации Master / Slave с жестким дисковым хранилищем на Master, но хранилище с поддержкой ZVOL на Slave.

  3. Реализовать кластерную файловую систему, которая поддерживает моментальные снимки … но какой?

Ваши мысли и материалы очень ценятся.


Изменить: из-за бюджетной ситуации моего отдела я не могу использовать коммерческое решение. Возможно, в следующем году, но, к сожалению, моя потребность в текущем состоянии.


Изменить 2: неустойчивость ZoL может быть нестабильностью самого ZoL сама по себе, но я подозреваю больше из-за невероятного оттока памяти почтового сервера (по некоторым причинам мне приходится внедрять Perdition перед сервером Axigen и Perdition создает один процесс для каждого соединения, поэтому память сервера может быть сильно фрагментирована и блокирует ZoL от требования некоторых SLAB для увеличения своего ARC-кэша)

  • Синхронизация нескольких домашних папок с помощью Dropbox и символических ссылок
  • Как я могу выполнить операцию «копировать, если изменено»?
  • Как работает повторная синхронизация mdraid?
  • Как синхронизировать закладки (избранное) между Google Chrome и Chromium
  • Могу ли я безопасно читать файл, который добавляется другим процессом?
  • Сведения об исполнении сигнала
  • Приложение для заметок, которое может синхронизировать как Android, так и Linux
  • Есть ли способ синхронизации только одного раздела?
  • One Solution collect form web for “Периодическая репликация файловой системы с моментальным снимком”

    Ну, по крайней мере, вы можете рассмотреть возможность использования lvmsync, который «… способен читать метаданные, используемые устройством-mapper, чтобы отслеживать, какие части блочного устройства были изменены, и использовать эту информацию для отправки только тех измененных блоков по сети. … »

    Linux и Unix - лучшая ОС в мире.