Развертывание зеркального отображения SQL Server для обеспечения высокой доступности внутреннего сервера в Lync Server 2013

 

Последнее изменение раздела: 2014-01-08

Чтобы обеспечить возможность развертывания зеркального отображения SQL, серверы должны работать под управлением, как минимум, версии SQL Server 2008 R2. Эта версия должна выполнятся на всех серверах-участниках: на сервере-источнике, зеркальном сервере и следящем сервере. Дополнительные сведения см. в разделеhttps://go.microsoft.com/fwlink/p/?linkid=3052& ; kbid=2083921.

В целом, для настройки зеркального отображения SQL между двумя внутренними серверами с ресурсом-свидетелем требуется следующее:

  • Версия SQL Server основного сервера должна поддерживать зеркальное отображение SQL.

  • На основном ресурсе, зеркальном ресурсе и ресурсе-свидетеле (если развертывается) должна быть установлена одна и та же версия SQL Server.

  • На основном и зеркальном ресурсах должен быть установлен один и тот же выпуск SQL Server. На ресурсе-свидетеле может быть установлен другой выпуск.

Рекомендации по SQL с точки зрения того, какие версии SQL поддерживаются для роли следящего сервера, см. в разделе "Следящий сервер зеркального отображения баз данных" в библиотека MSDN по адресу https://go.microsoft.com/fwlink/p/?LinkId=247345.

Для развертывания зеркального отображения SQL используется построитель топологий. Выберите параметр в построителе топологий, чтобы зеркало базы данных, а построитель топологий настраивает зеркальное отображение (включая настройку следящего сервера, если требуется) при публикации топологии. Обратите внимание, что настройка или удаление свидетеля выполняется одновременно с настройкой или удалением зеркала. Отдельной команды для развертывания или удаления только свидетеля не существует.

Для настройки зеркального отображения серверов сначала нужно правильно настроить разрешения базы данных SQL. Дополнительные сведения см. в разделе Настройка учетных записей входа для зеркального отображения базы данных или групп доступности AlwaysOn (SQL Server)" на странице https://go.microsoft.com/fwlink/p/?LinkId=268454.

При зеркальном отображении SQL режим восстановления базы данных всегда имеет значение Полный. Это означает, что необходимо регулярно отслеживать размер журнала транзакций и создавать резервные копии журналов транзакций, чтобы избежать переполнения дискового пространства на внутренних серверах. Частота резервного копирования журналов транзакций зависит от скорости роста журнала, которая, в свою очередь, зависит от транзакций базы данных, выполняемых действиями пользователей в интерфейсном пуле. Мы рекомендуем определить, какой объем журналов транзакций ожидается для рабочей нагрузки развертывания Lync, чтобы вы могли планировать соответствующим образом. В следующих статьях содержатся дополнительные сведения о резервном копировании SQL и управлении журналами.

При использовании зеркального отображения SQL топологию можно настроить при создании пулов или после их создания.

Важно!

Использование построителя топологий или командлетов для настройки и удаления зеркального отображения SQL поддерживается только в том случае, если все серверы-источник, зеркало и следящий сервер (при необходимости) принадлежат одному домену. If you want to set up SQL mirroring among servers in different domains, see your SQL Server documentation.

Важно!

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

  1. Удаление зеркального отображения со старого сервера-зеркала.

  2. Добавление зеркального отображения на новый сервер-зеркало.

  3. Публикация топологии.

Примечание.

Вам потребуется создать общую папку для записи в нее зеркальных файлов, кроме того, службе, от имени которой выполняются SQL Server и агент SQL, необходим доступ для записи и чтения. Если служба SQL Server выполняется в контексте сетевой службы, можно добавить <домен>\<SQLSERVERNAME>$ для основного и зеркального СЕРВЕРОВ SQL Server в разрешения общей папки. Использование символа $ важно для определения того, что это значение является учетной записью компьютера.

Настройка зеркального отображения SQL при создании пула в построителе топологий

  1. На странице Определение хранилища SQL щелкните Создать рядом с полем Хранилище SQL.

  2. На странице Определение нового хранилища SQL укажите основное хранилище, выберите Этот экземпляр SQL находится в отношении зеркального отображения, укажите номер порта для зеркального отображения SQL (по умолчанию — 5022), а затем нажмите кнопку ОК.

  3. Вернитесь на страницу Определение хранилища SQL и выберите Включить зеркальное отображение хранилища SQL.

  4. На странице Определение нового хранилища SQL укажите хранилище SQL, которое будет использоваться в качестве зеркала. Выберите Этот экземпляр SQL находится в отношении зеркального отображения, укажите номер порта (по умолчанию — 5022), а затем нажмите кнопку ОК.

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

    1. Выберите Использовать ресурс-свидетель зеркального отображения SQL для включения автоматического переключения.

    2. На странице Определение хранилища SQL выберите Использовать ресурс-свидетель зеркального отображения SQL для включения автоматического переключения и укажите хранилище SQL для использования в качестве ресурса-свидетеля.

    3. Укажите номер порта (по умолчанию — 7022) и щелкните ОК.

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

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

    Нажмите кнопку ОК, а затем кнопку Далее для создания баз данных и публикации топологии. Будут развернуты ресурс-зеркало и ресурс-свидетель (если указан).

С помощью построителя топологий можно изменить свойства уже существующего пула, чтобы включить зеркальное отображение SQL.

Добавление зеркального отображения SQL в существующий интерфейсный пул в построителе топологий

  1. В построителе топологий щелкните пул правой кнопкой мыши и выберите команду Изменить свойства.

  2. Выберите Включить зеркальное отображение хранилища SQL, а затем щелкните Создать рядом с элементом Зеркальное отображение хранилища SQL.

  3. Укажите хранилище SQL, которое необходимо использовать в качестве зеркала.

  4. Выберите Этот экземпляр SQL находится в отношении зеркального отображения, укажите номер порта зеркального отображения SQL (порт по умолчанию — 5022), а затем нажмите кнопку ОК.

  5. Если необходимо настроить ресурс-свидетель, выберите Использовать свидетель зеркального отображения SQL для включения автоматической отработки отказа и щелкните Создать.

  6. Укажите хранилище SQL, которое необходимо использовать в качестве свидетеля.

  7. Выберите Этот экземпляр SQL находится в отношении зеркального отображения, укажите номер порта зеркального отображения SQL (порт по умолчанию — 7022), а затем нажмите кнопку ОК.

  8. Нажмите ОК.

  9. Опубликуйте топологию. После этого появится запрос на установку базы данных.

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

Перед переходом к следующей процедуре необходимо установить базу данных.

При настройке зеркального отображения сервера SQL Server следует иметь в виду следующее.

  • Если конечная точка зеркального отображения уже существует, она будет повторно использоваться с подключением по указанным портам, а порты, определенные в топологии, будут игнорироваться.

  • Любой порт, уже выделенный для других приложений на том же сервере, включая порты для других экземпляров SQL, не должен использоваться для доступных установленных экземпляров SQL. Это означает, что при наличии нескольких экземпляров SQL Server, установленных на одном и том же сервере, они не должны использовать один и тот же порт для зеркального отображения. Для получения подробной информации см. следующие статьи:

Использование командлетов командной консоли Lync Server для настройки зеркального отображения SQL

Самый простой способ настроить зеркальное отображение — с помощью построителя топологий, но это также можно сделать с помощью командлетов.

  1. Откройте окно командной консоли Lync Server и выполните следующий командлет:

    Install-CsMirrorDatabase [-ConfiguredDatabases] [-ForInstance] [-ForDefaultInstance] [-DatabaseType <Application | Archiving | CentralMgmt | Monitoring | User | BIStaging | PersistentChat | PersistentChatCompliance >] -FileShare <fileshare> -SqlServerFqdn <primarySqlserverFqdn> [-SqlInstanceName] [-DatabasePathMap] [-ExcludeDatabaseList] [-DropExistingDatabasesOnMirror] -Verbose 
    

    Например:

    Install-CsMirrorDatabase -ConfiguredDatabases -FileShare \\PRIMARYBE\csdatabackup -SqlServerFqdn primaryBE.contoso.com -DropExistingDatabasesOnMirror -Verbose 
    

    Отобразится следующее:

    Database Name:rtcxds 
            Data File:D:\CsData\BackendStore\rtc\DbPath\rtcxds.mdf 
             Log File:D:\CsData\BackendStore\rtc\LogPath\rtcxds.ldf 
          Primary SQL: e04-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\e04-ocs$ 
           Mirror SQL: K16-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\K16-ocs$ 
         Witness SQL : AB14-lct.los_a.lsipt.local\rtc 
              Account: LOS_A\AB14-lct$ 
        Database Name:rtcshared 
            Data File:D:\CsData\BackendStore\rtc\DbPath\rtcshared.mdf 
             Log File:D:\CsData\BackendStore\rtc\LogPath\rtcshared.ldf 
          Primary SQL: e04-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\e04-ocs$ 
           Mirror SQL: K16-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\K16-ocs$ 
         Witness SQL : AB14-lct.los_a.lsipt.local\rtc 
              Account: LOS_A\AB14-lct$ 
        Database Name:rtcab 
            Data File:D:\CsData\ABSStore\rtc\DbPath\rtcab.mdf 
             Log File:D:\CsData\ABSStore\rtc\LogPath\rtcab.ldf 
          Primary SQL: e04-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\e04-ocs$ 
           Mirror SQL: K16-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\K16-ocs$ 
         Witness SQL : AB14-lct.los_a.lsipt.local\rtc 
              Account: LOS_A\AB14-lct$ 
        Database Name:rgsconfig 
            Data File:D:\CsData\ApplicationStore\rtc\DbPath\rgsconfig.mdf 
             Log File:D:\CsData\ApplicationStore\rtc\LogPath\rgsconfig.ldf 
          Primary SQL: e04-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\e04-ocs$ 
           Mirror SQL: K16-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\K16-ocs$ 
         Witness SQL : AB14-lct.los_a.lsipt.local\rtc 
              Account: LOS_A\AB14-lct$ 
        Database Name:rgsdyn 
            Data File:D:\CsData\ApplicationStore\rtc\DbPath\rgsdyn.mdf 
             Log File:D:\CsData\ApplicationStore\rtc\LogPath\rgsdyn.ldf 
          Primary SQL: e04-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\e04-ocs$ 
           Mirror SQL: K16-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\K16-ocs$ 
         Witness SQL : AB14-lct.los_a.lsipt.local\rtc 
              Account: LOS_A\AB14-lct$ 
        Database Name:cpsdyn 
            Data File:D:\CsData\ApplicationStore\rtc\DbPath\cpsdyn.mdf 
             Log File:D:\CsData\ApplicationStore\rtc\LogPath\cpsdyn.ldf 
          Primary SQL: e04-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\e04-ocs$ 
           Mirror SQL: K16-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\K16-ocs$ 
         Witness SQL : AB14-lct.los_a.lsipt.local\rtc 
              Account: LOS_A\AB14-lct$ 
        Database Name:xds 
            Data File:D:\CsData\CentralMgmtStore\rtc\DbPath\xds.mdf 
             Log File:D:\CsData\CentralMgmtStore\rtc\LogPath\xds.ldf 
          Primary SQL: e04-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\e04-ocs$ 
           Mirror SQL: K16-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\K16-ocs$ 
         Witness SQL : AB14-lct.los_a.lsipt.local\rtc 
              Account: LOS_A\AB14-lct$ 
        Database Name:lis 
            Data File:D:\CsData\CentralMgmtStore\rtc\DbPath\lis.mdf 
             Log File:D:\CsData\CentralMgmtStore\rtc\LogPath\lis.ldf 
          Primary SQL: e04-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\e04-ocs$ 
           Mirror SQL: K16-ocs.los_a.lsipt.local\rtc 
              Account: LOS_A\K16-ocs$ 
         Witness SQL : AB14-lct.los_a.lsipt.local\rtc 
              Account: LOS_A\AB14-lct$
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): 
    
  2. Проверьте следующее:

    • Порт 5022 доступен через брандмауэр, если брандмауэр Windows включен на сервере-источнике SQL Server e04-ocs.los_a.lsipt.local\rtc.

    • Порт 5022 доступен через брандмауэр, если брандмауэр Windows включен на зеркальном ресурсе SQL Server K16-ocs.los_a.lsipt.local\rtc.

    • Порт 7022 доступен через брандмауэр, если брандмауэр Windows включен на следящем сервере SQL Server AB14-lct.los_a.lsipt.local\rtc.

    • Учетные записи, от имени которых выполняются экземпляры SQL Server на всех серверах-источниках и зеркальных серверах SQL, обладают разрешениями на чтение и запись для общей папки \\E04-OCS\csdatabackup.

    • Убедитесь, что поставщик инструментария управления Windows (WMI) работает на всех этих серверах. Командлет использует этот поставщик для поиска информации об учетных записях для служб SQL Server, которые выполняются на всех серверах-источниках, зеркальных серверах и следящих серверах.

    • Убедитесь, что учетная запись, выполняющая этот командлет, имеет разрешение на создание папок для данных и файлов журналов для всех зеркальных серверов.

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

  3. Введите A и нажмите клавишу ВВОД.

    Зеркальное отображение будет настроено.

Install-CsMirrorDatabase устанавливает зеркало и настраивает зеркальное отображение для всех баз данных, присутствующих в основном хранилище SQL. Если вы хотите настроить зеркальное отображение только для определенных баз данных, можно использовать параметр –DatabaseType, а если вы хотите настроить зеркальное отображение для всех баз данных, кроме нескольких, можно использовать параметр -ExcludeDatabaseList вместе со списком имен баз данных, разделенных запятыми.

Например, если вы добавите в Install-CsMirrorDatabase следующий параметр, будет выполнено зеркальное отображение всех баз данных, кроме rtcxds.

-ExcludeDatabaseList rtcab,rtcxds

Например, если вы добавите в Install-CsMirrorDatabase, следующий параметр, будет выполнено зеркальное отображение баз данных rtcab, rtcshared и rtcxds.

-DatabaseType User

Удаление и изменение зеркального отображения SQL

Чтобы удалить зеркальное отображение SQL пула в построителе топологий, сначала следует использовать командлет для удаления зеркала в SQL Server. Затем вы можете использовать построитель топологий, чтобы удалить зеркало из топологии. Чтобы сделать это в SQL Server, запустите следующий командлет:

Uninstall-CsMirrorDatabase -SqlServerFqdn <SQLServer FQDN> [-SqlInstanceName <SQLServer instance name>] -DatabaseType <Application | Archiving | CentralMgmt | Monitoring | User | BIStaging | PersistentChat | PersistentChatCompliance> [-DropExistingDatabasesOnMirror] [-Verbose]

Например, чтобы удалить зеркальное отображение и сбросить базы данных для баз данных User, введите следующую команду:

Uninstall-CsMirrorDatabase -SqlServerFqdn primaryBE.contoso.com -SqlInstanceName rtc -Verbose -DatabaseType User -DropExistingDatabasesOnMirror

Этот -DropExistingDatabasesOnMirror параметр приводит к удалению затронутых баз данных из зеркало.

Чтобы затем удалить это зеркальное отображение из топологии, выполните одно из следующих действий:

  1. В построителе топологии щелкните пул правой кнопкой мыши и выберите пункт Изменить свойства.

  2. Снимите флажок Включить зеркальное отображение хранилища SQL и нажмите кнопку ОК.

  3. Публикация топологии.

Удаление следящего сервера зеркального отображения

Используйте эту процедуру, если необходимо удалить следящий сервер из конфигурации зеркального отображения внутреннего сервера.

  1. В построителе топологии щелкните пул правой кнопкой мыши и выберите пункт Изменить свойства.

  2. Снимите флажок Использовать свидетель зеркального отображения SQL Server для автоматической отработки отказа и нажмите кнопку ОК.

  3. Публикация топологии.

    После публикации топологии в построителе топологий вы увидите сообщение, включающее следующее.

    Run the Uninstall-CsMirrorDatabase cmdlet to remove databases that are paired with following primary databases.
    

    Однако не выполняйте этот шаг и не вводите Uninstall-CsMirrorDatabase так, как это приведет к удалению всей конфигурации зеркального отображения.

  4. Чтобы удалить только следящий сервер из конфигурации SQL Server, следуйте инструкциям в разделе "Удаление следящего сервера из сеанса зеркального отображения базы данных (SQL Server)" на странице https://go.microsoft.com/fwlink/p/?LinkId=268456.