System Center 2012 Virtual Machine Manager – Обновляемся до уровня SP1 и перебираемся на Windows Server 2012 и SQL Server 2012

Оригинал данной статьи находится тут.

Продолжая тему развёртывания Service Pack 1 (SP1) для линейки продуктов Microsoft System Center (SC) 2012, в этой заметке опишу опыт обновления Virtual Machine Manager (VMM).

Выполним обновление сервера VMM до уровня SP1, при этом также обновим операционную систему сервера до Windows Server 2012 Standard а БД перенесём на SQL Server 2012 Standard.

Сразу отмечу, что в моём примере не используются хосты виртуализации VMware и не используются механизмы Performance and Resource Optimization (PRO). В случае использование этих вещей перед обновлением стоит ознакомится с дополнительными подготовительными процедурами согласно Planning Considerations for Upgrading to VMM in System Center 2012 SP1

С системными требованиями для развёртывания VMM можно ознакомится в документе System Requirements for System Center 2012 – Virtual Machine Manager. При этом мы можем обнаружить, что среди поддерживаемых ОС для серверной части VMM есть только Windows Server 2012 (Full/Server Core installation) в редакциях Standard/Datacenter, поэтому, в силу того, что у нас на момент обновления используется Windows Server 2008 R2, мы фактически будем вынуждены выполнить переустановку ОС на поддерживаемую версию – Windows Server 2012.

После установки ОС для экземпляра БД VMM мы развернём SQL Server 2012  Standard Service Pack 1.

В нашем случае на одном сервере будут развернуты компоненты VMM:
– VMM Management Server
– VMM Console
– VMM Database
– VMM Library Server

Ранее мы использовали функционал Self-Service Portal, но начиная с версии SP1 этот функционал из VMM убрали. Грустно конечно, но не смертельно, так как при необходимости в качестве альтернативного решения предлагается использовать сервер App Controller. Но этот продукт в этой заметке мы затрагивать не будем.

Весь процесс будет состоять последовательности действий:

1. Удаляем VMM с сохранением БД VirtualManagerDB
2.
Переустанавливаем ОС на Windows Server 2012
3. Устанавливаем SQL Server 2012
4. Восстанавливаем БД VirtualManagerDB в SQL Server
5. Устанавливаем VMM 2012 SP1 в режиме восстановления БД
6.Обновляем агентов VMM

1. Удаляем VMM с сохранением БД VirtualManagerDB

Для начала, на текущем сервере VMM мы должны убедиться в том, что отсутствуют выполняющиеся задачи в рабочей области Задания, после чего надо выполнить резервную копию базы данных VMM. Сделать это можно разными способами, но предпочтительный – с помощью консоли VMM (Параметры > Резервное копирование). Укажем каталог в который будет сохранена резервная копия и запустим процедуру.

image

Отследить состояние задачи резервного копирования можно в рабочей области Задания. Копируем получившийся файл резервной копии вида VirtualManagerDB-02042013-103204.bak в надёжное месторасположение, например в сетевую папку на другом сервере.

Закрываем консоль и через оснастку установки и удаления программ вызываем процедуру удаления VMM. В мастере установки выбираем режим удаления – Remove features

image

Затем выбираем компоненты VMM которые мы хотим удалить – отмечаем все.

image

На следующем шаге выбираем режим сохранения БД – Retain database.

image

Дожидаемся окончания процесса удаления.

image

На самом деле, в нашем случае не имеет значения режим удаления VMM, так как мы уже сделали предварительно копию БД, а это по сути и есть всё, что нам нужно для возможности восстановления VMM после переустановки ОС.

2. Переустанавливаем ОС на Windows Server 2012

Переустанавливаем ОС на нашем сервере на Windows Server 2012 Standard, при этом для установленной системы присваиваем тоже имя сервера что было ранее.

Устанавливаем все доступные обновления с WSUS

Включаем в группу локальных Администраторов доменные сервисные учетные записи, от имени которых будут работать службы SQL Server и VMM. В нашем случае это s-SCVMMDB и s-SCVMMSvc

В дальнейшем для установки SQL Server 2012 на наш сервер нам потребуется наличие компонент .NET Framework 3.5. Включаем их с помощью PowerShell:

Import-ModuleServerManager

Add-WindowsFeature NET-Framework-Core -Restart -Source:\\FILESERVER\OSInstallers\WinSrv2012RTM\sources\sxs

3. Устанавливаем SQL Server 2012

О системных требованиях, предъявляемых к БД SC 2012 SP1 VMM, читаем в документе System Requirements: VMM Database

В процессе установки SQL Server выбираем компоненты. Необходимый минимум:

  • Database Engine Services
  • Management Tools – Complete

image

Имя экземпляра SQL Server можно оставить по умолчанию – MSSQLSERVER

image

Для запуска служб SQL Server Database Engine и SQL Server Agent используем ранее созданную доменную учетную запись (которую мы включили в группу локальных Администраторов) – s-SCVMMDB. Режим запуска службы SQL Server AgentAutomatic

image

Порядок сортировки Collation устанавливаемого экземпляра SQL Server должен быть регистро-независимым (case-insensitive). В нашим примере выбран SQL_Latin1_General_CP1_CI_AS

image

Режим аутентификации – Windows authentication mode. В группу администраторов SQL Server добавляем локальную группу Администраторовсервера

image

При необходимости изменяем пути к расположению файлов БД, например можно разместить файлы системной БД tempdbна отдельном логическом диске.

image

Дожидаемся успешного окончания процесса установки выбранных компонент SQL Server

image

Устанавливаем обновления доступные на WSUS, в том числе Service Pack 1 для SQL Server

image

Отдельно устанавливаем доступное на данный момент кумулятивное обновления KB2790947 – Cumulative update package 2 for SQL Server 2012 Service Pack 1

image

В Windows Firewall создаем правила разрешающие входящие подключения к ресурсам SQL Server:

netsh advfirewall firewall add rule name = “SQL Server Default Port” dir = in protocol = tcp action = allow localport = 1433

4. Восстанавливаем БД VirtualManagerDB в SQL Server

Восстанавливаем в установленный SQL Server 2012 из резервной копии БД VirtualManagerDB. В нашем случае файлы БД должны быть расположены следующим образом:
D:\SQLData\VirtualManagerDB.mdf
D:\SQLData\VirtualManagerDB_log.ldf
Соответственно команда восстановления будет следующей:

Sqlcmd -Q “RESTORE DATABASE [VirtualManagerDB] FROM DISK = N’D:\VMM2012_RTM_DB_BACKUP\VirtualManagerDB-02042013-103204.bak’ WITH FILE = 1, MOVE N’VirtualManagerDB’ TO N’D:\SQLData\VirtualManagerDB.mdf’, MOVE N’VirtualManagerDB_log’ TO N’D:\SQLData\VirtualManagerDB_log.ldf’, NOUNLOAD”

image

Опционально при желании можно переопределить значения Initial Size для файлов служебной БД tempdb:

Sqlcmd -Q “ALTER DATABASE [tempdb] MODIFY FILE ( NAME = N’tempdev’, SIZE = 102400KB ); ALTER DATABASE [tempdb] MODIFY FILE ( NAME = N’templog’, SIZE = 51200KB )”

В силу того что в нашем примере SQL Server и VMM выполняются на одном сервере, для того чтобы экземпляр SQL Server не отобрал под себя все ресурсы, -настроим ему ограничение по использованию оперативной памяти.

Sqlcmd -Q “EXEC sys.sp_configure N’show advanced options’, N’1′ RECONFIGURE WITH OVERRIDE; EXEC sys.sp_configure N’min server memory (MB)’, N’2048′; EXEC sys.sp_configure N’max server memory (MB)’, N’8192′; RECONFIGURE WITH OVERRIDE; EXEC sys.sp_configure N’show advanced options’, N’0′ RECONFIGURE WITH OVERRIDE”

Или же можно изменить ограничение с помощью графического интерфейса в SQL Server Management Studioоткрыв свойства экземпляра SQL Server

image

5. Устанавливаем VMM 2012 SP1 в режиме восстановления БД

Перед установкой VMM выполним требования к предварительной установке ПО:

  • Windows PowerShell 3.0(уже включено в Windows Server 2012)
  • WinRM(уже включено в Windows Server 2012 и по умолчанию служба Windows Remote Management (WS-Management) настроена в режиме автоматического запуска).
  • Microsoft .NET Framework 4 или 4.5(уже включено в Windows Server 2012)
  • Windows Assessment and Deployment Kit (ADK) for Windows 8 (потребуется отдельная установка)

Загружаем Windows ADK и запускаем исполняемый файл adksetup.exe. Нам потребуется загрузить в отдельный каталог полный дистрибутив ADK

image

В моём случае по окончании процесса загрузки размер этого каталога составил примерно 2,55 GB.

По завершении загрузки снова запускаем adksetup.exeи переходим к установке, где на этапе выбора компонент отмечаем необходимый минимум:

  • Deployment Tools
  • Windows Preinstallation Environment (Windows PE)
    image

После того как ADK установлен, стоит ещё раз вспомнить о дополнительных требованиях, предъявляемых к серверу VMM:

  • Компьютер должен быть членом домена Active Directory
  • Имя компьютера не должно содержать последовательность символов “–SCVMM-” и/или быть более 15 символов
  • Если VMM разворачивается на виртуальной машине Hyper-V с включенным механизмом Dynamic Memory, значение startup RAM должно быть не менее 2048 Mb

Запускаем процесс установки VMM и выбираем компоненты VMM management server и VMM console

image

Вводим название организации, Product key, принимаем условия лицензирования и на шаге конфигурации базы данных указываем имя нашего сервера, экземпляр SQL Server и выбираем опцию использования существующей БД (Existing database) – VirtualManagerDBimage

Мастер установки определит что мы подсовываем ему старую версию БД и предложит выполнить её обновление в процессе установки, с чем мы должны согласиться.

image

На следующем этапе укажем доменную учетную запись (которую мы ранее включили в группу локальных Администраторов) от имени которой будут запущены службы сервера VMM – s-SCVMMSvc

Включение опции сохранения ключей шифрования VMM в AD в нашем случае неактуально, так как мы не используем отказоустойчивую конфигурацию – кластер VMM image

Далее предлагаемые номера портов для коммуникации между компонентами VMM оставляем в значении по умолчанию, если для их изменения нет реальных причин.

imageСтоит отметить, что на нашем сервере запущена служба Windows Firewall, для которой в процессе установки автоматически будут настроены все необходимые разрешающие правила.

На следующем шаге информацию о создаваемом сетевом каталоге библиотеки VMM (library share) также оставляем без изменений
image

Внимательно читаем дополнительные предупреждения о режиме обновления и определяем применимы ли они к нам.

image

Ещё раз проверяем все выбранные настройки и запустив процесс установки дожидаемся его успешного завершения…

image

Если в процессе установки произошли какие-то ошибки, то для анализа ситуации можно воспользоваться лог-файлами в каталоге

%SYSTEMDRIVE%\ProgramData\VMMLogs

Далее запрашиваем с WSUS последние обновления для компонент VMM – в нашем случае это Update Rollup 1

imageПосле установки этих обновлений перезагружаем сервер.

6. Обновляем агентов VMM

При первом запуске консоли VMM указываем FQDN имя сервера и порт, который был определён в процессе установки..

image

Из личных ощущений могу отметить тот факт что скорость открытия консоли и отклик консоли на действия администратора в обновлённой версии стали на порядок лучше. Отдельно порадовало то, что теперь нет проблемы замерзания консоли из-за попытки получить статус отображаемых групп/пользователей из Lync.

Переходим в рабочую область консоли Fabric (Структура) и запускаем процедуру обновления агентов VMM – Update Agent

image

Первая попытка обновления будет завершена с ошибкой если на целевых хостах виртуализации не установлен пакет Microsoft Visual C++ 2010  x64 Redistributable – версии 10.0.40219. То есть фактически при первой попытке будет произведена автоматическая установка этого пакета на хост, о чём свидетельствуют события в журнале Application

Log Name:    Application
Source:       MsiInstaller
Date:          04.02.2013 22:55:51
Event ID:     1038
Task Category: None
Level:         Information
Keywords:   Classic
User:          SYSTEM
Computer:    KOM-AD01-VM04.holding.com
Description:
Windows Installer requires a system restart. Product Name: Microsoft Visual C++ 2010  x64 Redistributable – 10.0.40219. Product Version: 10.0.40219. Product Language: 0. Manufacturer: Microsoft Corporation. Type of System Restart: 2. Reason for Restart: 1.

После установки этого пакета нужно перезагрузить хосты виртуализации, и уже после перезагрузки развертывание новой версии агента VMM должно пройти успешно.

О том как автоматизировать процесс обновления отдельно установленных консолей VMM с помощью SCCM 2012 описано в заметке В.Якоба – Развёртывание консоли управления System Center 2012 Virtual Machine Manager SP1 при помощи SC 2012 CM

Дополнительные источники информации:

TechNet Library – Tasks to Perform Before Beginning the Upgrade to VMM in System Center 2012 SP1
TechNet Library – Upgrading to VMM in System Center 2012 SP1
TechNet Library – Installing VMM from a Command Prompt

Leave a Reply

Your email address will not be published. Required fields are marked *