Use To Advantage

Используй с пользой!

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
Home Статьи Как перенести базы данных Lync Server 2013 на другой физический SQL Server (для Enterprise)

Как перенести базы данных Lync Server 2013 на другой физический SQL Server (для Enterprise)

E-mail Печать
2.2/5 (999 голоса)

Исходные данные: есть конфигурация Lync Server Enterprise. Базы данных расположены на отдельном SQL Server. Развернуто 2 Front End, развернут Archieving, Monitoring, которые держат базы на том же сервере SQL.

Задача: перенести данные со старого физического сервера SQL на новый с минимальным простоем сервисов. При этом старый SQL Server версии 2008 r2, а новый будет SQL 2012

 

Самый простой вариант, который приходит в голову: скопировать через Backup - Restore базы данных средствами SQL Server, затем присвоить новому серверу имя старого. Этот вариант мне не понравился по нескольким причинам, во-первых, нужно будет вручную переносить все базы данных, во-вторых для начала выключить все сервера Lync и во время переноса они работать не будут. В третьих, возможно, что-то не запустится, что затянет перенос. Да и ручные операции над базами данных чреваты возможностью их дальнейшей неработоспособностью. Поэтому лучше использовать средства Lync Server

Согласно документации вот список файлов баз данных, взятый отсюда: SQL Server Data and Log File Placement

Файлы данных и журналов для центрального хранилища управления

Файлы базы данных управления Назначение файла данных или журнала
Xds.ldf Файл журнала транзакций для управления
Xds.mdf Служит для хранения конфигурации текущей топологии Lync Server 2013, определенной и опубликованной с помощью топологий
Lis.mdf Файл данных информирования о местонахождении
Lis.ldf Журнал транзакций для файла данных информирования о местонахождении

Файлы данных и журналов для пользователей, конференц-связи и адресной книги

Основные файлы базы данных Lync Server 2013 Назначение файла данных или журнала
Rtc.mdf Сохраняемые пользовательские данные (например, списки управления доступом (ACL), контакты, планируемые конференции)
Rtc.ldf Журнал транзакций для данных Rtc
Rtcdyn.mdf Служит для хранения промежуточных пользовательских данных (данные времени выполнения для присутствия)
Rtcdyn.ldf Журнал транзакций для данных Rtcdyn
Rtcab.mdf База данных адресной книги для связи в режиме реального времени (RTC) — это репозиторий SQL Server, в котором хранятся данные службы адресной книги.
Rtcab.ldf Журнал транзакций для службы адресной книги
Rtclocal.mdb Служит для размещения каталога конференций
Rtcxds.mdf Служит для хранения резервной копии пользовательских данных
Rtcxds.ldf Журнал транзакций для данных Rtcxds

Файлы данных и журналов для Парковки вызовов и группы ответа

База данных приложения Назначение файла данных или журнала
Cpsdyn.mdf Динамическая база данных для приостановки вызовов
Cpsdyn.ldf Журнал транзакций для файла данных приостановки вызовов
Rgsconfig.mdf Файл данных службы группы ответа Lync Server для настройки служб
Rgsconfig.ldf Файл журнала транзакций для конфигурации "Группа ответа"
Rgsdyn.mdf Файл данных службы группы ответа для выполняемых операций
Rgsdyn.ldf Журнал транзакций для файла данных времени выполнения, связанных со службой группы ответа

Файлы данных и журналов для сервера архивации и мониторинга

Файлы базы данных архивации и мониторинга Назначение файла данных или журнала
LcsCdr.mdf Хранилище данных для регистрации вызовов (CDR) мониторинга
LcsCdr.ldf Журнал транзакций для данных регистрации вызовов (CDR)
QoEMetrics.mdf Файл данных качества взаимодействия, сохраняемых из мониторинга
QoEMetrics.ldf Журнал транзакций для данных мониторинга
Lcslog.mdf Файл данных для хранения мгновенных сообщений и конференций в архивации
Lcslog.ldf Журнал транзакций для данных архивации

Т.е. при переносе вручную ни одну нельзя забыть.

На мой взгляд самым безболезненным должен быть вариант создания зеркальной базы данных, как написано здесь:

Deploying SQL Mirroring for Back End Server High Availability

Однако, этот вариант может быть использован только в случае, если старый SQL Server той же версии, что и новый, что не наш случай.

Поэтому воспользуемся другими встроенными средствами Lync Server, такими как Tolopogy Builder и Management Shell

Общий порядок действий такой:

  1. Установить новый SQL сервер на отдельном сервере, создать новый Instance и дать необходимые права для установки
  2. Создать новое место для хранения общих файлов File Share
  3. Добавить в топологию новый SQL Server и новое место для хранения файлов
  4. Сделать копию.
  5. Переключить архивацию и мониторинг на новое место хранения
  6. Перенести Центральное хранилище 
  7. Перенести базы данных сервисов Front End
  8. Восстановить данные
  9. Очистка топологии от старых данных
Начнем по пунктам

1.Установить новый SQL сервер на отдельном сервере, создать новый Instance и дать необходимые права для установки

Поскольку у нас SQL Server используется у нас не только для хранения данных Lync Server,  то чтобы точно никто никому не мешал, я создал новый Instance и назвал его RTC2. По аналогии с RTC, которые создается по умолчанию при установке к примеру Lync Standard.  Обязательно устанавливаем Reporting Service, поскольку он нам понадобится для Мониторинга

На SQL Instancе даем полные административные права пользователю, от имени которого будет остуществляться установка. Сам пользователь должен входить в группу администраторов Lync Server, можно дать такие, как написано здесь , у меня  входил в группу CSAdministrator

2.Создать новое место для хранения общих файлов File Share

Также на новом сервере будут находится общие файлы. Описание конфигурирования File Storage находится здесь  

3.Добавить в топологию новый SQL Server и новое место для хранения файлов

При помощи Topology Builder добавляем новый SQL в общие компоненты и новое хранилище даннх в и хранилище данных в и публикуем топологию. 

4.Сделать копию

Теперь самое время сделать копии. Для этого запускаем Lync Management Shell с правами администратора (!) и делаем экспорт

Центральное хранилище:

Export-CsConfiguration -FileName "C:\Config.zip"
Информация о месторасположении
Export-CsLisConfiguration -FileName "C:\LisConfig.zip"
Информация сохраняемого чата (если чат установлен)

Export-CsPersistentChatData-DBInstance "sql1.resource.nk\rtc2" -FileName "C:\PersistentChatData.zip"
Информация о группах ответа
Export-CsRgsConfiguration -Source "ApplicationServer:ls-pool2.resource.nk" -FileName "C:\Rgs.zip"
Пользовательские данных конференций

Export-CsUserData -PoolFqdn "ls-pool2.resource.nk" -FileName "C:\ExportedUserData.zip"

5.Переключить архивацию и мониторинг на новое место хранения

Через построитель топологии переключить Archieving и Monitoring на новое хранилище данных. К сожалению, средствами Lync Server старые данные нет возможности перенести, т.е. в моем случае при переезде на новый сервер история начинается заново.   После публикации топологии, необходимо перезапустить каждый из серверов Front End для активации изменений.

6. Перенести Центральное хранилище

Через Topology Builder переключить базу данных пула невозможно. Необходимо использовать командную консоль

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

Get-CsConfigurationStoreLocation
Get-CsManagementConnection
Get-CsManagementStoreReplicationStatus

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

Перенос центрально хранилища осуществляется при помощи команды   Move-CsManagementServer
Описание здесь: http://technet.microsoft.com/en-us/library/gg412921%28v=ocs.15%29.aspx
Неудача при переносе может привести центральное хранилище в неработоспособное состояние, поэтому необходима предварительная подготовка.
К сожалению, перенести центральное хранилище можно только в другой пул. Т.е. предварительно необходимо создать новый пул, перенести туда хранилище, а затем перенести хранилище на новый сервер в старый пул. Для простоты можно использовать пул Standard.

В моем случае
Начальная конфигурация Промежуточный пул Конечная конфигурация
пул Ent:  ls-pool2.resource.nk
SQL:sql1.resource.nk\rtc2
пул Std   lync.resource.nk
SQL: lync.resource.nk\rtc
пул Ent:  ls-pool2.resource.nk
SQL:data.resource.nk\rtc2

Через построитель топологии создаем новый пул. В моем случае lync.resource.nk, публикуем топологию.

Создадим новый сервер Standard

Затем запускаем мастер развертывания на новом сервере.
Первое что нужно сделать - запустить подготовку сервера Standard Edition. После чего будет создана локальная база данных. Далее провести полную установку,  согласно руководства  http://technet.microsoft.com/en-us/library/gg398827.aspx

Установка начального сервера

После успешной установки и успешного запуска всех сервисов (важно!) необходимо создать пустое центральное хранилище на новом сервере

Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn lync.resource.nk -SqlInstanceName rtc -Clean -UseDefaultSqlPath
Проверьте еще раз, что топология публикуется без ошибок (запустите Enable-CsTopology), что все сервисы на новом сервере работают и репликация центрального хранилища данных успешно завершена на всех серверах, что достаточно места для переноса.
Запустите команду для нового сервера
Move-CsManagementServer -ConfigurationFileName "C:\Config.zip" -LisConfigurationFileName "C:\LisConfig.zip" -Force -TargetFqdn lync.resource.nk
После успешного завершения, дождитесь репликации ( проверить Get-CsManagementStoreReplicationStatus)  

7. Перенести базы данных сервисов Front End

Теперь центральное хранилище данных находится в новом пуле, и можно переключить базы данных в основном пуле на новый сервер.
Загрузите топологию в Topology Builder и измените ассоциацию базы данных в вашем пуле на новое расположение. Теперь кнопка выбора базы данных для пула будет доступна.

Запустите поочередно(!) на каждом сервере основного пула локальную установку для принятия изменений ассоциации базы данных. После установки перезагрузите сервер и когда он запустится, переходите к следующему в пуле FE. Если есть чат сервер, то на нем также необходимо запустить локальную установку, после чего перезагрузить.

Проверьте работоспособность.

Теперь можно переносить центральное хранилище на новый сервер SQL

Запустите установку пустой базы данных на новом сервере
Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn data.resource.nk -SqlInstanceName rtc2 -Clean -UseDefaultSqlPath

Опубликуйте топологию (запустите Enable-CsTopology)
Перенесите центральное хранилище

Move-CsManagementServer 
Если дать команду без параметров, то Lync Server сам подставит данные взятые из последнего переноса, если подставил не так как нужно, то придется указать целевой пул в параметрах. После переноса центрального хранилища, промежуточный сервер нам больше не нужен.

Перенос центрального хранилища

8. Восстановить данные

Теперь можно импортировать данные.
.
Import-CsPersistentChatData-DBInstance "data.resource.nk\rtc2" -FileName "C:\PersistentChatData.zip"
Import-CsRgsConfiguration -Destibation "ApplicationServer:ls-pool2.resource.nk" -FileName "C:\Rgs.zip"
Import-CsUserData -PoolFqdn "ls-pool2.resource.nk" -FileName "C:\ExportedUserData.zip"

9. Очистка топологии от старых данных


После этого можно из Topology Builder удалить все упоминания о старом SQL Server, А также удалить промежуточный сервер Standard  и опубликовать  топологию.
Правда перед удалением, пришлось подчистить каталоги конференций
Get-CsConferencingDirectory

Проверка каталогов конференций

Remove-CsConferenceDirectory -Identity 13

Готово, теперь Lync Server работает c новым SQL сервером.



 





Теги: lync, sql, перенос данных, копирование данных, новый сервер SQL,

Еще по теме

Полезно? Поделитесь ссылкой! E-mail Сохраните на будущее!  

Разделы

Поиск

Авторизация


Похожие материалы

(c) 2010-2015 Используй с пользой. При цитировании обязательна рабочая ссылка на http://www.useto.ru.