SQL Server Requirements Considerations
가상화 후보로 SQL Server 배포를 고려할 때는 각 인스턴스에 대한 비즈니스 및 기술 요구 사항을 명확하게 이해해야 합니다. 이러한 요구 사항은 가용성, 성능, 확장성, 성장 및 여유 공간, 패치 및 백업과 같은 여러 차원에 걸쳐 있습니다.
다음과 같은 높은 수준의 절차를 사용하여 가상화를 위한 SQL Server 후보를 특성화하는 프로세스를 간소화할 수 있습니다:
- SQL Server에 액세스하는 애플리케이션과 관련된 데이터베이스 워크로드의 성능 특성 및 성장 패턴을 이해합니다.
- 가상 머신과 데이터베이스 모두에 대한 가동 시간 보장(‘9의 수’) 및 재해 복구를 포함한 가용성 및 복구 요구 사항을 이해합니다.
- 데이터베이스를 호스팅하는 기존 물리적 서버에 대한 리소스 사용률 기준선을 파악합니다.
- vSphere로의 마이그레이션/배포를 계획합니다.
SQL Server 워크로드 이해
SQL Server는 애플리케이션에서 워크로드를 실행하는 관계형 데이터베이스 관리 시스템(RDBMS)입니다. Windows Server(또는 Linux)에서 실행되는 SQL Server의 단일 설치 또는 인스턴스는 하나 이상의 사용자 데이터베이스를 가질 수 있습니다. 데이터는 사용자 데이터베이스를 통해 저장되고 액세스됩니다. 이러한 데이터베이스에 대해 실행되는 워크로드는 배포 및 기능 사용량이나 가용성 아키텍처와 같은 기타 요인에 영향을 미치는 다양한 특성을 가질 수 있습니다. 이러한 요소는 가상 머신이 VMware ESXi™ 호스트에 배치되는 방식과 기본 디스크 구성과 같은 특성에 영향을 미칩니다.
vSphere의 가상 머신 내에 SQL Server 인스턴스를 배포하기 전에 지원하려는 SQL Server 배포에 대한 비즈니스 요구 사항과 애플리케이션 워크로드를 이해해야 합니다. 애플리케이션마다 용량, 성능 및 가용성에 대한 요구 사항이 다릅니다. 따라서 각 배포는 이러한 요구 사항을 최적으로 지원하도록 설계되어야 합니다. 많은 조직에서 서비스 수준 계약(SLA), 복구 지점 목표(RPO) 및 복구 시간 목표(RTO)에 따라 SQL Server 설치를 여러 관리 계층으로 분류합니다. SQL Server가 실행하는 워크로드 유형의 분류에 따라 해당 워크로드에 할당된 아키텍처 및 리소스가 결정되는 경우가 많습니다. 다음은 워크로드 유형의 몇 가지 일반적인 예입니다. 단일 SQL Server 인스턴스에서 워크로드 유형을 혼합하는 것은 권장되지 않습니다.
- OLTP 데이터베이스(온라인 트랜잭션 처리)는 조직에서 가장 중요한 데이터베이스인 경우가 많습니다. 이러한 데이터베이스는 일반적으로 고객 대면 애플리케이션을 지원하며 회사의 핵심 운영에 필수적인 것으로 간주됩니다. 미션 크리티컬 OLTP 데이터베이스와 이 데이터베이스가 지원하는 애플리케이션은 매우 높은 수준의 성능을 요구하고 성능 저하 및 가용성에 매우 민감한 SLA를 갖는 경우가 많습니다. OLTP 미션 크리티컬 데이터베이스를 실행하는 SQL Server VM은 최적의 성능을 달성하기 위해 리소스 할당(CPU, 메모리, 디스크 및 네트워크)을 보다 신중하게 수행해야 할 수 있습니다. 또한 상시 장애 조치 클러스터 인스턴스(FCI) 또는 상시 가용성 그룹(AG)을 실행하는 Windows Server 장애 조치 클러스터를 사용한 클러스터링 후보가 될 수도 있습니다. 이러한 유형의 데이터베이스는 일반적으로 디스크에 대한 집중적인 랜덤 쓰기가 대부분이며 근무 시간 동안 CPU 사용률이 지속되는 특징이 있습니다.
- DSS(의사 결정 지원 시스템) 데이터베이스는 데이터 웨어하우스라고도 할 수 있습니다. 이러한 데이터베이스는 비즈니스에 분석에 의존하는 많은 조직에서 미션 크리티컬한 역할을 합니다. 이러한 데이터베이스는 쿼리가 실행될 때 CPU 사용률과 디스크에서 읽기 작업에 매우 민감합니다. 많은 조직에서 DSS 데이터베이스는 월별/분기별/연말에 가장 중요한 리소스입니다.
- 배치, 보고 서비스, ETL 데이터베이스는 보고, 배치 작업, 애플리케이션 통합 또는 ETL 워크로드와 같은 작업으로 인해 특정 기간에만 바쁩니다. 이러한 데이터베이스와 애플리케이션은 회사 운영에 필수적일 수 있지만 성능과 가용성에 대한 요구 사항이 훨씬 덜 엄격합니다. 하지만 데이터 유효성 검사 및 감사 추적과 같은 다른 매우 엄격한 비즈니스 요구 사항이 있을 수 있습니다.
- 사용 빈도가 낮은 소규모 데이터베이스는 일반적으로 중단이 발생해도 회사의 실시간 운영에 부정적인 영향을 미치지 않는 부서별 애플리케이션을 지원합니다. 이러한 데이터베이스와 애플리케이션이 장시간 다운되는 것을 용인할 수 있는 경우가 많습니다. SQL Server 배포에 필요한 리소스는 CPU, 메모리, 디스크 및 네트워크 I/O, 사용자 연결, 트랜잭션 처리량, 쿼리 실행 효율성/지연 시간 및 데이터베이스 크기 측면에서 정의됩니다. 일부 고객은 SQL Server를 실행하는 호스트의 시스템 사용률 목표(예: CPU 사용률 80%)를 설정하여 사용량 급증 및/또는 가용성을 위한 충분한 여유 공간을 남겨두기도 합니다.
데이터베이스 워크로드와 서비스 수준을 충족하기 위해 리소스를 할당하는 방법을 이해하면 개별 SQL Server 데이터베이스에 적합한 가상 머신 구성을 정의하는 데 도움이 됩니다. 단일 vSphere 호스트에서 여러 워크로드를 통합할 수 있으므로 이러한 특성 분석은 여러 워크로드를 vSphere에 성공적으로 배포하는 데 필요한 리소스를 제공하는 vSphere 및 스토리지 하드웨어 구성을 설계하는 데도 도움이 됩니다.
가용성 및 복구 옵션
vSphere에서 SQL Server를 실행하면 VMware와 Microsoft의 최상의 기능을 활용하여 데이터베이스 가용성, 백업 및 재해 복구를 위한 다양한 옵션을 제공합니다. 이 섹션에서는 가용성 및 복구를 위해 존재하는 다양한 옵션에 대한 간략한 개요를 제공합니다."[4].
VMware 비즈니스 연속성 옵션
비즈니스 연속성 설계에서 vSphere HA, vSphere Fault Tolerance, vSphere vMotion, vSphere Storage vMotion®, VMware Site Recovery Manager™와 같은 VMware 기술을 사용하여 VM 위에서 실행되는 SQL Server 인스턴스를 계획된 다운타임 및 예기치 않은 다운타임으로부터 보호할 수 있습니다. 이러한 기술은 단일 하드웨어 구성 요소의 장애부터 전체 사이트 장애에 이르기까지 SQL Server 인스턴스를 보호하고 기본 SQL Server 비즈니스 연속성 기능과 함께 가용성을 높입니다.
vSphere High Availability
vSphere HA는 가상 머신에서 실행되는 애플리케이션에 사용하기 쉽고 비용 효율적인 고가용성을 제공합니다. vSphere HA는 클러스터로 구성된 여러 ESXi 호스트를 활용하여 가상 머신을 정상적으로 다시 시작함으로써 중단 시 신속한 복구와 가상 머신에서 실행되는 애플리케이션에 비용 효율적인 고가용성을 제공합니다. vSphere HA는 다음과 같은 방식으로 애플리케이션 가용성을 보호합니다:
vSphere Fault Tolerance
vSphere Fault Tolerance(FT)은 더 높은 수준의 가용성을 제공하여 사용자가 데이터, 트랜잭션 또는 연결의 손실 없이 물리적 호스트 장애로부터 모든 가상 머신을 보호할 수 있도록 합니다. vSphere FT는 가상 머신의 CPU 명령 실행 중 어느 시점에서든 기본 및 보조 VM의 상태가 동일한지 확인하여 지속적인 가용성을 제공합니다. 기본 VM을 실행하는 호스트 또는 보조 VM을 실행하는 호스트 중 하나에 장애가 발생하면 즉각적이고 투명한 페일오버가 수행됩니다.
vSphere vMotion 및 vSphere Storage vMotion
계획된 다운타임은 일반적으로 데이터 센터 다운타임의 80% 이상을 차지합니다. 하드웨어 유지 관리, 서버 마이그레이션 및 펌웨어 업데이트에는 모두 물리적 서버 및 스토리지 시스템에 대한 다운타임이 필요합니다. 이러한 다운타임의 영향을 최소화하기 위해 조직은 불편하고 예약하기 어려운 다운타임 기간까지 유지 관리를 지연할 수밖에 없습니다.
vSphere의 vSphere vMotion 및 vSphere Storage vMotion 기능을 사용하면 VMware 환경의 워크로드를 서비스 중단 없이 다른 물리적 서버 또는 다른 기본 스토리지로 동적으로 이동할 수 있으므로 조직에서 계획된 다운타임을 줄일 수 있습니다. 관리자는 불편한 유지 보수 기간을 예약할 필요 없이 더 빠르고 투명하게 유지 보수 작업을 수행할 수 있습니다.
참고: vSphere 버전 6.0 이상에서는 Windows 장애 조치 클러스터의 일부인 물리적 호환성 모드에서 RDM 디스크가 있는 VM의 vMotion을 지원합니다.
기본 SQL Server 기능
애플리케이션 수준에서는 SQL Server Always on Availability Groups, 데이터베이스 미러링, 페일오버 클러스터 인스턴스 및 로그 전송을 비롯한 모든 Microsoft 기능 및 기술이 vSphere에서 지원됩니다. 이러한 SQL Server 기능을 vSphere 기능과 결합하여 각 사용 사례에 가장 효율적이고 적절한 툴을 적용하여 유연한 가용성 및 복구 시나리오를 생성할 수 있습니다.
다음 표에는 다양한 복구 시간 목표(RTO) 및 복구 시점 목표(RPO)를 충족하는 SQL Server 가용성 옵션과 해당 기능이 나열되어 있습니다. 한 가지 옵션을 선택하기 전에 자체 비즈니스 요구 사항을 평가하여 특정 요구 사항을 가장 잘 충족하는 시나리오를 결정하세요.
표 1. SQL Server 고가용성 옵션
Technology | Granularity | Storage Type | RPO – Data Loss | RTO – Downtime |
---|---|---|---|---|
Always On Availability Groups | Database | Non-shared | None (with synchronous commit mode) | ~3 seconds or Administrator recovery |
Always On Failover Cluster Instances | Instance | Shared | None | ~30 seconds |
Database Mirroring[5] | Database | Non-shared | None (with high safety mode) | < 3 seconds or Administrator recovery |
Log Shipping | Database | Non-shared | Possible transaction log | Administrator recovery |
VMware Cloud on VMware-Powered Hybrid Clouds VMware Cloud on AWS는 VMware 기반 퍼블릭 및 하이브리드 클라우드 오퍼링의 한 예입니다. VMware Cloud on AWS는 AWS 서비스에 대한 최적화된 액세스와 함께 VMware의 엔터프라이즈급 SDDC 소프트웨어를 AWS 클라우드에 제공합니다. VMware Cloud on AWS는 VMware 컴퓨팅, 스토리지, 네트워크 가상화 제품(vSphere, VMware vSAN, VMware NSX)을 전용 탄력적인 베어 메탈 AWS 인프라에서 실행되도록 최적화된 VMware vCenter 관리와 통합합니다[6].
VMware Cloud on AWS를 사용하면 온프레미스 vSphere 환경과 동일한 툴셋을 사용하여 퍼블릭 클라우드를 사용할 수 있습니다. VM 또는 애플리케이션 구성을 수정하지 않고도 온프레미스 데이터 센터와 VMware 기반 클라우드 서비스 간에 vSphere vMotion 기술을 사용하여 VM을 양방향으로 마이그레이션할 수 있습니다. 마이그레이션 및 최적화에 대한 자세한 내용은 이 문서에서 확인할 수 있습니다.
온프레미스 데이터센터의 VM에 배포된 가상화된 SQL Server 인스턴스에 대해 VMware 기반 클라우드 인프라에서 지원하는 다음 사용 사례를 살펴보십시오:
- 퍼블릭 클라우드의 애플리케이션 근처에 데이터베이스 서버를 배치하기 위한 간단한 애플리케이션 마이그레이션
- 퍼블릭 클라우드에서 사용 가능한 온디맨드 용량의 이점 활용
- VMware Site Recovery Manager를 통해 서비스형 재해 복구 제공
- VMware Cloud Disaster Recovery(VCDR) SaaS 솔루션으로 서비스형 재해 복구 제공
가상화된 SQL Server 인스턴스를 VMware vSphere 기반 Cloud 인스턴스로 이동한 후에도 이 문서에 요약된 운영 및 구성 지침이 계속 적용됩니다[7].
vSphere 기반 SQL Server 지원 가능성 고려 사항
전용 솔루션 아키텍처의 목표 중 하나는 쉽게 운영 및 유지 관리할 수 있는 솔루션을 제공하는 것입니다. “Day two” 운영 루틴의 초석 중 하나는 지원되는 구성만 사용하도록 하는 것입니다.
vSphere에서 SQL Server를 설계할 때 다음 사항을 고려하십시오.
- VMware Configuration Maximums Tool[8]를 사용하여 최종 아키텍처가 한계에 도달했거나 가까운 시일 내에 도달할 수 있는지 확인합니다.
- VMware Compatibility Guide[9]를 사용하여 사용된 모든 구성 요소의 호환성을 확인합니다.
- VMware Lifecycle Product Matrix[10]를 사용하여 사용 중인 솔루션의 일반 지원 종료(EGS) 날짜를 찾습니다. 예를 들어, 이 문서 작성 시점을 기준으로 일반 지원 ESXi/vCenter 6.7은 2022년 10월 15일에 종료되며, 추가 기술 가이드는 2023년 11월 15일부터 중단됩니다.
- Microsoft 지원 기술 자료 문서 “하드웨어 가상화 환경에서 실행 중인 SQL Server 제품에 대한 지원 정책”[11]을 다시 확인하세요. 현재 Microsoft는 가상 플랫폼에서 실행되는 동안 SQL Server 2008 이상의 모든 버전의 SQL Server를 지원합니다.
- Microsoft는 현재 제공되고 지원되는 모든 버전의 VMware vSphere에서 Microsoft SQL Server 가상화를 공식적으로 지원합니다. 지원되는 모든 VMware vSphere 버전 목록은 Windows Server Virtualization Validation Program[12] 웹 사이트에서 쉽게 참조할 수 있습니다. 이 인증을 통해 VMware 고객은 Microsoft와 VMware의 협력 기술 지원을 받을 수 있습니다. 에스컬레이션이 필요한 경우 VMware는 여기에 설명된 대로 상호 문제를 신속하게 에스컬레이션하고 Microsoft 엔지니어와 직접 협력하여 문제를 신속하게 해결할 수 있습니다[13].
- 애플리케이션 라이센스 이동성에 대한 완화 정책 - Microsoft는 Microsoft SQL Server 2012 릴리스부터 소프트웨어 보증(SA) 적용 대상 고객에 대한 라이센스 정책을 더욱 완화했습니다. SA를 사용하면 필요한 만큼 자주 서버 팜 내의 다른 서버에 SQL Server 라이선스를 다시 할당할 수 있습니다. 또한 90일에 한 번씩 다른 서버 팜의 다른 서버 또는 프라이빗 클라우드가 아닌 다른 서버에 라이선스를 다시 할당할 수도 있습니다.