Развертывание зеркального отображения SQL для обеспечения высокого уровня доступности внутреннего сервера в Skype для бизнеса server 2015

Чтобы обеспечить возможность развертывания зеркального отображения SQL, серверы должны работать под управлением, как минимум, версии SQL Server 2008 R2. Эта версия должна выполнятся на всех серверах-участниках: на сервере-источнике, зеркальном сервере и следящем сервере. Дополнительные сведения см. в статье Накопительный пакет обновления 9 для SQL Server 2008 с пакетом обновления 1 (SP1).

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

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

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

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

Рекомендации по SQL с точки зрения того, какие версии SQL поддерживаются для роли-свидетеля, см. в статье Зеркальное отображение базы данных-свидетеля.

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

Для настройки зеркального отображения серверов сначала нужно правильно настроить разрешения базы данных SQL. Дополнительные сведения см. в статье Настройка учетных записей входа для зеркального отображения базы данных или групп доступности AlwaysOn (SQL Server).

При зеркальном отображении SQL режим восстановления базы данных всегда имеет значение Полный. Это означает, что необходимо регулярно отслеживать размер журнала транзакций и создавать резервные копии журналов транзакций, чтобы избежать переполнения дискового пространства на внутренних серверах. Частота резервного копирования журналов транзакций зависит от скорости роста журнала, которая, в свою очередь, зависит от транзакций базы данных, выполняемых действиями пользователей в интерфейсном пуле. Рекомендуется определить, какой объем журналов транзакций ожидается для рабочей нагрузки развертывания, чтобы можно было выполнить соответствующее планирование. В следующих статьях содержатся дополнительные сведения о резервном копировании 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. Если необходимо использовать ресурс-свидетель для этого зеркала, выполните следующие действия.

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

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

    в. Укажите номер порта (по умолчанию — 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, установленных на одном и том же сервере, они не должны использовать один и тот же порт для зеркального отображения. Для получения подробной информации см. следующие статьи:

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

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

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

    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).