Skype for Business Server 2015에서 백 엔드 서버 고가용성을 위한 SQL 미러링 배포

SQL 미러링을 배포하려면 서버에서 최소 SQL Server 2008 R2를 실행해야 합니다. 이 버전은 주 서버, 미러 및 미러링 모니터 서버와 같은 모든 관련 서버에서 실행되어야 합니다. 자세한 내용은 SQL Server 2008 서비스 팩 1의 누적 업데이트 패키지 9를 참조하세요.

일반적으로 미러링 모니터를 사용하여 두 백 엔드 서버 간에 SQL 미러링을 설정하려면 다음이 필요합니다.

  • 주 서버의 SQL Server 버전은 SQL 미러링을 지원해야 합니다.

  • 주, 미러 및 미러링 모니터 서버(배포된 경우)에는 동일한 버전의 SQL Server 있어야 합니다.

  • 주 버전과 미러 동일한 버전의 SQL Server 있어야 합니다. 미러링 모니터 서버의 버전이 다를 수 있습니다.

미러링 모니터 서버 역할에 대해 지원되는 SQL 버전에 대한 SQL 모범 사례는 데이터베이스 미러링 감시를 참조하세요.

토폴로지 작성기를 사용하여 SQL 미러링을 배포합니다. 토폴로지 작성기에서 옵션을 선택하여 데이터베이스를 미러 토폴로지 작성기에서 토폴로지를 게시할 때 미러링 모니터 서버 설정(원하는 경우 미러링 모니터 서버 설정 포함)을 설정합니다. 미러 설정하거나 제거하는 동시에 미러링 모니터 서버를 설정하거나 제거합니다. 미러링 모니터 서버만 배포하거나 제거하는 별도의 명령은 없습니다.

서버 미러링을 구성하려면 먼저 SQL 데이터베이스 권한을 올바르게 설정해야 합니다. 자세한 내용은 데이터베이스 미러링 또는 AlwaysOn 가용성 그룹(SQL Server)에 대한 로그인 계정 설정을 참조하세요.

SQL 미러링을 사용하면 데이터베이스 복구 모드가 항상 전체로 설정되므로 백 엔드 서버의 디스크 공간이 부족하지 않도록 트랜잭션 로그 크기를 면밀히 모니터링하고 정기적으로 트랜잭션 로그를 백업해야 합니다. 트랜잭션 로그 백업 빈도는 로그 증가율에 따라 달라지며, 이는 프런트 엔드 풀의 사용자 활동에 의해 발생하는 데이터베이스 트랜잭션에 따라 달라집니다. 그에 따라 계획을 수행할 수 있도록 배포 워크로드에 대해 예상되는 트랜잭션 로그 증가를 결정하는 것이 좋습니다. 다음 문서에서는 SQL 백업 및 로그 관리에 대한 추가 정보를 제공합니다.

SQL 미러링을 사용하면 풀을 만들 때 또는 풀을 이미 만든 후 미러링에 대한 토폴로지를 구성할 수 있습니다.

중요

토폴로지 작성기 또는 cmdlet을 사용하여 SQL 미러링을 설정하고 제거하는 것은 주 서버, 미러 및 미러링 모니터 서버(원하는 경우)가 모두 동일한 도메인에 속하는 경우에만 지원됩니다. 다른 도메인의 서버 간에 SQL 미러링을 설정하려면 SQL Server 설명서를 참조하세요.

중요

백 엔드 데이터베이스 미러링 관계를 변경할 때마다 풀의 모든 프런트 엔드 서버를 다시 시작해야 합니다. >미러링의 변경(예: 미러 위치 변경)의 경우 토폴로지 작성기를 사용하여 다음 세 단계를 수행해야 합니다.

  1. 이전 미러 서버에서 미러링을 제거합니다.

  2. 새 미러 서버에 미러링을 추가합니다.

  3. 토폴로지를 게시합니다.

참고

미러 파일을 쓸 파일 공유를 만들어야 하며, SQL Server SQL 에이전트가 실행 중인 서비스에는 읽기/쓰기 권한이 필요합니다. SQL Server 서비스가 네트워크 서비스의 컨텍스트에서 실행되는 경우 보안 주 서버와 미러 SQL Server 모두의 Domain>\<SQLSERVERNAME>$을 공유 권한에 추가할 <수 있습니다. $는 컴퓨터 계정임을 식별하는 데 중요합니다.

토폴로지 작성기에서 풀을 만드는 동안 SQL 미러링을 구성하려면

  1. SQL 저장소 정의 페이지에서 SQL 저장소 상자 옆에 있는 새로 만들기를 클릭합니다.

  2. 새 SQL 저장소 정의 페이지에서 기본 저장소를 지정하고 이 SQL instance 미러링 관계에 있음, SQL 미러링 포트 번호(기본값: 5022)를 지정한 다음 확인을 클릭합니다.

  3. SQL 저장소 정의 페이지로 돌아가서 SQL 스토어 미러링 사용을 선택합니다.

  4. 새 SQL 스토어 정의 페이지에서 미러 사용할 SQL 저장소를 지정합니다. 미러링 관계에 있는 이 SQL instance 선택하고 포트 번호(기본값은 5022)를 지정한 다음 확인을 클릭합니다.

  5. 이 미러 대한 미러링 모니터를 원하는 경우 다음을 수행합니다.

    a. SQL 미러링 감시 사용을 선택하여 자동 장애 조치(failover)를 사용하도록 설정합니다.

    b. SQL 스토어 정의 페이지에서 SQL 미러링 감시를 사용하여 자동 장애 조치(failover)를 사용하도록 설정하고 미러링 모니터 서버로 사용할 SQL 저장소를 지정합니다.

    C. 포트 번호(기본값은 7022)를 지정하고 확인을 클릭합니다.

  6. 프런트 엔드 풀 및 토폴로지의 다른 모든 역할을 정의한 후 토폴로지 작성기를 사용하여 토폴로지를 게시합니다. 토폴로지를 게시할 때 중앙 관리 저장소를 호스트하는 프런트 엔드 풀에 SQL 미러링이 사용하도록 설정된 경우 기본 및 미러 SQL 저장소 데이터베이스를 모두 만드는 옵션이 표시됩니다.

    설정을 클릭하고 미러링 백업의 파일 공유로 사용할 경로를 입력합니다.

    확인을 클릭한 다음 다음을 클릭하여 데이터베이스를 만들고 토폴로지를 게시합니다. 미러링 및 미러링 모니터 서버(지정된 경우)가 배포됩니다.

토폴로지 작성기를 사용하여 기존 풀의 속성을 편집하여 SQL 미러링을 사용하도록 설정할 수 있습니다.

토폴로지 작성기에서 기존 프런트 엔드 풀에 SQL 미러링을 추가하려면

  1. 토폴로지 작성기에서 풀을 마우스 오른쪽 단추로 클릭한 다음 속성 편집을 클릭합니다.

  2. SQL 스토어 미러링 사용을 선택한 다음 미러링 SQL 스토어 옆에 있는 새로 만들기를 클릭합니다.

  3. 미러 사용할 SQL 저장소를 지정합니다.

  4. 이 SQL instance 미러링 관계에 있음, 기본 포트가 5022인 SQL 미러링 포트 번호를 지정한 다음 확인을 클릭합니다.

  5. 미러링 모니터 서버를 구성하려면 SQL 미러링 감시를 사용하여 자동 장애 조치(failover)를 사용하도록 설정하고 새로 만들기를 클릭합니다.

  6. 미러링 모니터 서버로 사용할 SQL 저장소를 지정합니다.

  7. 미러링 관계에 있는 이 SQL instance 선택하고 SQL 미러링 포트 번호(기본 포트는 7022)를 지정한 다음 확인을 클릭합니다.

  8. 확인을 클릭합니다.

  9. 토폴로지를 게시합니다. 이렇게 하면 데이터베이스를 설치하라는 메시지가 표시됩니다.

    토폴로지 게시 프로세스 중에 파일 공유 경로를 정의하라는 메시지가 표시됩니다. 미러링에 참여하는 SQL Server는 미러 설정하려면 이 파일 공유에 대한 읽기/쓰기 권한이 있어야 합니다.

그런 다음, 다음 절차를 진행하기 전에 데이터베이스를 설치해야 합니다.

SQL 미러링을 설정할 때 다음 사항에 유의해야 합니다.

  • 미러링 엔드포인트가 이미 있는 경우 미러링 엔드포인트는 해당 포트에 정의된 포트를 사용하여 다시 사용되며 토폴로지에서 지정한 포트를 무시합니다.

  • 다른 SQL 인스턴스에 대한 포트를 포함하여 동일한 서버의 다른 애플리케이션에 이미 할당된 포트는 현재 설치된 SQL 인스턴스에 사용해서는 안 됩니다. 이는 동일한 서버에 둘 이상의 SQL instance 설치되어 있는 경우 미러링에 동일한 포트를 사용하면 안 됨을 의미합니다. 자세한 내용은 다음 문서를 참조하세요.

비즈니스용 Skype 서버 2015 Management Shell Cmdlet을 사용하여 SQL 미러링 설정

미러링을 설정하는 가장 쉬운 방법은 토폴로지 작성기를 사용하는 것이지만 cmdlet을 사용하여 미러링을 설정할 수도 있습니다.

  1. 비즈니스용 Skype 서버 2015 Management Shell 창을 열고 다음 cmdlet을 실행합니다.

    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. 다음을 확인합니다.

    • 기본 SQL Server e04-ocs.los_a.lsipt.local\rtc에서 Windows 방화벽을 사용하도록 설정한 경우 포트 5022는 방화벽을 통해 액세스할 수 있습니다.

    • 미러 SQL Server K16-ocs.los_a.lsipt.local\rtc에서 Windows 방화벽을 사용하도록 설정한 경우 포트 5022는 방화벽을 통해 액세스할 수 있습니다.

    • 미러링 모니터 SQL Server AB14-lct.los_a.lsipt.local\rtc에서 Windows 방화벽을 사용하도록 설정한 경우 포트 7022는 방화벽을 통해 액세스할 수 있습니다.

    • 모든 기본 및 미러 SQL 서버에서 SQL Server를 실행하는 계정에는 파일 공유 \E04-OCS\csdatabackup에 대한 읽기/쓰기 권한이 있습니다.

    • WMI(Windows Management Instrumentation) 공급자가 이러한 모든 서버에서 실행되고 있는지 확인합니다. cmdlet은 이 공급자를 사용하여 모든 기본, 미러 및 미러링 모니터 서버에서 실행되는 SQL Server 서비스에 대한 계정 정보를 찾습니다.

    • 이 cmdlet을 실행하는 계정에 모든 미러 서버에 대한 데이터 및 로그 파일에 대한 폴더를 만들 수 있는 권한이 있는지 확인합니다.

    • SQL instance 실행하는 데 사용하는 사용자 계정에는 파일 공유에 대한 읽기/쓰기 권한이 있어야 합니다. 파일 공유가 다른 서버에 있고 SQL instance 로컬 시스템 계정을 실행하는 경우 SQL instance 호스트하는 서버에 파일 공유 권한을 부여해야 합니다.

  3. A를 입력하고 Enter 키를 누릅니다.

    미러링이 구성됩니다.

    Install-CsMirrorDatabase는 미러 설치하고 기본 SQL 저장소에 있는 모든 데이터베이스에 대해 미러링을 구성합니다. 특정 데이터베이스에 대해서만 미러링을 구성하려는 경우 -DatabaseType 옵션을 사용하거나 몇 가지를 제외한 모든 데이터베이스에 대해 미러링을 구성하려는 경우 -ExcludeDatabaseList 옵션과 쉼표로 구분된 데이터베이스 이름 목록을 사용하여 제외할 수 있습니다.

    예를 들어 Install-CsMirrorDatabase에 다음 옵션을 추가하면 rtcab 및 rtcxds를 제외한 모든 데이터베이스가 미러링됩니다.

    -ExcludeDatabaseList rtcab,rtcxds

    예를 들어 Install-CsMirrorDatabase에 다음 옵션을 추가하면 rtcab, rtcshared 및 rtcxds 데이터베이스만 미러됩니다.

    -DatabaseType User

SQL 미러링 제거 또는 변경

토폴로지 작성기에서 풀의 SQL 미러링을 제거하려면 먼저 cmdlet을 사용하여 SQL Server 미러 제거해야 합니다. 그런 다음 토폴로지 작성기를 사용하여 토폴로지에서 미러 제거할 수 있습니다. SQL Server 미러 제거하려면 다음 cmdlet을 사용합니다.

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

예를 들어 미러링을 제거하고 사용자 데이터베이스에 대한 데이터베이스를 삭제하려면 다음을 입력합니다.

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

-DropExistingDatabasesOnMirror 옵션을 사용하면 영향을 받는 데이터베이스가 미러 삭제됩니다.

그런 다음 토폴로지에서 미러 제거하려면 다음을 수행합니다.

  1. 토폴로지 작성기에서 풀을 마우스 오른쪽 단추로 클릭하고 속성 편집을 클릭합니다.

  2. SQL 스토어 미러링 사용을 선택 취소하고 확인을 클릭합니다.

  3. 토폴로지를 게시합니다.

미러링 모니터 모니터 서버 제거

백 엔드 서버 미러링 구성에서 미러링을 제거해야 하는 경우 이 절차를 사용합니다.

  1. 토폴로지 작성기에서 풀을 마우스 오른쪽 단추로 클릭하고 속성 편집을 클릭합니다.

  2. SQL Server 미러링 감시 사용을 선택하여 자동 장애 조치(failover)를 사용하도록 설정하고확인을 클릭합니다.

  3. 토폴로지를 게시합니다.

    토폴로지를 게시한 후 토폴로지 작성기에서 다음을 포함하는 메시지가 표시됩니다.

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

    그러나 해당 단계를 수행하지 말고 전체 미러링 구성을 제거하는 대로 를 입력 Uninstall-CsMirrorDatabase 하지 마세요.

  4. SQL Server 구성에서 미러링 모니터 서버만 제거하려면 데이터베이스 미러링 세션에서 미러링 모니터 서버 제거(SQL Server)의 지침을 따릅니다.