Microsoft SQL Server 기본고가용성과 XtremIO EMC XtremIO 스토리지시스템을통해 Microsoft SQL Server 기능확장 요약 이백서에서는 EMC XtremIO 스토리지시스템에서 MS SQL Server 2012 및 2014의 AlwaysOn 기능을사용하는경우얻을수있는스토리지효율성및 Microsoft SQL Server 의성능에대해살펴봅니다. January 2016 EMC 백서
고객의비즈니스및 IT 관련과제를해결할수있는 EMC 제품, 서비스및솔루션에대한자세한내용은해당지역 EMC 영업대표또는 EMC 공인파트너에게문의하거나 korea.emc.com 또는 EMC Store 를방문해주십시오. Copyright 2015 EMC Corporation. All Rights Reserved. 본문서의정보는발행일현재정확한것으로간주되며모든정보는예고없이변경될수있습니다. 본문서의정보는 있는그대로 제공됩니다. EMC Corporation 은본문서의정보와관련하여어떠한진술이나보증도하지않으며, 특히상품성이나특정목적을위한적합성에대하여어떠한묵시적인보증도부인합니다. 본문서에설명된 EMC 소프트웨어를사용, 복사및배포하려면해당소프트웨어라이센스가필요합니다. EMC 제품에대한최신목록은 korea.emc.com 의 EMC Corporation 상표정보부분을참조하십시오. 본문서에사용된기타모든상표는해당소유주의자산입니다. Part Number H14148 2
목차 요약... 5 대상... 5 소개... 5 결과... 5 MS SQL SERVER 고가용성... 6 AlwaysOn FCI(Failover Cluster Instance)... 6 AAG(AlwaysOn Availability Groups)... 6 가용성모드... 6 보호모델선택... 7 XtremIO 의비공유스토리지모델변경기능... 8 ALWAYSON 아키텍처고려사항... 9 AlwaysOn FCI(Failover Cluster Instance) 와 XtremIO 쓰기가능스냅샷... 9 AlwaysOn 양방향복제솔루션과 XtremIO 쓰기가능스냅샷... 10 가용성그룹과결합된 AlwaysOn FCI(Failover Cluster Instance) 및 XtremIO 쓰기가능 스냅샷... 13 검증... 14 검증시나리오... 14 성능메트릭모니터링... 14 테스트데이터베이스... 15 3
테스트환경... 15 SQL Server 구성... 15 스토리지설계... 16 데이터베이스복제본시드 (Seed)... 17 2 차복제본시드 (Seed) 에 XtremIO 스냅샷사용... 17 운영및보조데이터베이스복제본에대한중복제거율... 18 가용성그룹모니터링... 20 동기식커밋모드에서성능유지... 21 쓰기가능스냅샷복제본을사용하는다중데이터베이스, 다중 AG 시나리오... 23 검증요약... 26 결론... 27 결과... 27 참고자료... 28 EMC 설명서... 28 백서... 28 제품설명서... 28 Microsoft 설명서... 28 4
요약 관리자가 Microsoft SQL Server 에서호스팅되고지연시간에민감한 OLTP(Online Transaction Processing) 데이터베이스환경을보호하는등, 고객의엄격한 SLA 계약을보장하는동시에스토리지비용을절감해야하는오늘날의최신데이터센터에서는효율성, 성능및보호가무엇보다중요합니다. SQL Server 의기본고가용성옵션에대한개선사항으로, Microsoft 에서는 SQL Server 2012에 AlwaysOn 오퍼링을도입했습니다. 이러한오퍼링에는클러스터링된 SQL Server 인스턴스에대한향상된기능을제공하는 AlwaysOn FCI(Failover Cluster Instance) 와데이터베이스미러링및로그전달에대한개선된기능을제공하는 AAG(AlwaysOn Availability Group) 기능이포함됩니다. 특히, AAG 는여러사이트와여러서브넷에걸쳐양방향복제솔루션을통해하나이상의사용자데이터베이스에대한가용성을극대화할수있게해주는고가용성및재해복구솔루션을제공합니다. Microsoft 의 AlwaysOn FCI(Failover Cluster Instance) HA 오퍼링을통한 AlwaysOn 가용성그룹의이점은 FCI 의 Active/Passive 데이터베이스모델이아니라운영데이터베이스의 2 차복제본을액세스하고읽을수있다는점입니다. 그러면데이터센터하드웨어를보다균형있게 사용하여기본양방향복제솔루션을구현할수있습니다. 하지만가용성그룹을사용하면보존되는복제본수에비례하여스토리지요구사항이증가합니다. 스토리지비용이중요하므로이에따라실제운영환경에서 2차복제본이상대적으로성능이낮은플랫폼에저장될수있으며, 이는페일오버시나리오에서성능저하를초래합니다. 게다가 2차복제본은읽을수있는워크로드만처리합니다. 따라서데이터의쓰기가능 ( 재구축 ) 복제본이필요한경우무작위복제프로세스를구현해야하며, 이는용량요구사항과비용을더높일수있습니다. XtremIO 의무중단인라인데이터감소기능은올플래시플랫폼에서기대되는수준의 SLA 를제공하면서용량저하없이데이터베이스복제본을 통합하여이러한문제를해결합니다. XtremIO 의즉각적인제로복제스냅샷은운영환경에영향을미치지않고테스트 / 개발, 보고및분석워크로드를 수행할수있는쓰기가능 ( 재구축 ) 데이터베이스복제본을제공합니다. 대상 이백서는현재 EMC XtremIO 스토리지시스템에서 MS SQL Server 2012/2014를사용하고있거나이를구축하려고고려하는스토리지및데이터베이스솔루션설계자를대상으로작성되었습니다. 이문서에서는고가용성솔루션을구축하고이와동시에운영데이터에대한쓰기가능재구축스냅샷을제공하도록 MS SQL Server 기능을확장할수있는방법에대한정보를제공합니다. 소개 이백서에서는 SQL Server 2012 및 2014를위한기본 HA(High Availability) 를제공하는 Microsoft SQL Server AlwaysOn 오퍼링인 AlwaysOn FCI(Failover Clustered Instance) 및 AG(Availability Group) 의특징을설명하고, XtremIO 의효율성이점이어떤식으로테스트 / 개발및분석워크로드에대해데이터베이스의쓰기가능스냅샷을제공하여 SQL Server 환경의기능을추가로확장할수있는지를중점적으로설명합니다. AlwaysOn HA 기능을사용하려면 SQL Server Enterprise Edition 이필요합니다. XtremIO 의추가비용이없는즉각적인스냅샷을계속사용하여 SQL Server Standard Edition 기능을확장하고동일한쓰기가능재구축복제본을제공할수있는고객은사용할필요가없습니다. 이문서는이항목에대해중점적으로다루는문서이므로, 일반제품정보는최소한으로다룹니다. 자세한내용은참고자료에나와있는문서와정보를 참조하십시오. 참고자료는 28 페이지의 XtremIO 웹사이트에서확인할수있습니다. 결과 SQL Server AlwaysOn FCI(Failover Cluster Instance) 및가용성그룹기술은사용편의성, 모니터링및성능측면에서기존기본 SQL Server 보호오퍼링에비해기본 SQL Server 보호수준을크게향상시킵니다. XtremIO 의보조데이터베이스복제본에대한중복제거기능은해당압축기능과함께 AlwayOn 가용성그룹구축에필요한용량을상당히절감시켜줍니다. XtremIO 스냅샷을활용함으로써읽기전용 2 차복제본의한계를극복하고, 운영데이터베이스가동기식복제를통해보호되는경우에도이러한데이터베이스의쓰기가능스냅샷복제본을생성할수있습니다. Enterprise 라이센스를선택하지않아도 XtremIO 스냅샷을통해 SQL Server 기능을확장할수있습니다. 5
MS SQL Server 고가용성 Microsoft 는애플리케이션데이터베이스또는인스턴스레벨에서 SQL Server 용고가용성솔루션을구성하기위한다양한옵션을제공합니다. 이문서에서는 SQL Server 2012/2014에서제공되는 AlwaysOn 오퍼링에대해중점적으로설명합니다. AlwaysOn FCI(Failover Cluster Instance) AAG(AlwaysOn Availability Groups) 미러링및로그전달은 SQL Server 버전이 2012 이전인경우사용할수있는옵션입니다. Microsoft 에서는데이터베이스미러링이향후버전에서제거될예정임을알리고 AlwaysOn 가용성그룹을사용하는것으로전환할것을권장합니다. AlwaysOn 기능을지원하지않는 SQL Server 버전을사용하는경우로그전달기능을옵션으로사용할수있습니다. AlwaysOn FCI(Failover Cluster Instance) AlwaysOn FCI 구성의경우단일 SQL Server 인스턴스가여러 WSFC(Windows Server Failover Cluster) 노드에걸쳐설치됩니다. WSFC 기능은인스턴스레벨에서고가용성을제공하고클러스터이름을통한액세스를제공합니다. 이모델에서는그림 1 에나와있는것처럼공유스토리지에 Active/Passive 솔루션을제공합니다. 그림 1. Microsoft SQL Server FCI AAG(AlwaysOn Availability Groups) AlwaysOn 가용성그룹은 SQL Server 버전에따라특정운영데이터베이스와해당보조데이터베이스 1개 ~8개로이루어진세트에대해페일오버환경을지원합니다. AlwaysOn 페일오버클러스터링과마찬가지로 AlwaysOn 가용성그룹을사용하려면 SQL Server 인스턴스를 WSFC 노드에구성해야하지만, 일부인스턴스는가용성복제본수준에서페일오버가구성된별도의컴퓨터로남겨져네트워크에제공되어야합니다. 스토리지요구사항에는공유되지않는디스크모델이사용됩니다. 가용성그룹에대한예는그림 2 의 구축전 그림을참조하십시오. 가용성모드 각가용성그룹에는해당 2 차복제본이트랜잭션로그를디스크에쓸때까지 ( 로그하드닝 ) 데이터베이스에서트랜잭션을커밋하기전에 1 차복제본이 대기해야할지여부를결정하는다음과같은가용성모드설정중하나가지정되어있습니다. 비동기식커밋모드 - 비동기식커밋복제본이로그를하드닝했음을확인하지않고 1 차복제본에서트랜잭션을커밋합니다. 비동기식커밋모드는보조데이터베이스가운영데이터베이스보다지연될수있도록하여트랜잭션지연시간을최소화하지만이로인해데이터손실이발생할수도있습니다. 동기식커밋모드 - 트랜잭션을커밋하기전에동기식커밋 2 차복제본이로그를하드닝했음을확인할때까지 1 차복제본이대기합니다. 동기식커밋모드는트랜잭션지연시간을늘리지만데이터손실방지기능을제공합니다. 즉, 보조데이터베이스가운영데이터베이스와동기화된상태에한해서는커밋된트랜잭션이완벽하게보호됩니다. 6
AlwaysOn 가용성그룹에대한자세한내용은 msdn.microsoft.com 을참조하십시오. Table 1 AlwaysOn FCI(Failover Cluster Instance) 와가용성그룹비교 기능 FCI 내노드 가용성그룹내복제본 WSFC 클러스터사용 Yes Yes 스토리지유형 공유됨 공유되지않음 스토리지의페일오버수행 Yes 아니요 보호수준 인스턴스 데이터베이스 노드 / 복제본수 Standard: 2 SQL Server 2012 5(1 차복제본포함 ) Enterprise 및 Datacenter: 16 SQL Server 2014 9(1 차복제본포함 ) 읽기가능 2 차복제본지원안함지원 해당하는페일오버정책설정 WSFC 쿼럼 가용성그룹설정 FCI 관련 WSFC 쿼럼 가용성그룹설정 페일오버되는리소스서버, 인스턴스및데이터베이스데이터베이스만 보호모델선택 AlwaysOn FCI 및가용성그룹중에서선택할때고려해야할가장중요한요소 ( 사용자고유의선호및기타요인이외 ) 는각모델에대한스토리지요구사항입니다. FCI 는공유스토리지모델을제공하지만 Active/Passive 노드가그대로유지되고패시브노드를통한데이터액세스는지원되지않습니다. 따라서패시브복제본을호스팅하는하드웨어가유휴상태가됩니다. 반면, AG 모델에서는 2차복제본을구성하여읽기전용워크로드, 2차복제본에서의백업등과같은작업을수행할수있습니다. 단, 비공유스토리지모델로인해논리적및물리적스토리지요구사항이모두증가합니다. 그림 2. Microsoft SQL Server AlwaysOn 가용성그룹 7
XtremIO 의비공유스토리지모델변경기능 XtremIO 에서 MS SQL Server 환경을호스팅하는것은상당히낮은지연시간으로대량트랜잭션중심의워크로드를호스팅하기위한확실한선택입니다. 하지만사용자는 XtremIO 스토리지시스템의고유한기능을알아야합니다. 동일한데이터베이스에대한여러복제본을압축하고중복복제할수있는 XtremIO 의기능을통해 AAG 의단점을해결하고가용성그룹에사용되는비공유모델의용량활용도가달라집니다. 그림 2 에서는 XtremIO 구축전및구축후상태를통해 XtremIO 에의해가용성그룹에대한스토리지설치공간이어떻게달라지는지보여줍니다. 과거에는동일한기반디스크구조에 Active/Passive 클러스터볼륨 ( 또는 AAG 의경우운영 / 보조 ) 을호스팅하는데대한우려가있었을수있지만 XDP(XtremIO Data Protection) 를통해이제는이러한선택에확신을가질수있습니다. XDP 는 RAID 알고리즘보다더낮은용량오버헤드, 탁월한데이터보호및더높은플래시내구성및성능을제공하는세계최초로개발된플래시고유의데이터보호체계입니다. 이는가용성그룹에포함된각 SQL Server 인스턴스에서자체의고유한스토리지볼륨세트가 NTFS 볼륨으로프로비저닝되어야하기때문입니다. 그림 3 에서는 XtremIO 가이러한볼륨을어떻게중복제거하고압축하여상당한공간절감효과를제공할수있는지에대한개념적인뷰를제공합니다. 그림 3. Windows NTFS 볼륨에 XtremIO 볼륨매핑 그림 3 에서는데이터베이스의 1차복제본 NTFS 볼륨에대한 2차복제본 NTFS 볼륨이어떻게효과적으로하나의볼륨으로병합되고이러한볼륨에대해생성된스냅샷이어떻게실제로추가비용없이인메모리 (in-memory) 메타데이터작업전용으로활용되는지를보여줍니다. 여러복제본사이에서차이가있는데이터만원래중복제거되고압축된데이터에대한추가공간사용량으로계산되며, 이경우에도고유한데이터는압축을통한공간절약의이점을얻을수있습니다. 예를들어, 1차복제본에대해스냅샷이생성되어쓰기가능 ( 재구축 ) 복제본으로프로비저닝된경우추가스토리지공간은변경되고조작된데이터의양에대해서스냅샷수명동안에만소비됩니다. 고려해야할또다른중요한요소는사용하는 SQL Server 버전에상관없이 XtremIO 가 MS SQL Server 에제공하는추가기능입니다. FCI(Failover Cluster Instance) 에서는운영데이터에대한웜스탠바이 (Warm Standby) 복제본을제공하는반면, 가용성그룹의보조데이터베이스복제본은읽기가능 2차복제본으로구성될수있습니다. 하지만많은상황에서읽기가능복제본이부적절한것으로입증될수있습니다. 따라서데이터에대한쓰기가능 ( 재구축 ) 복제본을생성할수있는기능이더유용한것으로입증되는경우가많습니다. 그림 2 의 구축후 부분에나와있는것처럼 XtremIO 에서는 SQL 환경에상당히향상된유연성을제공합니다. 추가비용없이즉각적인쓰기가가능한이러한무료스냅샷은스냅샷수명동안에만원래데이터에서변경된데이터를기록하는데한해스토리지를사용합니다. 이기능을통합한예는 9페이지의 AlwaysOn 아키텍처고려사항을참조하십시오. 8
AlwaysOn 아키텍처고려사항 이섹션에는 AlwaysOn 에사용할수있는더욱단순한구성옵션에대한자세한설명이나와있습니다. AlwaysOn FCI(Failover Cluster Instance) 와 XtremIO 쓰기가능스냅샷 Microsoft 의 AlwaysOn FCI(Failover Cluster Instance) 를사용하면여러웜스탠바이 (Warm Standby) 복제본을생성할수있습니다. 하지만패시브노드에저장된데이터에대한액세스는제한됩니다. 이시나리오에서 XtremIO 는쓰기가능스냅샷복제본에대한액세스를제공하여기능을상당히확장할수있습니다. 그림 4. AlwaysOn FCI(Failover Cluster Instance) 와 XtremIO 스냅샷 그림 4 에서는액티브데이터베이스볼륨에대한스냅샷복제본이어떻게스케줄에따라필요한횟수그리고빈도만큼재활용될수있는지를보여줍니다. 따라서페일오버클러스터는계속해서보호를제공할수있으며 XtremIO 스냅샷은독립적인데이터의복제본을필요할때재활용할수있도록 제공합니다. 9
AlwaysOn 양방향복제솔루션과 XtremIO 쓰기가능스냅샷 AlwaysOn 가용성그룹은 FCI 를통해더욱유연한환경을제공할수있습니다. 양방향복제솔루션구성을허용함으로써사용자는특정데이터센터내부나여러데이터센터간하드웨어사용량의균형을조정할수있습니다. SQL Server 2014의한도인최대 8개의 2차복제본 (SQL Server 2012의경우 4개 ) 을유지하는대신관리자는운영시스템의가용성을유지할전용하드웨어를지정하고스냅샷복제본을독립적인하드웨어로재활용하거나하드웨어의활용률이낮을수있는 2차복제본서버로프로비저닝할수있습니다. 그림 5 에는단일사이트에대한이러한구성의예가나와있습니다. 그림 5. XtremIO 및 AlwaysOn 가용성그룹 10
그림 6 에는멀티사이트에걸친구성의예가나와있습니다. 그림 6. XtremIO 및멀티사이트 AlwaysOn 가용성그룹 그림 6 에나와있는것처럼 XtremIO 를통한성능이점을활용하는동시에단거리간에동기식커밋복제를유지하는것도가능합니다. AlwaysOn 가용성그룹을활용하는대부분의멀티사이트복제솔루션은비동기식이고, 원격사이트간 REDO 프로세스를유지하는 MS SQL Server 자체기능을활용할가능성이큽니다. 이는제한요인으로작용합니다. 하지만 XtremIO 를사용하면지연시간, 비용및대역폭이낮은솔루션을구현할수있는가능성이상당히커집니다. 그림 7 에서는멀티사이트솔루션에서 2 개의 2 차복제본 ( 동기식커밋의한도 ) 에대해동기식커밋모드가유지되는더욱복잡한솔루션을보여줍니다. 두번째가용성그룹이로컬사이트 A 레벨에서동기식커밋모드로구성되어있으며, 사이트 A 및사이트 B 사이에서는비동기식커밋모드로구성되어 있습니다. 이솔루션에가능한복잡성은컴퓨터하드웨어가용성과이러한복잡한솔루션을호스팅하는 MS SQL Server 의기능에따라제한됩니다. 11
그림 7. XtremIO 및멀티사이트 AlwaysOn 가용성그룹 12
가용성그룹과결합된 AlwaysOn FCI(Failover Cluster Instance) 및 XtremIO 쓰기가능스냅샷 사용자는가용성그룹보다 AlwaysOn FCI 를선택하도록제한되지않습니다. 그림 8 에나와있는것처럼이둘의결합을선택할수있습니다. 이구성에대한유일한제한사항은 SQL Server FCI(Failover Cluster Instance) 에서가용성그룹에의한자동페일오버를지원하지않는다는점입니다. 따라서, FCI 에서호스팅되는가용성복제본은수동페일오버에대해서만구성될수있습니다. 그림 8. AlwaysOn FCI 및가용성그룹과 XtremIO 스냅샷 이러한예에서는 XtremIO 의스냅샷기능을사용하여쓰기가능복제본을제공하는경우가용성그룹내에서여러 2차읽기가능복제본을프로비저닝하거나 AlwaysOn FCI 구성내에액세스불가능한패시브복제본을유지하는경우보다어떻게더욱단순하고훨씬더실용적인솔루션이제공될수있는지를보여줍니다. 13
검증 검증시나리오 권장되는구축에대한동작및성능을진단하기위해일련의시나리오가완료되었습니다. AlwaysOn FCI(Failover Cluster Instance) 에서는공유 디스크모델을사용하므로검증테스트에서는 AlwaysOn 가용성그룹을집중적으로다뤘습니다. 테스트된시나리오는다음과같습니다. 운영및보조데이터베이스복제본에대한중복제거율 동기식커밋모드에서성능유지 쓰기가능스냅샷복제본을사용하는다중데이터베이스, 다중 AG 시나리오 성능메트릭모니터링 SQL Server 성능을모니터링할때는여러호스트레벨성능카운터를모니터링할수있습니다. 가장명확한모니터인 Avg. Disk/sec Read, Avg. Disk/Write는호스트레벨에서확인되는평균읽기 / 쓰기지연시간을제공합니다. 추가카운터로는 IOPS 에대한정보를제공하는 Transfers/sec 와 Transactions/sec, 즉 TPS 가있습니다. 또한, SSMS(SQL Server Management Studio) 에서는사용자가 AlwaysOn 가용성그룹을모니터링할수있는대시보드뷰도제공합니다. 그림 9 에나와있는것처럼 Estimated Recovery Time (seconds) 및 Redo Rate (KB/sec) 와같은추가카운터를이뷰에추가할수있습니다. 그림 9. AlwaysOn 가용성그룹복제본에대한 SSMS 대시보드뷰 AlwaysOn 가용성그룹을모니터링하는방법에대한자세한내용은 msdn.microsoft.com 을참조하십시오. 14
테스트데이터베이스 테스트데이터베이스에서는 90:10 비율의읽기 / 쓰기워크로드를실행하는시뮬레이션된 OLTP 유사워크로드가사용되었습니다. 이러한데이터베이스는 TPC(Transaction Processing Council) 에서규정한 TPC-E 표준을기준으로합니다. TPC-E 스키마는회사의고객계정과관련된트랜잭션을실행하는중앙데이터베이스를제공하는중개회사의 OLTP 워크로드를시뮬레이션합니다. TPC-E 의기반비즈니스모델은중개회사이지만, 데이터베이스스키마, 데이터채우기, 트랜잭션및구축규칙은최신 OLTP 시스템을광범위하게대표하도록설계되었습니다. 각각크기가 824GB 인 100,000 개의고유한사용자데이터베이스가사용되었습니다. Windows 에서이스키마를구축한결과는크기가 1.1TB 인 파일을포함하는데이터베이스와동일합니다. 이고유데이터에대한 XtremIO 의압축률 ( 이경우, 1.6:1 압축률 ) 은스토리지의물리적용량사용량약 544GB 에해당합니다 ( 그림 10 참조 ). 그림 10. 초기데이터베이스에대한스토리지속성 테스트환경 테스트는업계표준 Intel 서버 (10코어 Intel E5-2690 3.0GHz CPU 2개장착 ) 를사용하여수행되었습니다. 각서버에는 Brocade SAN 을통해단일 X-Brick 클러스터 ( 여기서클러스터는단일 XtremIO X-Brick 또는다중 X-Brick 구성을나타낼수있음 ) 에연결된단일이중포트 Emulex LPe 16002 HBA 가장착되어있습니다. SQL Server 구성 AlwaysOn 고가용성오퍼링은 Enterprise Edition 에서만사용할수있으므로이솔루션에서는 Microsoft SQL Server 2014 Enterprise Edition 이사용되었습니다. 다음구성옵션이설정되었습니다. Max. 및 Min. 메모리설정이 128GB 로구성되었습니다. Lock Pages in Memory 가설정되었습니다. 64KB 할당크기를사용하여 NTFS 볼륨이구성되었습니다. 테스트데이터베이스에대해 Indirect Checking 이 60s 로설정되었습니다. 15
스토리지설계 환경을구성하기위해스토리지가단일 X-Brick 클러스터에서프로비저닝되었습니다. Table 2 에는각각의데이터베이스에대해프로비저닝된스토리지구성이나와있습니다. 각호스트에프로비저닝된볼륨을그대로따라운영데이터베이스복제본및보조데이터베이스복제본의스토리지를제공합니다. 시스템데이터베이스및 TempDB 를호스팅하기위해볼륨이프로비저닝되었으며 1TB 크기의단일볼륨이시딩 (seeding) 저장소로구성되었습니다. Table 2 XtremIO 에서 Windows 호스트노드로스토리지프로비저닝 Xtremio 볼륨이름볼륨크기 (GB) 사용용량 (GB) 호스트 Windows 볼륨이름 SQL1_SystemDB 5 SQL Srv 1 SQL1_SystemDB SQL1_TempDB 256 SQL1_TempDB SQL1_DB1_Data_1 512 DB1_Data_1 SQL1_DB1_Data_2 512 DB1_Data_2 SQL1_DB1_Data_3 512 DB1_Data_3 SQL1_DB1_Data_4 512 DB1_Data_4 SQL1_DB1_Log 512 DB1_Log SQL_SystemDB 5 SQL Srv 2 SQL2_SystemDB SQL2_TempDB 256 SQL2_TempDB SQL2_DB1_Data_1 512 DB1_Data_1 SQL2_DB1_Data_2 512 DB1_Data_2 SQL2_DB1_Data_3 512 DB1_Data_3 SQL2_DB1_Data_4 512 DB1_Data_4 SQL2_DB1_Log 512 DB1_Log 각인스턴스에대해네개의 TempDB 데이터파일과하나의트랜잭션로그로구성된 TempDB 데이터베이스를호스팅하기위해단일볼륨이프로비저닝되었습니다. 워크로드에따라 TempDB 성능요구사항이달라지기는하지만이러한테스트에서이구성의성능은적절한수준이었습니다. 각각의후속데이터베이스는 2 차복제본에프로비저닝된스토리지가 1 차복제본의스토리지와일치하도록유사한방식으로구성되었습니다. 16
데이터베이스복제본시드 (Seed) 가용성그룹복제본을시드하는데사용할수있는여러옵션이있습니다. Full Join Skip initial data synchronization 그림 11 에는 Availability Group 생성마법사의일부로표시되는사용가능한옵션이나와있습니다. 가용성그룹을생성하는과정에서전체초기데이터동기화를수행하는경우사용자는 XtremIO 의성능을통해백업및복구프로세스의속도를향상시킬수있습니다. 가용성그룹생성프로세스의백업스크립팅섹션에서는압축을사용하는것이좋습니다. 그러면백업파일의크기가줄어들어시드 (seed) 및재시드 (reseed) 프로세스의기간을단축할수있습니다. 여러백업파일을사용하면액세스의병렬처리가늘어나서성능이더욱향상될수있습니다. Skip initial data synchronization 옵션을사용하면 SQL Server 기본백업 / 복구작업을통해프로비저닝하거나 XtremIO 의스냅샷기능을사용할수있습니다. 그림 11. 초기데이터베이스에대한스토리지속성 예상한대로, 백업 / 복구프로세스는대역폭이높은순차적인읽기 / 쓰기작업이므로, 가용성그룹에서처리하는모든데이터베이스를재시드할수있을정도의적절한공간을예약해야합니다. 백업파일을간단히삭제하여프로세스가완료된후불필요한스토리지공간이사용되지않고공간이재확보될수있도록합니다. 2 차복제본시드 (Seed) 에 XtremIO 스냅샷사용 XtremIO 에서는스냅샷을통해가용성그룹을시드할수있는기능을제공합니다. 스냅샷은효과적인무료데이터베이스복제본이며, 관리자가 XtremIO XMS 대시보드뷰에보고되는중복제거및압축이점을확인하지못하더라도재시드 (reseed) 프로세스에서속도가중요한경우유용한옵션입니다. 17
운영및보조데이터베이스복제본에대한중복제거율 가용성그룹에서운영및보조데이터베이스복제본에대한중복제거율을보여주기위해보조데이터베이스복제본이시드 (seed) 되었습니다. 결과적으로다음과같은데이터감소율이확인되었습니다. 데이터감소율 3.1:1 o 중복제거율 1.9:1 o 압축률 1.6:1 결과로확인된데이터감소율은그림 12 에표시되어있습니다. 그림 12. 단일데이터베이스 AG 에대한스토리지뷰속성 1.9:1 중복제거율은단일 XtremIO X-Brick 클러스터에서호스팅된 2개의 SQL Server 인스턴스에대한 TempDB 및 System 데이터베이스의결과입니다. 스토리지에서호스팅된 2개의데이터베이스복제본과관련한파일만사용하고다른모든파일은제거한상태로이테스트를다시수행한결과, 그림 13 에표시된것처럼중복제거율이 2.0:1로나타났습니다. 그림 13. 단일데이터베이스 AG 파일만호스팅하는 XtremIO 스토리지 18
또한, 스토리지에서 AG 생성프로세스를수행하는동안생성된압축된 SQL Server 백업파일을호스팅하는경우에도결과에영향을미칠수 있습니다 ( 그림 14 참조 ). 따라서더욱명확한결과를확인하려면프로세스가완료된후이러한파일을삭제하는것이좋습니다. 그림 14. 단일데이터베이스 AG 파일과백업파일을호스팅하는 XtremIO 스토리지 그림 15 에서는초기단일데이터베이스가용성그룹을생성한이후의 Physical Space Used 를보여줍니다. Physical Capacity 중 543.14GB 만 스토리지에서소비되었습니다. 이에비해 Volume Capacity 사용량은 1.599TB 로보고되었습니다. OS 레벨에서보면 Windows 에서는 SQL Server 인스턴스각각에 1.1TB 의데이터가있다고보고합니다. 그림 15. Physical Capacity Used 이러한결과는 XtremIO 가 AlwaysOn 가용성그룹에대한스토리지설치공간을상당히줄이고가용성그룹에서사용하는비공유스토리지모델을마스킹할수있다는점을보여줍니다. 19
가용성그룹모니터링 SSMS 에서가용성그룹은대시보드가표시되는인스턴스에따라 Primary 또는 Secondary 로표시됩니다. 그림 16 에표시된서버뷰에서가용성 그룹 AG1 은 OLTP_1 이라는데이터베이스를포함하고 Primary 로표시되어 1 차복제본서버에서표시되었음을나타냅니다. 그림 16. Server 뷰 가용성그룹이구성되고나면 SSMS 의대시보드뷰를통해모니터링할수있습니다. 대시보드뷰는각가용성그룹별로제공됩니다. 그림 17 에는단일데이터베이스를호스팅하는 AG1 에대한대시보드뷰가나와있습니다. PSQL1 은 1차복제본역할을유지하고, PSQL2 는 2차복제본역할을유지합니다. 데이터베이스는두 SQL Server 인스턴스모두에서 Synchronized 로표시되어이데이터베이스가동기식모드에서실행중임을나타냅니다. 그림 17. 단일데이터베이스 AG 에대한 SSMS 대시보드뷰 20
그림 18 에표시된것처럼보조가용성그룹 AG2 가구성되었습니다. PSQL2 는 Primary 역할을유지하고이서버의데이터베이스는 Synchronized 로표시되어있습니다. PSQL1 은 Secondary 및 Synchronizing 로표시되어있습니다. 이는가용성그룹이비동기식모드에서 구성되었음을나타냅니다. 그림 18. 단일데이터베이스 AG 에대한 SSMS 대시보드뷰 참고로페일오버모드는 AG1의경우 Automatic, AG2의경우 Manual 로, 동기식모드만 No Data Loss 인자동페일오버를지원함을보여줍니다. 동기식커밋모드에서성능유지 동기식커밋모드로구성된 AG1 의 1차복제본데이터베이스를대상으로테스트워크로드가실행되었습니다. Microsoft 에서설명한대로동기식커밋모드를사용하면로그가확정되었음을확인할때까지대기하므로지연시간이증가할수있습니다. SQL Server 가 XtremIO 스토리지에서호스팅되는경우낮은지연시간으로성능을제공하는 XtremIO 의뛰어난성능관련기능을통해이문제가해결됩니다. 그림 19 및그림 20 에나와있는것과같이 OLTP 유사워크로드를실행한경우스토리지지연시간이 1밀리초미만인스토리지에서 32,000 이상의 IOPS 가생성되었습니다. 그림 19. 동기식커밋모드에대한지연시간성능뷰 21
XtremIO 스토리지관리애플리케이션을통해사용자정의모니터는개별볼륨에대한지연시간을모니터링하여쓰기, 읽기및평균지연 시간 ( 마이크로초 (usec) 단위 ) 을확인할수있습니다 ( 그림 20 참조 ). 그림 20. XMS 대시보드 사용자정의모니터 볼륨지연시간 이결과는 XtremIO 스토리지가어떠한제한없이이러한워크로드를처리할수있음을보여줍니다. 로그쓰기지연시간에대한최대지연시간은 854(usec) 이며, 이러한지연시간은특히동기식복제시나리오에서중요합니다. 트랜잭션로그성능은 SQL Server 워크로드에대한병목현상으로작용하는경우가많습니다. 하지만, XtremIO 의성능관련기능이이러한문제를해결합니다. 워크로드는쉽게더욱강하게푸시될수있지만 10,000~15,000 IOPS 가일반적으로최대 SQL Server 데이터베이스에대한최대 IOPS 수치로고려됩니다. 이경우, 데이터베이스는 1밀리초임계값미만으로지연시간을유지하는동시에약 27,000 IOPS 를처리합니다. 그림 21 에는두개의 SQL Server 인스턴스간워크로드에대한분석이나와있습니다. 1차복제본은 26,806 IOPS 를처리하는반면, 2차복제본은 5,800 IOPS 를처리합니다. 2차복제본의워크로드는주로 REDO 프로세스에서생성되는쓰기입출력으로구성됩니다. 2차복제본이단순하게 OLTP_1 데이터베이스의 1차복제본과동기화된상태를유지하지만각 SQL Server 인스턴스의 TempDB 내에일부작업이있으므로 1차복제본및 2차복제본의 TPS(Transactions/sec) 에는상당한차이가있습니다. 그림 21. 1 차복제본과 2 차복제본사이의 IOPS 및 TPS 22
AG1 의 SSMS 대시보드 ( 그림 22 참조 ) 에는 Estimated Recovery Time 이 1 초이고 no Data Loss 이며 Healthy 및 synchronized 로 표시된가용성그룹 AG1 이나와있습니다. Redo rate 는 6,023KB/Sec 로표시되어있습니다. 그림 22. AG1 에대한 SSMS 대시보드뷰 표시된성능이 1차복제본과함께 2차복제본을동기화된상태로유지하는고가용성솔루션을실행하는동안달성된성능이라는점을감안하면매우뛰어난수준입니다. Redo 프로세스가 1차복제본과 2차복제본사이에서수행되므로데이터감소율도고려해야합니다. XMS 대시보드뷰 ( 그림 23) 를보면확장된워크로드가실행되는경우에도보고되는수치에변화가없다는것을알수있습니다. 그림 23. 일관되게유지되는데이터감소율 쓰기가능스냅샷복제본을사용하는다중데이터베이스, 다중 AG 시나리오 약간더복잡한시나리오를보여주기위해양방향복제솔루션이구성되었습니다. 이솔루션은 3개의데이터베이스를보호하는 2개의가용성그룹으로구성되었습니다. OLTP_1 에대한데이터베이스복제본의 1차복제본에대한스냅샷이생성되어추가 SQL Server 인스턴스에프로비저닝되었으며, 다른모든운영데이터베이스에대해워크로드가처리되는것과마찬가지로이 XtremIO 쓰기가능스냅샷에대해전체워크로드가처리되었습니다. 시나리오의세부정보는다음과같습니다. 가용성그룹 'AG1' o o PSQL1 - Primary 역할호스팅, PSQL2 - Secondary 역할호스팅 동기식커밋모드에서단일 DB OLTP_1 보호 가용성그룹 'AG2' o o PSQL2 - Primary 역할호스팅, PSQL1 - Secondary 역할호스팅 비동기식커밋모드에서 2 개의 DB OLTP_2 및 OLTP_3 보호 PSQL_3 에서호스팅하는 1 차복제본 OLTP_1 에대한쓰기가능스냅샷 23
그림 24. 스토리지속성창 효율성 그림 24 에표시된것처럼 3개의데이터베이스 OLTP_1, OLTP_2 및 OLTP_3 에대해 2개의복제본을생성한경우 2.0:1의중복제거율, 1.6:1의압축율, 3.1:1의전체데이터감소율이실현되었습니다. 용량수치 ( 그림 25 참조 ) 를살펴보면 1.542TB 의 Physical Space 가사용된반면, Volume Capacity 는 4.799TB 가사용되었으며스토리지에서프로비저닝된볼륨용량은 16.51TB 입니다. 이러한상태는 70% 의 Thin Provisioning Saving 을제공합니다. 그림 25. 스토리지속성창 용량 24
1 차복제본데이터베이스 OLTP_1 의스냅샷볼륨을호스팅하는세번째서버에매핑하는경우의영향은그림 26 에나와있습니다. 그림 26. 스토리지속성창 추가비용이없는스냅샷사용 Storage 창에서는스냅샷을생성하고볼륨을매핑해도 Physical Capacity Used 값이변경되지않음을보여줍니다. 프로비저닝된 Volume Capacity 가 19.01TB 로바뀌고 Thin Provisioning Saving 이 74% 로늘어난점만유일하게변경된사항입니다. 다음단계에서는개별워크로드가모든데이터베이스에대해여러시간동안실행되었습니다. 그림 27. Performance 창 그림 27 에서는 XtremIO 대시보드에보고된성능을보여줍니다. 여기서는 4개의데이터베이스에걸쳐결합된워크로드에대해 122,497 IOPS 가보고되었습니다. 25
그림 28. 대시보드에서보고된평균총읽기 / 쓰기 IOPS 읽기 / 쓰기 IOPS 에대한특정시점분석 ( 그림 28) 에는읽기가 104,881이며쓰기가 15,882로나와있습니다. 이시점에서스토리지전체에걸친평균지연시간은그림 29 에표시된것처럼 899마이크로초 (usec) 입니다. 그림 29. 대시보드에서보고된쓰기, 읽기및평균지연시간 검증요약 검증테스트의결과에따라 XtremIO 가지연시간에민감한 MS SQL Server 환경을호스팅하는데사용할수있는탁월한플랫폼임이확인되었습니다. 복잡한구성에서여러워크로드를처리하는동시에 120,000 이상의 IOPS 를처리하는동기식및비동기식이혼합된양방향복제솔루션을유지하는 XtremIO 스토리지시스템의기능은가히놀랍습니다. 이러한결론은결과에동기식커밋 ( 특히평균지연시간이 899(usec) 임 ) 으로구성된 AlwaysOn 가용성그룹에서보호되는데이터베이스의스냅샷에대해전체워크로드를처리한다는점이포함되었다는사실을감안하여추가로검증되었습니다. 26
결론 이백서에서는기본 SQL Server AlwaysOn 오퍼링으로보호되는 SQL Server 환경을호스팅하는 EMC XtremIO 스토리지시스템의기능을집중적으로설명합니다. 동기식모드와비동기식모드모두에서 AlwaysOn FCI(Failover Cluster Instance) 와 AlwaysOn 가용성그룹기능을사용하여가능한구성에대해설명했으며, 이모두를구성하는방법에대해서도설명했습니다. 또한, 이문서에서는재구축분석워크로드또는테스트워크로드를위해운영데이터베이스에대한즉각적인제로복제쓰기가능스냅샷을생성하는 기능을제공하여읽기전용 2 차복제본에대한한계를극복할수있는 XtremIO 의스냅샷기능에대해서도설명했습니다. 결과 SQL Server AlwaysOn FCI(Failover Cluster Instance) 및가용성그룹기술은사용편의성, 모니터링및성능측면에서기존기본 SQL Server 보호오퍼링에비해기본 SQL Server 보호수준을크게향상시킵니다. XtremIO 의보조데이터베이스복제본에대한중복제거기능은해당압축기능과함께 AlwayOn 가용성그룹구축에필요한용량을상당히절감시켜줍니다. XtremIO 스냅샷을활용함으로써읽기전용 2 차복제본의한계를극복하고, 운영데이터베이스가동기식복제를통해보호되는경우에도이러한데이터베이스의쓰기가능스냅샷복제본을생성할수있습니다. Enterprise 라이센스를선택하지않아도 XtremIO 스냅샷을통해 SQL Server 의기능을확장할수있습니다. 27
참고자료 자세한내용은 XtremIO 웹사이트를참조하십시오. EMC 설명서 아래문서는 korea.emc.com 또는 EMC 온라인지원웹사이트에서제공됩니다. 로그인자격증명에따라온라인지원에대한액세스가제한될 수있습니다. 문서액세스권한이없는경우 EMC 담당자에게문의하시기바랍니다. 백서 자세한내용은아래에나와있는백서를참조하십시오. EMC XtremIO 스토리지소개 XtremIO 스냅샷소개 제품설명서 자세한내용은다음제품설명서를참조하십시오. EMC XtremIO 시스템사양 EMC XtremIO Storage Array User Guide Introduction to the EMC XtremIO Storage Array( 버전 3.0) Microsoft 설명서 Microsoft 에서특별히제공하는추가정보는 Microsoft.com 의 MSDN 및 TechNet 사이트에나와있는최신설명서를확인하거나다음문서를참조하십시오. Pre-Configuration Database Optimizations SQL Server Best Practices MSDN: AlwaysOn Availability Groups (SQL Server) 28