System Center 2012 R2 Virtual Machine Manager - Перенос базы данных Highly Available VMM на другой сервер БД без переустановки VMM

imageПри переносе базы данных System Center 2012 Virtual Machine Manager (VMM) с одного SQL сервера на другой способом описанным в заметке SCVMM 2012 — Перенос БД без переустановки VMM в своё время особых проблем не возникало. В ту пору VMM работал как отдельный сервер. При переходе на System Center 2012 R2 конфигурацию VMM было решено расширить и задействовать функционал высокой доступности в кластере их двух серверов VMM, использующих общую базу данных расположенную на отдельном кластере SQL Server. Однако наступил момент, когда кластеризованную БД VMM потребовалось перенести из одного кластера SQL Server в другой, и тут описанный ранее метод не сработал. Дело в том, что в кластерной конфигурации предлагаемые к изменению параметры реестра входят в ключ реестра HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings, который является реплицируемым между узлами кластера. Это можно увидеть например в оснастке Failover Cluster Manager если открыть свойства кластерной службы VMM Service на закладке Registry Replication

image

Таким образом, чтобы успешно изменить параметры реестра в этом ключе, нам потребуется выполнить некоторую последовательность действий.

1. В консоли VMM проследим за тем, чтобы не было никаких выполняющихся задач (Job) и закроем консоль VMM;

2. Остановим на сервере VMM службу агента VMM  - System Center Virtual Machine Manager Agent (SCVMMAgent);

3. На активном узле кластера VMM без остановки кластерной службы VMM отредактируем параметры в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings\Sql таким образом, чтобы они ссылались на новый сервер БД - меняем значения имени сервера, экземпляра SQL Server и номера порта (изменяемые значения выделены красным цветом):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings\Sql]
"InstanceName"="KOM-AD01-SQLNEW\\SCVMM,1430"
"DatabaseName"="VirtualManagerDB"
"ConnectionString"="Integrated Security=SSPI;Application Name=VirtualMachineManager;Max Pool Size=500;Encrypt=true;TrustServerCertificate=true;Server=KOM-AD01-SQLNEW\\SCVMM,1430;database=VirtualManagerDB"
"OnRemoteServer"=dword:00000001
"MachineName"="KOM-AD01-SQLNEW"
"MachineFQDN"="kom-ad01-sqlnew.holding.com"
"Port"=dword:00000596

4. Здесь же, на активном узле кластера VMM из консоли Failover Cluster Manager останавливаем кластерную роль VMM – Stop Role

image

При этом будет остановлена служба System Center Virtual Machine Manager (SCVMMService) и, как следствие, наш кластер VMM станет недоступен.

5. Средствами SQL Server на текущем сервере БД создаем резервную копию Online Backup для БД VirtualManagerDB и восстанавливаем эту копию на новом сервере БД. После восстановления БД не забываем дать доступ учетной записи служб VMM – public на уровне сервера SQL Server и db_owner на уровне БД VirtualManagerDB (хотя эти права должны быть автоматически восстановлены при создании БД из копии). На старом сервере БД VirtualManagerDB переводим базу в состояние Offline.

6. На том же сервере, где мы остановили кластерную роль VMM, выполняем её запуск, чтобы кластерная служба VMM перечитала изменённые нами параметры реестра. На этом этапе нужно убедиться в том, что измененные нами параметры реестра ссылающиеся на новый сервер БД не сбросились на прежние а кластерная служба VMM успешно стартовала, подключившись при этом к базе данных расположенной на новом сервере БД. При запуске роли убеждаемся в том, что в эвент-логах Application и System отсутствуют ошибки.

7. Запускаем консоль VMM и убеждаемся в успешном подключении к кластеру VMM.

8. В консоли Failover Cluster Manager выполняем передачу кластерной роли VMM на второй узел кластера и убеждаемся в том, что эта операция выполняется успешно.

image

Проверяем то, что в процессе передачи роли на второй узел кластера VMM успешно реплицируются настройки сделанные нами в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings\Sql

9. Если после переключения кластера VMM на новый сервер БД никаких проблем не обнаружено, удаляем с прежнего SQL-сервера базу данных VirtualManagerDB ранее переведённую в режим Offline.  

Только один комментарий Комментировать

  1. Teo CK /

    thanks . the post has helped me migrated a HA VMM database.

Добавить комментарий