Полукластерное резервное копирование MSSQL с помощью ZWC

Эта статья предназначена для Аманда Энтерпрайз (AE)

Amanda Enterprise (далее AE), работающая с Zmanda Windows Client (далее ZWC), может использоваться для создания резервных копий кластера SQL Server. Однако, поскольку Amanda Enterprise не полностью «поддерживает кластер», существуют определенные ограничения, о которых следует знать, и требования, которые необходимо соблюдать. ZWC имеет общий код с полнофункциональной программой резервного копирования Windows Server Carbonite Server Backup нашей материнской компании Carbonite. По этой причине «Служба ZWC» или «База данных ZWC» иногда указывается как «Контроллер резервного копирования сервера Carbonite» и «База данных сервера Carbonite» соответственно. Относитесь к этим услугам Carbonite точно так же, как к услугам ZWC в этих инструкциях.

Установка

ZWC должен быть установлен на всех узлах кластера.

  1. Установите ZWC на ​​узле, который является предпочтительным (основным) владельцем ресурса кластера SQL.
    1. Новый раздел реестра с именем имякластера (Type = String) должен быть создан в HKLM \ Программное обеспечение \ Zmanda \ ZWC \ 1.0 \ Engine \. Значение ключа должно быть именем кластера SQL.
    2. Откройте меню «Службы» и перезапустите службу базы данных сервера Carbonite, это перезапустит обе службы.
  2. Настройте набор резервных копий SQL Server в AE.
    1. Резервные копии на основном узле можно настроить как ПОЛНЫЕ и ДИФФЕРЕНЦИАЛЬНЫЕ резервные копии. Пожалуйста, посмотри Дифференциальное резервное копирование в кластере SQL Server внизу.
  3. Переместите экземпляр SQL на другой узел и повторите установку и настройку ZWC.
    1. Деактивируйте новый набор резервных копий SQL. Щелкните правой кнопкой мыши набор резервных копий и выберите Деактивировать.
    2. Настройте только ПОЛНОЕ резервное копирование на всех остальных узлах. Пожалуйста, посмотри Дифференциальное резервное копирование в кластере SQL Server внизу.
  4. Повторите шаг 3 для всех узлов кластера.
  5. Переместите экземпляр SQL обратно на предпочтительный (основной) узел.

Перемещение экземпляра SQL между узлами кластера после начальной настройки

Если вы перемещаете экземпляр SQL с основного узла кластера на другой узел после начальной настройки, вы также должны настроить конфигурацию AE и ZWC, если только вы не планируете перемещать ресурс обратно до того, как будет выполнено запланированное резервное копирование.

  1. Во-первых, деактивируйте резервный набор SQL на текущем узле.
  2. Переместите экземпляр SQL на другой узел.
  3. Активируйте резервный набор на новом узле.

Дифференциальное резервное копирование в кластере SQL Server

Поскольку AE не полностью поддерживает кластер, вы должны проявлять большую осторожность при использовании дифференциального резервного копирования в кластерной среде. Представьте себе следующий сценарий:

  1. Первое полное резервное копирование выполняется на узле 1 (предпочтительный владелец) при транзакции / записи 100. SQL Server записывает, что выполняется полное резервное копирование.
    1. Эта резервная копия будет содержать транзакции / записи от 1 до 100. Тип = Полная.
  2. Ваша следующая резервная копия, все еще находящаяся на узле 1, - это дифференциальная резервная копия, созданная при транзакции 150. SQL Server записывает это дифференциальное резервное копирование.
    1. Эта резервная копия будет содержать транзакции 101–150. Тип = Дифференциальный. Соответствующий Full - 1-100.
  3. Теперь вы перемещаете SQL Server на узел 2 в транзакции 200 и делаете резервную копию. AE и ZWC на ​​этом узле не знают о резервных копиях на другом узле, поэтому вы должны сделать еще одну полную резервную копию.
    1. Эта резервная копия будет содержать транзакции 1–200. SQL Server записывает, что полная резервная копия выполняется при транзакции 200.
  4. На этом этапе вы перемещаете SQL обратно на узел 1 и выполняете дифференциальную резервную копию в транзакции 250. В SQL Server есть запись о том, что последняя полная резервная копия была в транзакции 200.
    1. Эта резервная копия будет содержать транзакции 201–250.
    2. Однако последняя полная резервная копия на этом узле содержит только транзакции 1–100.
  5. Теперь возникла проблема. В цепочке резервного копирования отсутствуют транзакции. Можно восстановить только полные резервные копии.
    1. Восстановление полной резервной копии на узле 1 будет содержать только записи 1–100. Можно восстановить только дифференциальную резервную копию, содержащую транзакции 101–150. Транзакции 151–250 теряются.
    2. Восстановление полной резервной копии на узле 2 будет содержать только записи 1–200. Дифференциальную резервную копию с узла 1 невозможно восстановить на узле 2. Транзакции 201–250 потеряны.

Чтобы избежать подобных проблем, мы рекомендуем:

  1. Используйте полное или дифференциальное резервное копирование только на одном основном узле, т. Е. На предпочтительном владельце ресурса кластера экземпляра SQL.
  2. Используйте только полные резервные копии на всех остальных узлах.
  3. Если данные SQL были зарезервированы, когда они находились не на первичном узле, то при перемещении экземпляра SQL обратно на первичный узел первая сделанная резервная копия должна быть полной.

Если экземпляр SQL перемещается на другие узлы кластера только на короткий период времени, например, для обслуживания, вы можете упростить схему резервного копирования, установив и настроив ZWC только на одном основном узле.

Мы рекомендуем вам прочитать следующую статью, опубликованную в блоге MSDN: Какие данные следует резервировать из кластера SQL Server?