Technical posts/MS-SQL

SQL Server AlwaysOn_3.AlwaysOn 테스트 하기

ODB 2014. 9. 21. 22:07

1.active-directory 서버 구성

2. 장애 조치(Failover) 클러스터 관리자 설치

3.SQL Server 설치하기

4.AlwaysOn 설정하기


5.AlwaysOn 테스트 하기


마지막 테스트만 남았다 ㅜ.ㅜ


4장에서 insert를 해보았고 insert 불가한것을 확인했다

읽기 전용이기 때문에 insert는 되지 않고 select만 가능하다


자! 작업표시줄이 우측에 있는 화면이 1번 노드 좌측에 있으면 2번 노드 이다

1번에서 insert를 하고 select를 해봤다

역시 잘 보인다


클러스터 상태를 보기 위해

alwayson_SQL 항목의 가용성 그룹을 우클릭하고 대시보드 표시(B)를 눌러준다


대시보드가 잘 보이고 있고

NODE1이 주 서버

NODE2가 보조 서버


...


그럼 failover를 통해 NODE2를 주 서버로 NODE1을 보조서버로 만들어 보자


...


alwayson_SQL 우클릭 > 장애 조치(failover(F))...


다음(N)


NODE2가 선택된다

다음(N)


'연결되지 않음'이 보이는데 우측에 '연결...' 을 눌러준다


 SQL계정 혹은 OS계정인증을 통해 로그인을 진행한다


다음으로 연결됨을 확인하고

다음(N)


마침(F)


다음(N)


모두 성공


이 화면은 좌측에 작업표시줄이 있는 2번노드의 화면이다

대시보드를 다시보면 

NODE2가 주 서버

NODE1이 보조 서버

가 되어있다


리스너를 추가해보자!

읭? 리스너? 오라클이 떠오르게 하는 이 반가운 용어는???

MSCS할때 설정한 cluster IP는 클러스터 서비스를 관리하기 위함이고

SQL 서비스를 위한 아이피가 아니니 추가로 리스너를 할당해주는 것이다


네트워크 모드를 고정IP로 하고 원하는 아이피를 입력 하고

확인 또 확인


리스너 생성된것을 확인하고

장애 조치(Failover) 클러스터 관리자를 보면

역할에 alwayson이 등록되어있고


추가한 Listener의 IP가 그 역할의 리소스로 등록되어있다

굿


역할명에서 우클릭 > 이동 > 노드 선택(S)


NODE1을 선택하고 확인

하면 클러스터 관리자에서 failover를 수행한다


SQL server로 돌아오면 NODE1로 정상적으로 돌아와 있다


정리를 하면 


Failover는 

서버쪽 클러스터관리자에서도 가능하고

SQL Server 가용성 그룹에서도 가능하다


아이피를 넘기는 작업이 OS level이다보니 MSCS를 이용하여 IP를 넘기는 작업을 해주고

SQL server에서는 기존미러링에 사용하던 목격자를 없애고 장애 판단을 하는 역할을 MSCS의 클러스터링으로 대체한것이 아닌가 생각된다. 물론 목격자는 express 버전으로도 구성할수 있으나 express가 무료버전 이라 도입비용이 없다고 해도 관리포인트가 늘어나기 때문에 부담으로 느껴졌었던것이 사실이다. 하지만 alwayson이 단점을 보완한 만큼 지금은 충분히 매력적이다. 더불어 RAC같은 완전한 active-active 구성을 할수 없는 MS-SQL으로써는 별도의 스토리지 없이 MSCS구성을 할수있고 비교적 쉽게 구축이 가능하기 때문에 DR구성이나 부하분산 목적이라면 상당히 매리트가 있는 구성이 아닌가 생각한다

192.168.79.181, 192.168.79.182 일때 리스너가 192.168.79.183 이라고 한다면

181,182에서 조회업무를 하고 183에서는 DML작업을 하여 부하분산이 되므로 good


현실적으로 봤을때 alwayson은 enterprise 부터 지원이 되고 enterprise는 비싸서 보통은 standard를 사용하기 때문에 해당 기능은 좋지만 라이센스 비용으로 인해 진입 장벽이 높은것을 제외하고는 훌륭하다고 생각한다


windows server 2012 enterprise 버전이 없어 지면서

windows server 2012 standard가 failover clustering 을 구성할수 있게 되면서

sql server 2012 standard라면 MSCS를 이용 failover cluster로 구성하고 (공유 스토리지 필요)

sql server 2012 enterprise라면 alwayson을 이용하는것이 좋을거라 생각된다


win server 2012 std + sql server 2012 std + storage = MSCS

win server 2012 std + sql server 2012 ent + storage = AlwaysOn, MSCS

win server 2012 std + sql server 2012 ent = AlwaysOn




























"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."