Condividi tramite


Windows Server 2012 Hyper-V, 고가용성 기술의 향상, 그 네번째 이야기, Hyper-V 복제(Replica)

image

Windows Server 2012, 그리고 Hyper-V에 향상된 고가용성 이야기, 네번째 시간입니다. 첫번째 시간에는 고가용성 기술에 대한 개요, 실시간 마이그레이션에 대한 향상점을 살펴보았고, 두번째 시간에는 파일 공유를 통한 Hyper-V의 기술, 세번째 시간에는 클러스터의 기반이 되는 쿼럼에 대한 향상점을 살펴보았습니다.

동일본 대지진 이후, 많은 기업 혹은 호스팅 업계에서는 지역간에 추가적인 고가용성 기술을 많이 검토하고 있습니다. 특정 지역이 천재지변, 또는 화재 등의 이유로 아예 접근, 서비스가 불가능할 때에도 중단없이 지속적으로 서비스를 할 수 있는 방안이 무엇이 있을까에 대한 고민이죠. 이뿐만 아니라, 특정 지역이 네트워크 공격등을 받을 경우, 다른 IP 대역으로 시스템을 일시적으로 이동할 때, 동일한 시스템을 만들기 위해서, 여러 솔루션, 나아가 인적 자원을 이용하는 경우도 많습니다.

위의 그림은 클러스터와 오늘 소개해드릴 복제에 대한 부분을 그린 그림입니다. 고가용성을 위해서 클러스터를 구축해놓고, 운영하다, 특정 노드에서 문제가 발생했을 경우, 다른 노드로 서비스가 장애 조치(Failover)되어, 서비스를 지속하게 됩니다. 해당 서비스들이 부하가 많은 경우, 결국 클러스터가 해당 부하를 견디지 못하고, 전부 내려앉는 경우도 발생할 수 있습니다. (물론 이렇게 만들어진 아키텍쳐는 올바르다고 볼 수 없겠죠.) 또는 앞서 언급드린 데로, 클러스터가 위치한 지역에 문제가 발생했을 경우엔, 아무리 높은 고가용성이라도 견딜 수 없습니다.

이를 위해 Hyper-V가 향상시킨 부분이 바로 VM 복제(Replica) 기술입니다.

image

원하는 VM에서 복제 사용이라는 메뉴를 이용하시게 되면, 손쉽게 만드실 수 있는데요. 복제의 경우엔 복제 원본을 가진 서버와, 대상 서버로 분리해서 관리를 해야 합니다. 복제를 아무 서버에서나 받게 되면, 아키텍쳐 상, 혹은 보안상의 이슈가 발생할 수 있기에, 대상 서버에는 사전에 복제를 어떤 형태로 인증하고, 어디에 저장할지, 그리고 보안상 어떻게 전송받을지를 설정하는 옵션이 제공됩니다.

image

여기서 중요한 포인트는 바로 인증 및 포트라는 부분입니다. 관리적인 측면에서 다시 살펴볼 내용입니다만, Windows Server 2012의 개선점 중 엔지니어나 네트워크 관리자가 환영할 부분이 있습니다. 바로 기존엔 모든 서버간의 교신에 대한 기반이 RPC 프로토콜이었지만, Windows Server 2012의 경우엔 관리에는 WS-Management, 그리고 서버간 전송 및 암호화 기술에 대해서는 HTTP, HTTPS 기반을 많이 사용합니다. 복제의 경우에도 지역이 분리되어져 있는 경우가 대다수일 것이기에, Windows의 인증 기반인 액티브 디렉터리(Active Directory)를 이용할 것이라 생각하시지만, “인증서 기반 인증 사용(HTTPS)”에서 의미한 데로, 상호 인증서로 인증을 할 수 있기에, AD에 대한 인증 종속이 없습니다.

image

인증과 더불어, 보안의 기본인 허가에 대한 부분도 복제를 받을 서버에서 어느 서버에서 전송을 받을지, 그리고 어느 위치에 저장할지, 나아가 신뢰 그룹을 지정하여, 아무 서버나 복제를 전송할 수 없게 설정하는 부분도 빠뜨리지 않았습니다.

image

Hyper-V Replica는 비동기(Async) 방식의 복제를 사용합니다. 실시간으로 VHD 파일을 복사하는 것이 아니라, 최초에 한번 전체 가상 머신 정보를 복제한 후, 추가적인 변경 사항은 데이터베이스의 로그 전송(Log Ship)과 같은 형태로, 전송하게 됩니다. 이런 구조로 구성되어야, 네트워크 단절, 혹은 여러 문제가 전송시 발생했을 경우, 복구 포인트를 가질 수 있게 됩니다. 나아가 위의 그림의 경우에는 하루에 몇번 전송을 할 것이냐에 대한 부분입니다. 생각해보면, 전송 시점이 복구 가능한 시점으로 볼 수 있고, 비동기 구조이기에, 장애 조치시 완벽하게 원본과 동일한 서버가 되지 않을 확률도 존재합니다. (1분전에 완료되었을 수도 있고, 2시간전에 완료되었을 수도 있습니다.) 이 시점을 하루에 몇번 잡을 것이냐는 것이 바로 추가 복구 지점의 의미입니다. 4번을 잡을 경우, 하루에 4번 변경 사항에 대해서 전송을 한다는 것입니다. (Windows Server 2012 Hyper-V의 경우, 기존 오프라인에서만 가능하던 가상 머신 스냅숏 병합 기능이 온라인에서 가능하게 되었기에, 운영 머신의 중단없이 스냅샷을 반영, 혹은 전송할 수 있습니다.)

이렇게 구성되어 복제된 VM의 경우, 대상 서버에서 오프라인 형태로 저장되어져 있다가, 필요시 해당 머신으로 장애 조치(Failover)할 수 있습니다.

image

장애 조치에 대해서도 실제로 진행 혹은 테스트 진행이 가능하며, 이 경우, 원본 머신은 중단되고, 대상 복제 머신에서 동작을 시작하게 됩니다. 이런 시나리오가 나올 수 있습니다. 원본 지역과 대상 지역이 IP 서브넷이 다른 경우, 어떻게 VM의 IP 대역을 업데이트할 것이냐.. 이것이 수동으로 할 것이냐, 자동으로 할 것이냐..

이에 대해서는 2가지 형태의 정답을 제공합니다. 하나는 아직 포스팅하지 못한 네트워크 가상화(Network Virtualization)을 통해 지역간 분리 영역도 같은 논리적인 서브넷으로 묶을 수 있는 기술을 Hyper-V에서 제공하며, 다른 하나는 다른 IP로 자동 변경시키는 옵션을 제공합니다.

image

대상 서버의 설정에 들어가보면, NIC의 세부 속성(Windows Server 2012의 Hyper-V는 세부 속성이 참 많습니다. Smile)에 장애 조치시 IP 설정을 어떻게 할지, 결정하는 페이지를 가지고 있습니다. 여기서 해당 정보를 입력해놓으면, 장애 조치시 해당 정보로 변경되게 됩니다.

추가적으로 복제에 대한 기술에서 기억하셔야 할 부분이 있습니다. 베타 시절, 꼬알라도 조금 헤맸던(?) 부분이었습니다. 바로 클러스터 환경과 복제를 어떻게 연계하냐는 것입니다. 클러스터는 몇개의 노드가 논리적으로는 하나의 형태로 보여주게 됩니다. 복제를 개별 노드들이 담당할지, 아니면 클러스터내에 복제를 총괄하는 역할이 따로 있을지에 대한 부분입니다.

image

Windows Server 2012 장애 조치 클러스터의 역할에 새롭게 보이는 역할이 하나 있습니다. 바로 Hyper-V 복제본 브로커(Replica Broker)라는 역할입니다. 이 역할이 클러스터 전체의 복제에 대한 입출입을 담당하는 역할입니다. 클러스터내의 노드가 서비스하는 가상 머신을 다른 곳으로 복제하거나, 복제를 받아야 하는 경우 Hyper-V 복제본 브로커를 구성하셔야 합니다.

Hyper-V 복제 기술의 태생은 사실 Windows Azure에 대한 부분일 것으로 보여집니다. Windows Azure의 경우에도 특정 서비스가 영역에 장애 종속되어서는 안된다는 원칙이 있습니다. 특정 지역이 불가 상태가 되더라도, 서비스는 지속되어야 한다는 클라우드의 기본 속성으로 인해, 지역간, 대륙간 복제 기술이 필수적으로 필요했고, 이에 근간 기술인 Hyper-V를 발전시켰을 것입니다. 이렇게 탄생한 부분이 바로 Hyper-V 복제입니다.

Windows Server 2012의 원칙은 In a Box입니다. 다시 말해, 기술별로 별도의 라이선스를 제공하는 것이 아니라, Windows Server 라이선스에 Hyper-V 기술은 모두 제공되고, 이에 Hyper-V 복제도 추가적인 라이선스를 요구하는 부분은 아닙니다. 고가용성은 이제 고급기술이 아니라, 클라우드, 작게 보면 인프라의 기본 기술이기에, Hyper-V 복제가 많은 비즈니스 시나리오, 또는 장애 조치에 사용될 것으로 보여집니다.

Comments

  • Anonymous
    January 01, 2003
    ahn jae jin님 // 안녕하세요~ replica는 VM에 대한 복제이므로, 응용 프로그램에 대한 가용성을 보장하는 형태는 아닙니다. 당연히 응용 프로그램에 대한 가용성(SQL과 같은)은 자체 HA 기술을 사용하셔야 합니다. 그리고 언급하신 바와 같이 Replica는 SQL 데이터베이스에 대한 고가용성을 구성한 VM에 대해서는 사용하시면 안됩니다. :)

  • Anonymous
    July 11, 2012
    어제 세미나 잘 들었습니다. 그동안 이곳에서 좋은 내용덕분에 많은걸 알게 되어서, 인사라도 드리려고 했으나, 거의 시간에 맞춰서 도착하신데다, 끝나고서도 급하게 나가시는것 같아 인사 못 드렸는데 참 아쉽네요 ^^ 사실 그동안 2008 Hyper-V 보다는, vShpere5.0을 고객사에 제안 및 설치,운영해왔는데, 하루 빨리 2012 Hyper-V를 테스트해봐야 겠다고 결심할 정도로 좋은 내용이었습니다. 막강한 기능과 In a Box... 주로 SMB시장이 고객인 저희에게 많은 비지니스에 도움이 될것 같습니다.

  • Anonymous
    July 11, 2012
    안명진님 // 안녕하세요~ 어제 세션 후, 잠시 쉬는 시간이라도 있으면, 조금 더 있을 건데.. 워낙 많은 분들이 오셔서.. 잠시 앉을 자리도 없어서, 자리를 떴었습니다~ 다음에 자리가 있으면.. 차라도 한잔 하시지요~ 항상 관심가져 주셔서 감사합니다~

  • Anonymous
    July 13, 2012
    안녕하세요? Windows Server 2012의 시기능 중 제일 관심이 가는 부분이 Hyper-V Replica였었고 이번에 사내에 10GbE 스위치를 도입하여 시험 가동 중인 단계입니다. SCVMM을 통해 Windows Server 2008 R2의 경우 VM Migration을 하는 경우 이상하게 10GbE 대역을 최대로 활용을 못하는 부분이 있어 갸우뚱하고 있습니다. 2012의 경우 LBFO가 자체적으로 내장되어 최대한 대역폭을 선택하거나 활용하는 것을 Build Windows Demo에서 보았는데 Windows Server 2008 R2에서는 VM Migration(Poweroff 상태입니다) 시 SCVMM이 물리적으로 10GbE 스위치가 아닌 1GbE에 연결되어 있으면 대역폭을 제대로 사용할 수 없는 것인지요? 일단 source와 destination이 지정이 되면 2대의 Host사이에서 복제가 이루어지는 것이 아닌지요?

  • Anonymous
    July 13, 2012
    최재훈님 // 안녕하세요~ Replica와 Failover, 두가지를 말씀하시는 것 같습니다. 아니시라면 다시 댓글 달아주세요^^;; Replica의 경우, 복제를 하는 네트워크를 선택하는 아키텍쳐는 원본과 대상 Hyper-V 서버 설정에서 IP 서브넷을 선택할 수 있습니다. Failover의 경우에는 클러스터 관리 도구내 네트워크의 실시간 마이그레이션 속성에 가보시면, 마이그레이션시 사용할 네트워크를 순서대로 지정하실 수 있습니다. SCVMM의 유무와는 상관없이, 네트워크 선택은 Windows Server의 속성에서 선택하시는 것입니다. LBFO의 경우엔 NIC Teaming에 대한 부분이기에, NIC Teaming을 구성하지 않으셨다면, 이 경우와는 조금 무관합니다. 최대한 대역폭을 선택하거나, 활용하는 케이스는 LBFO보단 SMB Multichannel을 말씀하시는 것이 같은데.. 추가적인 사항이 있으시면 댓글이나 상단 Email 링크를 통해 보내주시면, 답변드리겠습니다. ^^;;

  • Anonymous
    July 14, 2012
    제가 피곤한 상태에서 두서없이 질문을 드렸던 것 같습니다. 우선 Failover의 경우 CSV, LM 같은 경우 VM 마다 선택적으로 pNIC을 선택하는 것은 알고 있었습니다. 현재 TestLab 구성은 SCVMM2k8R2SP1 + Windows Server 2008 R2 SP1 Datacenter edition입니다. 아무래도 이번 주 내내 테스트를 진행 할 것 같기에 궁금한 점이 있으면 또 질문을 드리도록 하겠습니다. 예전에 세미나에서도 그렇고 이렇게 친절하게 답변하여 주시고 정말 감사드립니다. P.S 현재 개인적으로 40Gbps Infiniband HCA와 Infiniband Switch를 보유하고 있습니다. (RDMA에 기반한 RoCE를 활용하기 위한 정말 간소한 장비만 가지고 있습니다) 사내 운영서버 마이그레이션이 끝나면 개인 서버들을 활용하여 Windows Server 2012 SMB 3.0을 활용한 Local Storage Migration을 본격적으로 테스트 해 볼 예정입니다. 추후 많이 괴롭혀드리도록 하겠습니다...^^;

  • Anonymous
    December 27, 2012
    안녕하세요. 포스팅 글을 보고 문의 드리겠습니다. Windows 2012 server Hyper-V 에서 VM 간에 비동기 방식으로 복제가 된다면,

  1. Real time 으로 복제 할 수 있는 방법은 없나요?
  • Exchange server 의 LCR의 경우 로컬에서 실시간 복제가 이루어 집니다만   (완전 다른 기능입니다만, 복제라는 개념적으로만..)   VM(1) <-> VM(2) 간에 실시간 복제가 가능할지
  1. Real time 복제가 안된다면 차선책으로 해볼 수 있는 방법이 있을까요?
  • 가상화 서버 환경에서 로드 분산 테스트 해보고자 합니다. 감사합니다.
  • Anonymous
    December 27, 2012
    Kairess 님 // 안녕하세요~ 해당 사항에 대해서는 메일로도 보내주셨기에, 메일로 답변을 해드렸습니다.

  • Anonymous
    July 25, 2013
    안녕하세요. 언제나 인프라 관련해서 좋은 포스팅 감사합니다. 이번에 서버2대로 간단히 자기인증서(443포트)를 사용하여 Hyper-V Replica 를 구현하여 동작을 확인해 봤습니다. Primary측 VM 과 Replica측 VM, 반드시 어느 한쪽만이 동작중이며 반대로 반대쪽은 오프상태로 되어있네요. 여기서 양 VM간의 동작상태(한쪽은 오프상태로 만드는)를 제어하는건 어디서 하며, 어떠한 방식(통신)으로 이루어지나요?

  • Anonymous
    August 08, 2013
    박창주님 // 안녕하세요. Hyper-V Replica는 Active Passive 방식입니다. 이에 두개의 VM이 모두 동작하는 형태로는 운영이 불가능합니다. VM의 동작 상태에 대해서는 복제를 시작했던 원본이 메인 VM이며, 대상이 복제 머신입니다. 이에 대한 원본 혹은 복제 머신에 대한 구분은 해당 VM의 설정내의 복제 부분에서 살펴보실 수 있고, VM에서 마우스 오른쪽 버튼을 누르시면 나오는 복제 관련 사항에서 장애 조치라는 항목이 있으면 Replica입니다. 두 VM은 동시 동작이 아니므로, 복제에 대한 변경을 전달하는 사항 이외는 교신하지 않습니다.

  • Anonymous
    February 12, 2014
    안녕하세요 꼬얄라행님~ 두달전엔가 한번 세미나 듣고와서 일이 많이 생겼습니다. 하이퍼브이로 자체 세미나를 해야되는데 하나도 모르겠어요....... 아 너무 막막해서 일단 그냥 들렸습니다. 지금 복제 하다가 막혔음......하 진짜 기본이 안되어있&#51004;니 힘드네요.. 여튼 계속 야근하고 이것저것 해보다 보면 되겠죠 뭐.. 수고하세연~

  • Anonymous
    July 21, 2014
    안녕하세요. Hyper-v Replica 기능에 대해 문의 사항이 몇가지 있습니다.
    1. 복제 빈도 구성 과 추가 복구 지점에 대해 문의드릴게요.
    복제빈도는 30초 5분 15분&#51004;로 나누어지는데 이때마다 복제가 된다는 것인가요?
    만약 그렇다면 위에 말씀하신 추가 복구 지점이랑 차이점은 뭔지 설명 부탁드릴게요..
    2. Hyper-V Replica 기능을 사용할 경우 라이&#49468;스 정책은 어떻게 되나요?
    EX) SQL 서버 설치 후 Replica 구성 시 OS 2, SQL 2 이렇게 구매를 해야 되는 것인가요?

  • Anonymous
    July 22, 2014
    Gunhee Lee님 // 안녕하세요.

    복제 빈도는 말 그대로, 호스트간 달라진 내용에 대해서 복제하는 빈도입니다. 설정된 시간마다 복제를 해주는 형태이므로, RTO(Recovery Time Objective)를 의미합니다.

    추가 복구 지점은 가상 컴퓨터에서 지원하는 스냅숏(검사점)입니다. 설정을 하시게 되면, 복제된 가상 컴퓨터의 스냅숏이 1시간마다 생성됩니다. 최대 몇개를 만들어놓을 것인지에 대한 설정인데, 해당 숫자 이상이 생성되면 가장 오래된 스냅숏을 삭제하게 됩니다.

    30초로 복제 빈도를 설정했을 경우에, 30초마다 대상 호스트로 변경된 사항이 복제됩니다. 이후 스냅숏을 생성한다고 추가 복구 지점을 설정하시면 1시간마다, 대상 호스트에서 스냅숏이 만들어지고, 원하실 경우, 해당 시점으로 되돌아 갈 수 있는 형태라고 생각하시면 됩니다.

    라이선싱에 대한 부분은 현재 가지고 계신 라이선스의 종류에 따라 달라집니다. 주 Hyper-V 호스트에 SA 형태의 라이선스가 있으시다면, 별도의 라이선싱이 필요하지 않습니다. 그렇지만, SA 형태가 아니라면, 복제 호스트에도 라이선스가 필요합니다. 설치된 응용 프로그램의 경우에는 개별적으로 다른 라이선스가 적용되는 것으로 알고 있습니다. 정확한 문의는 라이선스를 구매하신 파트너께 여쭤보시면 정확한 답변을 받으실 수 있습니다.

  • Anonymous
    April 21, 2015
    안녕하세요. 많은 도움이 되어 포스팅 열심히 보고 있습니다. SQL을 Hyper-v 로 구성후 replica로 구성하면 SQL클러스터링이나 미러링을 할 필요가 없어지는 건가요? replica로 구성하면 클러스터링이나 미러링이 지원이 안된다는 포스팅도 본적이 있어서 조금 헷갈리네요.참고 문서입니다.https://support.microsoft.com/en-us/kb/956893/en-us

  • Anonymous
    August 03, 2015
    안녕하세요 열심히 책을보고 여러가지 테스트 중입니다.
    복제구성중 도메인 구성을 안할시 인증서 기반 인증 사용을 하라 하였는데
    인증서 기반을 사용하면 인증서 선택이 안됩니다..
    &#47932;론 인증서 서비스도 설치하여 다 해보았는데....
    도통 이것저것 해보아도 안되네요..
    여러 사이트 보면 대부분이 도메인이 구성안되있을시 안된다고 하는데
    그냥 워크그룹일때는 복제구성이 안되는건지..궁금합니다..

  • Anonymous
    August 03, 2015
    minsub kim님 // 안녕하세요. 인증서 선택이 안되시는 것은 인증서 구성이 잘못되었기 때문으로 생각합니다. http://blogs.technet.com/b/virtualization/archive/2013/04/13/hyper-v-replica-certificate-based-authentication-makecert.aspx 의 글을 참고해보시면 좋습니다. 워크그룹에서도 복제가 가능합니다.