Бэкап сервера, баз данных, виртуальных машин. В статье описываются принципы и понятия, возможности и процессы по резервному копированию и восстановлению сервера с нуля, баз данных MS SQL Server, виртуальных машин в среде Hyper-V.

 

Введение

Даже в крупных предприятиях не для всех серверов применяются средства резервного копирования. С одной стороны - за ненадобностью, а с другой – ограниченный бюджет, поэтому особое внимание уделяется только архиважным сервисам и файлам. Для них системный администратор настраивает бэкапы с помощью встроенных или дополнительно установленных программ, экспорт данных и другое. Таким образом производится подстраховка, защита сервера от непредвиденных явлений. Однако не всегда получается возобновить работу сервера за короткий промежуток времени, а выход из строя операционной системы как минимум заберёт несколько часов на её переустановку и донастройку. Сроки постоя серверов заставляют задуматься о способах их минимизации.  

В нашем случае применяется System Center Data Protection Manager 2012 R2. Будем считать, что первичные знания о продукте уже имеются из предыдущей статьи, поэтому описание терминов, названия кнопок, окон, разделов и так далее, о которых говорилось ранее, мы опустим. Рассмотрим, как можно произвести защиту базы данных и сервера целиком, расположенные в виртуальной среде, а затем восстановление в первоначальное их состояние.

Для защиты серверов имеются несколько вариантов:

  • целиком виртуальную машину – наиболее выгодно используется, когда имеются не поддерживаемые версии ОС;
  • базы данных – подходит, если интересуют только содержимое СУБД;
  • состояние сервера – если интересует только состояние операционной системы;
  • содержимое физического сервера – можно сделать копии информации локальных дисков или сетевых папок.

 

О виртуальных машинах

Первым делом необходимо ознакомиться с требованиями [http://technet.microsoft.com/ru-ru/library/hh758184.aspx] для виртуальной среды, выполнить инсталляцию нескольких системных обновлений для Windows Server с ролью Hyper-V, подготовить дисковое пространство. Затем на требуемых серверах проверить наличие NetFramework 4.0, Microsoft Visual C++ 2008 Redistributable, отключить или настроить брандмауэр и приступить к инсталляции агента (процесс такой же, как и на пользовательские ПК). Кстати, консоль управления агентом здесь не предусмотрена.

DPM выполняет резервное копирование виртуальных машин без выключения, по-горячему, что является большим преимуществом перед экспортом их вручную, которое можно ощутить только при установленном гипервизоре на Windows 2012 Server. Начиная только с данной версии ОС получила поддержку протокола SMB 3.0, что позволяет напрямую использовать сетевой ресурс для расположения бэкапов виртуальных машин на другом сервере. То есть, если DPM установлен на Windows 2008 R2, то архивы можно размещать только локально или на специально выделенное хранилище. А при настроенном протоколе SMB 3.0 на 2х серверах второй из них может выступать в качестве файлового хранилища.

 

Некоторые расчёты

Express Full Backup - означает копирование только изменившихся данных (а не всю ВМ) при этом создается точка восстановления для данных приложений [ https://technet.microsoft.com/ru-ru/system-center-docs/dpm/get-started/how-does-dpm-work-?f=255&MSPPError=-2147217396 ].

Бэкапы можно делать, положившись на автоматический расчёт занимаего места в хранилище. Есть, конечно, и формула с описанием, по которой производится расчёт [ https://technet.microsoft.com/ru-ru/library/hh758007(v=sc.12).aspx?f=255&MSPPError=-2147217396 ].

Если места в хранилище предостаточно, то беспокоиться не о чем, то можно создавать и 3, и 5, копий (реплик). Например, ВМ занимает 42,7 Гб. Если Retention Range=10, то места под копии будет требоваться 64 Гб, а на точку восстановления - 23 Гб. В результате необходимо выделить 87 Гб.

Если же имеется дефицит свободного места, то приходится делать всё по минимуму. Например, при ВМ равной 42,7 Гб, Express Full Backup=1 раз в неделю, Retention Range=1. В этом случае копия будет храниться до следующего бэкапа, место для неё потребуется 64 Гб, а для точки восстановления - 3.7 Гб. Общий объём = 67,7 Гб.

 

Бэкапы виртуальных машин

У нас имеются в немалом количестве виртуальные сервера с Windows 2003 Server, официальная поддержка которых уже окончена. Поэтому для них будем использовать первый вариант – бэкап целиком виртуальной машины. В этом случае агент устанавливается на хост Hyper-V и защите подлежит полностью всё содержимое виртуального сервера (ОС, программы, базы данных, файлы).

            Далее необходимо создать группу защиты. Заходим в раздел “Protection” и нажимаем кнопку «New». На первом шаге «Select protection group» определяемся с типом защищаемой группы – это серверы. Далее, в “Select group members” находим нужный хост-сервер, в котором выбираем необходимый виртуальный сервер (см. рис. 1). Следующий шаг – “Select data protection method” – позволяет задать имя группе защиты и указать устройство сохранения файла. В “Select short-term goals” по умолчанию указан диапазон хранения 5 дней и Express Full Backup (быстрый полный бэкап) ежедневно в 18-00. Далее в “Review disk allocation” будет отображено автоматическое разбиение (выделение) дискового пространства, значения которого можно изменить вручную по нажатию на кнопку “Modify”. Шаг “Choose consistency check options” (Выбор опций проверок на целостность) предлагает проверку целостности данных. 

                      

Рисунок 1. Выбор виртуальной машины для защиты.

 

Восстановление виртуальной машины

После создания группы защиты появляется точка восстановления, происходит синхронизация реплики с исходными данными, а значит имеется возможность вернуть утерянную информацию, в чём нам поможет мастер. Заходим в раздел “Recovery”, на выбранном архиве нажимаем на правую кнопку мыши, выбираем “Recover”, и следуем подсказкам мастера.

Шаг “Select recovery type” (Выбор типа восстановления) предлагает 4 варианта действий:

  • “Recover to original instance” (Восстановить в исходное положение);
  • “Recover as virtual machine to any host” (Восстановить на любой хост);
  • “Copy to a network folder” (Копировать в сетевую папку);
  • “Copy to tape” (Копировать на ленту).

Здесь нам подходит пункт 3.

Затем в “Select destination” (Указать получателя) выбираем место хранения в локальной сети – это сервер и путь к нужной папке. Шаг “Specify recovery options” (Указать настройки восстановления) предлагается выбрать, как будут применены настройки безопасности, урезать полосу пропускания, включить восстановление на SAN и оповещение на почту. Затем Next->Recover и наблюдаем за процессом восстановления.

Выбрав 3й пункт, нужно иметь ввиду, что при восстановлении виртуальной машины в сетевую папку, копировании файлов на другой хост и запуске её на новом месте, можно получить ошибку о неожиданном выключении сервера. Это означает, что DPM не может пометить файлы для восстановления в качестве ожидаемого завершения работы. Когда VHD-файл хранится в корневом разделе, и при попытке запуска виртуальной машины в другом месте, VHD-файлы будут восстановлены с атрибутами каталогов, установленные как скрытые и системные. Эти атрибуты каталогов нужно удалить.

 

Об MS SQL Server

В нашем случае имеем MS SQL Server 2012, перед резервным копированием баз данных которого нужно узнать о немалом количестве особенностей [http://technet.microsoft.com/ru-ru/library/hh780998.aspx]. Сначала в СУБД внесём учетную запись NTAuthoritySystem в группу Sysadmin, воспользовавшись консолью MS SQL Server Management Studio.

Рассмотрим некоторые распространённые вынужденные действия системных администраторов, ведь невозможно сразу всё предусмотреть, поэтому иногда приходится вмешаться в работу сервера баз данных. Как же DPM реагирует на различные изменения внутри и снаружи СУБД?

При замене старого диска на сервере баз данных новому диску необходимо назначить ту же букву.

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

Если было произведено переименование базы данных, то её необходимо добавить в существующую либо в новую группу защиты, а несоответствующую БД удалить.

Новая добавленная в экземпляр SQL Server база данных будет автоматически включена в резервирование, но не мгновенно. Если нет времени ждать, то можно обнаружение ускорить вручную с помощью командлета Start-AutoProtection.

 

Продолжение следует...