독까의 이야기

저번에는 MS-SQL 2012 Ent 이상의 버전에서 사용 가능한 AlwaysOn 기능을 통한 장애 조치를 테스트 했는데, 이번에는 그냥 클러스터링 기능을 이용한 장애 조치를 진행하려고 한다. 


# AD 가 구축되어 있음이 전제

DB1 : 211.115.90.52

DB2 : 211.115.90.53

Storage : 211.115.90.54

저장소 클러스터 IP : 211.115.90.55

DB 클러스터 IP : 211.115.90.56


# 1 

Storage 서버의 디스크 공간을 iSCSI 로 만들어서 클러스터링 저장 공간으로 사용하고자 한다. D 와 E 파티션을 iSCSI 로 사용한다. 


우선 Storage 서버에 접속하여 역할을 추가 한다. 


파일 및 저장소 서비스 - 파일 및 iSCSI 서비스 - iSCSI 대상 서버 체크 및 설치 진행



설치 완료가 되었으면, 서버 관리자를 열어서 파일 및 저장소 서비스를 선택한다.



iSCSI 항목으로 이동 후에, 새 가상 디스크 마법사를 선택한다. 



D 파티션을 선택 후 진행한다. 



가상 디스크 이름은 본인이 아무거나 쓰면 된다. 나는 CLUSTER_DISK 라고 했다. 



크기는 Full 로 사용할 거니깐 전체 공간 할당했다. 



다음에서는 새 iSCSI 대상을 선택 후 진행한다. 나같은 경우는 이전에 테스트했던 내역들이 남아서 저렇게 보이는 것 뿐이다. 



대상 이름이야뭐 중요하지 않으니깐 암거나 쓴다. 나는 DB-CLUSTER 로 했다. 



다음에는 가상 디스크에 액세스할 서버들을 추가해야 한다. 추가를 눌러서 DB1 과 DB2 를 넣는다.



다음은 그냥 Default 로 쭉쭉 간다. 



가상 디스크 생성 및 대상 서버를 확인 할 수 있다. 




E 파티션도 동일하게 iSCSI 디스크로 만들어준다. 





# 2

DB1 DB2 에서 가상 디스크에 연결되도록 설정을 한다. 

관리도구 확장해서 iSCSI 초기자 선택 후 아래처럼 진행한다. 



디스크 관리에서 가상 디스크 영역 추가 확인 할 수 있다. 



디스크를 활성화 해서 H 드라이브로 만든다. 




# 3

신규 클러스터를 새로 만든다. 


클러스터에 포함 될 서버들을 추가해야 하는데, 전 게시물에 동일한 내용이 있으니깐 스킵한다. 


클러스터 이름은 DB-CLUSTER 로 했다. 



DB1의 내 컴퓨터 및 디스크 관리 활성화하면 아래와 같이 확인 된다. 





DB2의 디스크 관리에서는 아래와 같이 확인 된다. 




# 4

SQL Server 장애 조치 클러스터를 새로 설치한다. 



SQL 기본 설치 하듯이 쭉쭉 진행하면 된다. 


인스턴스 구성시 기존에 사용하던게 있으니깐 새로 정해서 진행한다. 




DB 데이타 저장 영역은 클러스터링 된 G 파티션으로 설정하고 설치 진행하면 된다. (캡쳐를 안뜨고 진행해서 이미지는 없다.) 


정상적으로 SQLCLUSTER  설치가 완료 되었다. 









DB2 에서는 클러스터에 노드 추가로 진행한다. 


기본적으로 DB1에서 설정 된 값을 가져오기 때문에 특별히 할 건 없다. 계정의 패스워드 정도 입력하면 된다. 



설치가 완료되면 설정 완료를 위해서 재시작을 하라고 한다. 서버 리부팅 한 번 해주자. 



DB2 에서는 SQLCLUSTER 서비스 실행이 되지 않는다. DB1이 현재 구동 중이기 때문으로 추정 된다. 장애 조치시에 자동 시작이 되는건가 싶다. 


그런데, DB2 의 SSMS 실행 후, SQLCLUSTER 접속시 정상으로 진입 된다. 



DB 클러스터 IP 인 211.115.90.56 으로 접속이 되기 때문인것 같다. DB 1의 SQL 구성 관리자를 봐야겠다.




port 52255 로 DB 클러스터 구성 된게 확인 된다. 


이제 DB1 서버를 강제 종료하여, DB2 로 역할이 변경 되는지 확인해 본다. 






DB2 의 SQL 실행 및 DB 클러스터 IP 할당이 확인 되었다. 


DB1 서버 전원 ON 하면 어떻게 되는지 확인해 봤는데, 아무일도 일어나지 않는다. 역할 변경은 수동으로 해줘야 하는 것 같다. 


역할 변경 전에, DB2 의 SQLCLUSTER 에서 임시 DB 및 테이블을 생성해본다. 




이제 DB2 서버를 종료하고, DB1 에서 상태를 확인한다. 




DB2 에서 DB1 으로 다시 역할이 변경 되었다. 생성한 DB 및 테이블도 확인되었다. 


DB 클러스터링 테스트는 이상으로 종료한다.