[Dongclee의 2012년 4월 첫 번째 포스팅] Windows Server 8 Series 7 : 새로운 File Server 클러스터 그룹 -> Scale-Out File Server 는 무엇일까요?

이동철입니다. 4월인데도 아직 바람이 차갑습니다. 지난 번에 Hyper-V 8에 관한 폭풍 포스팅 후에, 다시 Window Server 8에 대한 신규 기능을 소개하고자 합니다.  오늘 소개할 신규 기능은 “Scale-Out File Server” 역할입니다.

Windows Server 8 Failover Clustering의 “역할(前, Service 또는 Application)” 에 “File Server” 라는 역할이 있습니다. 즉, 이전 Failover Clustering에서 제공하는 파일 서버의 공유에 대한 high availability를 제공하는 역할이 바로 “File Server” 입니다. “File Server” 역할을 구성할 수 있는 볼륨은 일반적인 공유 저장소였습니다. 그런데, 이러한 “File Server” 역할을 구성할 수 있는 볼륨을 CSV(Cluster Shared Volume) 으로 확장한 것이 바로 “Scale-Out File Server” 역할입니다. 즉, “Scale-Out File Server” 역할의 공유 폴더에 위치하는 데이터는 이제 Failover Clustering에 참여하는 노드들 모두 동시에 접근 가능합니다.  이러한 “Scale-Out File Server” 역할의 공유 폴더을 활용할 수 있는 서버 어플리케이션으로는 현재 Hyper-V 와 SQL 2012 및 2008 입니다. 즉, 이제 Hyper-V의 VM에 관련된 데이터 파일(ex, *.vhd 또는 *.vhdx) 을 “Scale-Out File Server” 역할의 공유 폴더에 위치시킴으로써, 좀 더 안정적인 high availability를 구현할 수 있습니다. 즉, “Scale-Out File Server” 역할의 공유 폴더를 소유하고 있는 노드 A에서 장애가 난다면, 다른 노드 B가 바로 take-over 함으로써, VM 사용자들은 실제 장애 여부를 거의 느낄 수 없습니다. 과거와 같이 CSV가 아닌 일반 볼륨에 파일 공유을 생성한다면, VM 사용자는 노드 A의 장애를 직접적으로 경험함으로써, 실제 VM 사용에 어려움을 겪습니다.

아래는 Scale-Out 파일 서버의 장점입니다.

  • Scale capacity dynamically : Scale-Out File Server는 2노드를 지원하고, 최대 4노드까지 지원합니다. 또한, 파일 서버에 연결된 “서버 어플리케이션”에 전혀 영향을 주지 않고, 노드 추가 삭제가 가능합니다.
  • Increased bandwidth : 모든 클러스터 노드는 scale-out 파일 공유를 위한 SMB 클라이언트 요청을 허용하고 serve할 수 있습니다. 결론적으로, scale-out 파일 공유는 높은 사용율을 기대할 수 있습니다. 추가적으로, SMB 클라이언트 용량은 backend 스토리지 시스템 성능이 아니라 클러스터 노드의 성능에 좌우됩니다.
  • Transparent failover and node fault tolerance : 비즈니스 중요 서버 어플리케이션는 중단없는 스토리지 이용이 가능해야 합니다. “SMB 2.2 서버 클러스터 및 클라이언트”는 대체 클러스터 노드들로 transparent failover 를 지원합니다.
  • Load Balancing : Scale-Out 파일 공유는 클러스터 노드 사이에서 load가 분산됩니다.

아래 그림은 아래 첨부 문서의 데모 환경입니다.

데모 환경에서 확인할 수 있듯이, NODE01 및 NODE02의 Failover Clustering에서 “Scale-Out File Server” 역할을 구성했습니다. 특이한 점은 “Scale-Out File Server” 역할을 구성시 필요한 공유 폴더의 위치가 바로 CSV 에 존재한다는 것입니다.

“Scale-Out File Server” 역할을 구성한 후, Hyper-V VM 및 SQL 2012의 데이터베이스 파일을“Scale-Out File Server” 역할의 공유 폴더에 위치시키고, 테스트를 진행해 보았습니다.

Step3 에서 Hyper-V VM 데이터를 “Scale-Out File Server” 역할의 공유 폴더에 위치시킨 후, 테스트를 진행했습니다. 물론, 제가 구성한 환경은 Hyper-V의 가상 환경이기 때문에, Hyper-V VM을 구성하는 작업만 테스트를 진행했습니다. 아래 그림이 Hyper-V VM의 구성 예입니다.

Step4 에서 SQL 2012 데이터베이스 파일을 “Scale-Out File Server” 역할의 공유 폴더에 위치시킨 후, 테스트를 진행했습니다. 제가 실제 테스트를 수행해 본 결과, NODE01 및 NODE02 가 모두 데이터베이스 트랜잭션을 동시에 처리하는 것 같지는 않습니다. 다만, NODE01이 장애가 발생하더라도, 트랜잭션이 끊기지 않고, 바로 NODE02를 통해 데이터베이스 파일에 접근할 수 있음을 확인했습니다. 즉, Load Balancing 기능에 대해서는 아직도 약간 실체가 불분명한 것 같습니다.

아래 그림은 참고로, Windows Server 8 Failover Clustering의 “File Server” 역할 구성 시에, “Scale-Out File Server” 구현을 위한 옵션을 보여 줍니다.

Windows Server 8 Failover Clustering의 “Scale-Out File Server” 역할을 한 마디로 요약하면, SMB 프로토콜에 대한 continuous available 을 구현한 것으로 말씀드릴 수 있습니다. 이제 SMB 프로토콜에 대한 continuous available를 구현하고, SMB에 대한 속도 향상은 SMB 2.2를 사용함으로써, 값비싼 SAN 및 iSCSI기술이 아니더라도 Hyper-V VM 및 SQL 2012의 데이터에 대한 continuous available을 구현할 수 있습니다.

다음 포스팅까지 여러분들 모두 건강하세요 

Windows 8 Deploy Scale-Out File Server.pdf