Windows Server 2012 Hyper-V, 고가용성 기술의 향상, 그 세번째 이야기, 동적 쿼럼(Dynamic Quorum)

Windows Server 2012 Hyper-V, 고가용성 기술의 향상, 그 세번째 이야기, 동적 쿼럼(Dynamic Quorum)

  • Comments 4
  • Likes

Windows Server 2012의 고가용성 기술, 특히 Hyper-V에 연관된 기술들을 살펴보는 세번째 시간입니다.

첫번째 시간에는 전체적인 개요와 Live Migration의 개선 사항을 살펴보았고, 두번째 시간에는 SMB(파일 공유) 3.0을 통한 Hyper-V 고가용성을 살펴보았습니다. 오늘은 Hyper-V에 국한된 이야기는 아니지만, 고가용성을 위해 개선된 중요한 사항인 쿼럼에 대한 부분을 살펴보고자 합니다.

image

클러스터를 구축할 때, 쿼럼이라고 하는 조금 생소한 단어가 등장합니다. 영어 사전을 참고해보면, 정족수라는 뜻을 가진 단어입니다. 클러스터는 다수의 노드가 묶여, 하나 이상의 일(역할이라고 하죠)을 하게 되는데, 여러 노드가 묶여 있다보니, 일관된 정보를 가지고 움직이는 것이 무엇보다 중요합니다. 2대의 노드로 클러스터가 만들어져 있을 때, 하나의 노드에 문제가 생겨, 다운이 발생하면 남은 노드가 일을 하게 되죠. 그런데 그 노드가 가진 정보가 전체 클러스터의 일관된 정보라는 보장이 필요합니다. 이럴 경우, 쿼럼에 대한 고민이 필요합니다.

Windows Server 2008이 출시되기 전엔, 클러스터를 만들기 위해, 공유 디스크에 저장된 쿼럼 정보가 필요하였습니다. 쉽게 생각해보죠.

image

4대의 노드가 있을 경우, 전체 정보가 일관적이려면, 반이상의 노드가 정상적으로 운영되고, 동일한 정보를 가져야 합니다. 이 반이상의 의미를 가진 것이 바로 과반수라는 의미의 Majority입니다. 노드 4대가 투표(Vote)를 해서 과반수.. 이경우 3이죠? 3이상이 정보를 가지고 있는 경우엔 클러스터가 정상이라고 보는 것입니다. 만약 2대가 다운타임이 발생하면, 전체 클러스터도 다운이 되게 됩니다. 노드에만 종속되어져 있던 쿼럼에 대한 정보가 Windows Server 2008 출시시점에 개선되었습니다.

image

바로 공유 디스크에 쿼럼 정보를 배치하여, 해당 디스크도 투표에 참여할 수 있게 한 것이죠. 4대의 노드 + 1개의 디스크(정확하게는 Witness, 감시자)가 투표에 참여하게 되면, 2대의 노드만 살아 있어도, 전체 클러스터는 정상적인 서비스를 할 수 있게 됩니다. Windows Server 2008의 또하나의 획기적인 개선이, 첫번째 스크린샷입니다. Windows Server 2003 R2까지만 하더라도, 클러스터 운영 도중, 쿼럼 동작 정보를 바꾸는 것은 쉽지 않았습니다만, Windows Server 2008 시점부턴, 노드 숫자에 따라서, 클러스터 마법사가 가장 최적의 쿼럼을 추천해주고, 쉽게 마우스 클릭 몇번만으로 바꿀 수 있게 해주었죠.

클라우드 서비스 관점에서 중요한 팩트중에 하나가 Always Up/Always On입니다. 최악의 경우라도 가장 중요한 것은 바로 서비스의 정상 동작 여부입니다. 앞서 언급한 쿼럼의 동작 상태에 의거하면, 최소 과반수의 노드 + 디스크가 되어야 전체 클러스터가 동작하는 형태가 되고, 과반수 미만이 되게 되면, 클러스터는 자동으로 더 이상 서비스를 할 수 없는 다운 타임으로 진입하게 됩니다. 어떠한 경우라도.. 설령 이 경우가 클러스터 전체의 정보 일관성에 나쁜 영향을 주더라도, 운영이 지속되어야 하는 것이 더 중요하다면, 앞선 클러스터의 전체 노드 숫자의 과반수 이상 동작 구조는 개선이 필요합니다.

이래서 등장한 Windows Server 2012 쿼럼의 또하나 선택이 바로 동적 쿼럼(Dynamic Quorum)입니다.

image

동적 쿼럼을 선택하면, 전체의 과반수라는 계산 공식이 이렇게 변경됩니다. 현재 동작중인 노드의 과반수로 바뀐다는 것이죠. 5개의 노드로 구성되어져 있는 경우, 3개의 노드가 다운되면, 전체 클러스터는 다운이었지만, 동적 쿼럼을 구성하게 되면, 3개가 다운되어도, 살아있는 노드가 2개.. 그 2개의 노드중 과반수만 살아있으면 동작한다는 것입니다. 이렇게 되면, 노드가 1개만 살아있는 경우라도 서비스는 하드웨어 용량만 허락한다면 지속될 수 있을 것입니다. 아주 작은 옵션이지만, 서비스를 중요시 여겨야 할 경우는 매우 중요합니다. Smile

해당 옵션은 손쉽게 장애 조치 클러스터내 관리 도구의 쿼럼 관리 구성에서 설정할 수 있습니다.

Windows Server 2012는 에디션에 관계없이 클러스터 기술을 지원합니다. 그리고 최대 지원 노드 숫자도 기존보다 4배가 증가하여 최대 64개의 노드를 하나의 클러스터 셋트로 묶을 수 있습니다. 최대 4천개의 가상 머신을 해당 클러스터에서 서비스할 수 있고요.

다음 시간엔 Hyper-V 복제(Replica)에 대해서 살펴보겠습니다.

Comments
  • "Windows Server 2012는 에디션에 관계없이 클러스터 기술을 지원합니다." 라는 부분에서 질문이 있습니다.

    과거 전통적으로 Enterprise edition이상에서만 지원하던 Failover Cluster를 Windows Server 2012에서는

    edtion과는 상관없이 전부 지원한다는 의미인지요?

    (물론 edition에 따라 확장성이나 node 숫자에는 차이점이 있으리라 생각됩니다...^^)

  • 최재훈님 // 안녕하세요~ :)

    Windows Server 2012의 라이선스 체계가 바뀌어서, 이제 Standard와 Datacenter만 출시될 예정이며, 기술상 차이는 이제 더이상 존재하지 않습니다. (다시 말해, 두 에디션의 기술적인 차이나 제한은 없다는 것입니다.) 고로 이제 Standard에서도 클러스터링을 지원합니다.

    www.microsoft.com/.../2012-editions.aspx 에 잘 정리되어져 있습니다. :)

  • 좋은 정보 정말 감사드리며 특히 첨부하여 주신 링크의 자료는 정말 꼭 필요한 부분이었습니다.

    앞으로 기술적인 검토 및 제안을 할 때 (특히 여러개의 VM을 구축해야 하는 경우) Datacenter Edition을

    SMB에도 제안할 수 있는 단계에 다다른 것 같아 정말 좋은 것 같습니다~ :)

    (vSphere 5.0의 경우 상당히 난해한 상황이 도래되어 오도가도 못하는 상황이었습니다)

  • 안녕하십니까^^

    IT 초년생으로써  블로그에서 정말 많은 지식 얻어가고 있습니다^^

    다른게 아니라 동적 쿼럼 부분에서 논리적으로 어떻게 동작을 하는지 이해를 못하겠습니다.ㅠ

    혹, 설명이 된 자료가 있으신가요?ㅠ

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment