IT STORYs

Hyper-V 및 NetAPP 활용 예 본문

Windows Server

Hyper-V 및 NetAPP 활용 예

295~ 2008. 12. 30. 13:16

Avanade에서 비즈니스의 성공은 글로벌 컨설턴트들이 기업 고객의 요구를 얼마나 잘 해결할 수 있는지에 달려 있습니다. 이를 지원하기 위해 Avanade는 목표 달성을 위해 필요한 모든 디지털 도구를 제공하는 IT 어플리케이션 및 서비스에 상당한 투자를 하고 있습니다. Microsoft® Hyper-V™를 통해 서버 가상화로 전환하고자 했던 주요 이유 중 하나는 가상화가 제공하는 유연한 재해 복구 및 가용성 시나리오 때문이었습니다. 저희는 공유 스토리지 백엔드와 함께 이러한 종류의 아키텍처를 활용함으로써 어플리케이션 및 서비스를 다른 로컬 노드로 보다 효율적으로 페일오버하고 원격 데이터 센터를 이용한 복제를 지원함으로써 보다 광범위한 재해로부터 시스템과 데이터를 보호할 수 있을 것이라고 믿었습니다.
Hyper-V로 전환하는 데에는 다른 여러 가지 요인들이 있었지만 CIO가 투자 결정을 내리게 된 결정적인 이유는 재해 복구를 위한 가상 서버 환경의 복원 및 복구 유연성 때문이었습니다. 이외에도 다음과 같은 여러 가지 필요에 의해 Hyper-V에 대한 투자를 결정하게 되었습니다.

  • 서비스 품질을 낮추지 않으면서 데이터 센터 비용(랙 공간, 전력 및 냉각) 절감
  • 더욱 강력한 서버 리소스의 보다 효과적인 활용
  • 새로운 어플리케이션 서버 환경의 보다 신속한 구축

저희는 이러한 모든 영역에서 목표한 바를 이룰 것으로 기대했습니다. 이를 염두에 두고 Microsoft의 아직 출시되지 않은 Windows Server® 2008 Hyper-V의 베타 사용자로 등록했습니다. 이때부터가 시작이었습니다.

Hyper-V 구축

현재의 Hyper-V 환경 특징에 대해 설명하기 전에 먼저 Hyper-V를 구현하기 전의 IT 인프라에 대한 약간의 배경을 설명드리겠습니다. 저희 회사의 IT 환경을 살펴보면 미국, 유럽 및 아시아에 세 개의 데이터 센터가 있으며, 컨설턴트들이 사용하는 대부분의 어플리케이션 서비스는 시애틀에 있는 미국 데이터 센터에서 지원되고 있습니다. Hyper-V 구축을 시작했을 때 저희는 200개 이상의 분산된 서버를 이용해서 8,000명 이상의 Avanade 전문 인력을 지원하고 있었습니다.
Avanade는 Microsoft와 Accenture의 합작 투자를 통한 회사이므로 저희 회사의 IT 환경에서는 주로 Microsoft의 어플리케이션을 이용해서 현장 작업자 및 회사의 일반적인 운영을 지원하고 있습니다. 이러한 어플리케이션에는 대용량 Microsoft Office SharePoint® Server 설치, Microsoft Exchange, Microsoft SQL Server®, Microsoft Team Foundation Server, Microsoft Terminal Services 및 웹 프런트 엔드에서 지원되는 120개 라인의 비즈니스 어플리케이션이 포함됩니다.
향후 제공될 가상 서버 환경의 활용률을 극대화하기 위해 저희는 공유 스토리지 인프라스트럭처와 함께 Microsoft Hyper-V를 사용하기로 결정했습니다. 저희는 이미 NetApp® iSCSI 스토리지를 이용해서 SQL Server 인프라스트럭처를 지원하고 있었습니다. 따라서 최신 Hyper-V 구축을 지원하는 데에도 NetApp을 사용하는 것이 자연스러웠습니다. 저희는 NetApp Snapshot® 및 SnapMirror®와 같은 데이터 보호 및 복제를 위한 기술의 효율성과 시스템의 유연성에 만족했습니다. 저희는 새로운 어플리케이션을 위한 스토리지를 신속하게 프로비저닝할 수 있는 능력을 갖추었으며, 주 스토리지에서 NetApp 중복 제거 기술을 사용함으로써 일부 용량을 확보하는 방안을 찾아내기 시작했습니다.
이 경우에도 이전의 다른 환경에서와 마찬가지로 Hyper-V에 대하여도 NetApp이 적합한 성능을 제공해줄 것이라 기대했습니다. iSCSI 기반의 Hyper-V 및 NetApp 환경에서 수행한 성능 테스트에서는 NetApp/Hyper-V 조합에서 필요한 높은 성능을 얻을 수 있을 것으로 확인되었습니다.
작업을 진행하기로 결정함에 따라, 테스트 및 개발 환경과 프로덕션 환경의 두 가지 영역에서 Hyper-V 구현을 구축했습니다. 다음은 현재 구축 환경에 대한 몇 가지 중요 사항들입니다.
프로덕션 환경

  • Microsoft Windows Server 2008 Hyper-V, 코어 설치, Enterprise Edition
  • 4-노드 Hyper-V 클러스터로 구성
  • 27개 하위 파티션(가상 시스템)
  • Windows Server 2003 또는 Windows Server 2008 게스트 운영 체제에서 실행되는 가상화 어플리케이션
    가상화 어플리케이션
  • Team Foundation Server
  • Systems Center Operations Manager 2007
  • Microsoft Windows Server 2008 Terminal Services(TS 팜 및 TS Gateway 모두 포함)
    서버 및 스토리지
  • Sun Fire X4150 서버, 각 서버마다 2개의 쿼드 코어 프로세서 장착, 32GB RAM
  • iSCSI 프로토콜로 구성된 NetApp FAS3040 스토리지 시스템

개발 및 테스트 환경

  • Microsoft Windows Server 2008 Hyper-V, 전체 설치, Enterprise Edition
  • 한 개의 4-노드 클러스터
  • 한 개의 2-노드 클러스터
  • 3개의 독립형 서버
  • 개발 및 테스트 Hyper-V 호스트에서 150개 이상의 하위 파티션(가상 시스템) 운영
    가상화 어플리케이션
  • 상황에 따라 다양하지만 프로덕션 환경의 어플리케이션을 포함
    서버 및 스토리지
  • Dell 2950 서버, 각 서버마다 2개의 쿼드코어 프로세서 장착, 32GB RAM
  • iSCSI 프로토콜로 구성된 NetApp FAS3020 스토리지 시스템

VMware DRS

그림 1) Avanade의 4-노드 Hyper-V 클러스터를 위한 NetApp 지원.

Hyper-V 구축 결정

구축 환경에서 살펴본 바와 같이 일부 핵심 영역에 대한 접근 방식이 전반적인 프로젝트 성공을 위해 어떻게 기여하는지 확인할 수 있습니다. 이러한 접근 방식은 다음과 같습니다.

  • 구축할 Microsoft Windows Server 2008 버전 결정, Windows Server Core 에디션의 전체 에디션 또는 일부 에디션 구축
  • Hyper-V 하위 파티션의 VHD(가상 하드 디스크) 파일을 지원할 NetApp 시스템 구성 방법 결정
  • 새로운 VHD를 기존 Hyper-V 노드에 신속하게 프로비저닝 및 연결할 수 있는 프로세스 개발

Microsoft Windows Server 2008 Core 에디션 결정
저희는 Windows Server 2008의 전체 에디션 또는 Server Core의 향후 사용 여부를 판단했습니다. 저희는 보안 관점에서 볼 때 Server Core가 보다 가벼운 기반을 제공하며, 패치도 더욱 자주 적용할 필요가 없다는 점을 확인할 수 있었습니다. 각 호스트마다 10개, 15개 또는 20개의 가상 시스템을 지원하게 될 것이라는 점에서 이러한 특징은 중요하게 고려되었습니다. VM의 가용성을 높게 유지하기 위해 호스트 서버에서 수행해야 하는 재부팅 횟수를 최소화하기를 원했습니다.
하지만 Server Core의 경우 명령줄 인터페이스가 사용되기 때문에 첫 번째 계층의 운영 직원에게는 다소 위협적인 요인이 될 수 밖에 없었습니다. 운영 직원들은 "어떻게 하면 이들을 잘 관리하고 문제를 해결할 수 있을까요?"라고 물어왔습니다. 협상 과정을 거친 후에 저희는 Server Core를 사용하기로 결정했습니다. 그리고 그 결과는 매우 성공적인 것으로 확인되었습니다. 구축 이후 실제로 매우 잘 작동됨에 따라 매우 안정적으로 인프라스트럭처를 구현할 수 있게 되었습니다. 지원 직원들도 MMC 스냅인 및 원격 서버 관리 도구를 비롯한 여러 표준 도구를 계속 이용해서 Windows Server 2008을 관리할 수 있었습니다. 이러한 경험 이후에는 모든 직원들이 Server Core의 강력한 기능을 믿고 따르게 되었습니다.

Hyper-V 하위 파티션 및 VHD 사용을 위한 NetApp Storage 구성

저희는 NetApp 중복 제거 및 Snapshot 기술이 볼륨 수준에서 작동한다는 것을 알고 있었기 때문에 이러한 기능을 최대한 활용하기 위해 Hyper-V 하위 파티션용으로 스토리지를 설계하기로 결정했습니다.
동일 게스트 OS의 인스턴스 간에는 중복된 데이터가 매우 많았기 때문에 Hyper-V VHD를 포함하는 개발 및 테스트 볼륨에서 NetApp 중복 제거 기술을 사용할 경우 상당한 공간을 절약할 수 있을 것으로 기대했습니다. 그 결과 50% 이상의 공간을 절약할 수 있었기 때문에 현재는 프로덕션 환경에서도 중복 제거 기술의 구현을 고대하고 있습니다. 이러한 볼륨 수준의 기능을 통해 다음과 같은 방식을 채택할 수 있었습니다.

  • 동일 게스트 운영 체제를 실행하는 하위 파티션을 동일 NetApp Flexible Volume(FlexVol®)으로 그룹화
    이러한 방식을 통해 프로덕션 환경에서 Windows Server 2003 하위 파티션을 하나의 볼륨에서 사용하고 Windows Server 2008 파티션을 다른 볼륨에 배치할 수 있었습니다. (개발 및 테스트 환경에서는 향후 테스트를 위해 전체 환경을 신속하게 백업 또는 복원하기 위해 NetApp Snapshot을 사용하도록 선택할 수 있기 때문에 이러한 규칙이 다소 느슨한 형태로 구현되었습니다. 이 경우에는 해당 환경이 2개 이상의 게스트 OS로 구성될 수 있었습니다.)
  • VHD와 LUN 간의 1:1 매핑 채택
    모든 하위 파티션에는 해당 하위 파티션의 VHD(가상 하드 디스크) 파일 및 관련 데이터를 저장하는 관련 LUN이 있습니다. 하위 파티션 간의 독립성을 강화하기 위해 이러한 1:1 매핑은 어떠한 하위 파티션도 다른 하위 파티션과 LUN을 공유하지 않도록 해줍니다. 하지만 여러 LUN(및 VHD)이 여전히 동일 NetApp 볼륨에 존재할 수 있습니다.
  • 각 하위 파티션에 고유한 식별자를 할당하기 위해 Microsoft의 Volume GUID 사용
    Hyper-V 클러스터에는 가상 시스템 수가 많았기 때문에 사용 가능한 드라이브 문자가 매우 빠르게 줄어들었습니다. 디스크 간의 불필요한 의존성이 발생할 수 있었기 때문에 마운트 지점을 사용하는 방식은 선택할 수 없었습니다. 저희가 사용한 전략은 클러스터상의 디스크를 구분하기 위해 Volume GUID를 사용하는 것이었습니다. LUN을 문자 드라이브(예: E: 드라이브)에 저장하는 대신 드라이브 문자를 전혀 지정하지 않도록 선택했습니다. 드라이브 문자를 지정하지 않을 경우에는 다음과 같은 GUID 할당을 이용할 수 있습니다.  \\?\Volume{c9612f6f-702e-11dc-b79a-00123f769676}\

다음 섹션에서는 프로덕션, 개발 및 테스트 환경을 위해 현재 스토리지가 어떻게 구성되어 있는지에 대해 설명합니다.

프로덕션 Hyper-V 환경을 위한 스토리지 구성
2개의 NetApp Flexible Volume(FlexVol)을 통해 각 하위 파티션과 관련된 데이터를 저장합니다. 하위 파티션 VHD 파일은 성능 극대화를 위해 Hyper-V에서 “고정 VHD” 파일로 구성되었습니다. 또한 동적 VHD를 사용할 경우 고객들이 기대하는 NetApp 중복 제거 기술을 통해 공간 절약 효과를 더 얻을 수 있을 것으로 기대했습니다.

볼륨 1:

  • 각 하위 파티션의 데이터가 고유한 iSCSI LUN에 저장되는 7개의 Windows Server 2003 하위 파티션(가상 시스템)에 대한 데이터를 저장합니다.
  • 볼륨에는 500GB의 전체 스토리지 용량이 할당됩니다.
  • 볼륨의 현재 사용량은 48%입니다.

볼륨 2:

  • 각 하위 파티션의 데이터가 고유한 iSCSI LUN에 저장되는 20개의 Windows Server 2008 하위 파티션에 대한 데이터를 저장합니다.
  • 볼륨에는 1.25TB의 전체 스토리지 용량이 할당됩니다.
  • 볼륨의 현재 사용량은 76%입니다.

개발 및 테스트 환경을 위한 스토리지 구성
30개 이상의 NetApp Flexible Volume(FlexVol)에서 하위 파티션과 연관된 개발 또는 테스트 데이터를 저장합니다. 하위 파티션 VHD 파일은 테스트 및 개발 중에 해당 크기를 쉽게 늘리고 줄일 수 있도록 Hyper-V에서 "동적 VHD" 파일로 구성됩니다.

볼륨 1: 개발에 사용

  • 25개의 Windows Server 2008 하위 파티션에 대한 데이터를 저장합니다.
  • 각 하위 파티션의 데이터는 고유한 iSCSI LUN에 저장됩니다.
  • LUN의 크기는 40GB에서 100GB 사이입니다.
  • 볼륨에는 600GB의 전체 스토리지 용량이 할당됩니다.
  • 볼륨의 현재 사용량은 39%입니다.

~32 볼륨: 개발 및 테스트 팀에서 모두 사용

  • 볼륨은 100개 이상의 Windows Server 2008 Hyper-V 하위 파티션에 대한 데이터를 총체적으로 저장합니다.
  • 각 하위 파티션의 데이터는 고유한 iSCSI LUN에 저장됩니다.
  • LUN의 평균 크기는 20GB입니다.
  • 각 볼륨은 평균적으로 3개의 LUN을 포함합니다.
  • 볼륨에는 총체적으로 2.5TB의 전체 스토리지 용량이 할당됩니다.

신규 LUN 및 VHD의 신속한 프로비저닝
NetApp을 선택한 이유 중 하나는 백엔드 스토리지 어레이에 대한 유연성 때문입니다. 저희는 새로운 LUN을 프로비저닝하고 Hyper-V 노드에 완전히 새로운 VHD 디스크를 연결하는 데 5분밖에 걸리지 않는 방법을 쉽게 개발할 수 있었습니다. 또한 ssh(보안 쉘) 명령을 둘러싼 일련의 스크립트를 개발했습니다. 이러한 스크립트는 LUN을 만들고 이를 Hyper-V 클러스터에 자동으로 연결합니다. 그런 다음부터 이러한 프로세스를 통해 LUN 프로비저닝을 자동화할 수 있었습니다. 프로세스를 완전히 문서화한 다음에는 어플리케이션 직원들에게 배포하여 그들 스스로 작업을 수행하도록 지원할 수 있을 것입니다. 이러한 프로세스는 호스트로 이동해서 명령을 실행하여 연결하는 매우 간단한 프로세스입니다.

저장소에 남아 있는 데이터

이전까지의 경험에 비춰볼 때 저희는 스토리지의 모든 것을 가상화할 수 있을 것으로 예상하고 있습니다. 대상 아키텍처의 경우 Hyper-V 클러스터 및 SQL Server 클러스터가 모두 NetApp 스토리지에 연결된 형태로 되어 있습니다. 프런트 엔드 어플리케이션은 모두 궁극적으로 Hyper-V 클러스터에서 실행될 것이므로 현재의 4개 노드에서 최대 8개 노드로 늘어날 것입니다. 또한 VM 증가에 따라 필요하게 될 스토리지 공간의 양을 줄이기 위해 NetApp 중복 제거 기술을 사용할 수 있도록 프로덕션 시스템에서 NetApp 펌웨어를 업그레이드하는 과정 중에 있습니다.

가상화 계획
저희는 SharePoint 구현을 가상화할 계획에 있으며 SQL Server 클러스터도 곧 가상화될 수 있을 것으로 예상하고 있습니다. Hyper-V에 대한 Microsoft의 지원이 증가함에 따라 저희 회사의 가상화 계획에는 에지 서버, 방화벽 ISA 서버 및 IIS 웹 프런트 엔드 서버까지 포함될 것입니다. 향후 6개월에서 9개월 이내에 현재 데이터 센터에서 상당량의 랙 공간을 차지하고 있는 단일 시스템, 단일 어플리케이션 서버 다수를 가상화할 계획입니다. 이러한 어플리케이션은 HR 또는 재무 부서 등지에서 10~20명 정도의 직원들에 의해 사용되는 어플리케이션입니다. 이렇게 일단 간단히 해결할 수 있는 과제들부터 수행함으로써 가상 시스템 전환에 따른 효과를 쉽게 얻을 수 있을 것입니다.

지금도 다양한 Hyper-V 업무 방식을 발전시키고 있는 중입니다. 이러한 노력들이 이뤄지는 시점은 SCVMM(Service Center Virtual Machine Manager) 및 Microsoft DPM(Data Protection Manager)과 같이 Microsoft 솔루션과 Hyper-V를 더욱 긴밀히 통합하는 최근 Microsoft 릴리스 제품들과 관련되어 있습니다. 실제로 많은 물리적 서버를 가상 시스템으로 신속하게 변환하는 데 도움이 될 것으로 보이는 SCVMM의 P2V(Physical to Virtual) 기능을 이미 테스트하기 시작했습니다. 또한 기본 VM의 신속한 Snapshot 캡처를 위해 Microsoft Hyper-V에서 VSS를 활용하는 새로운 NetApp 데이터 보호 기술을 통합하는 최적의 방법도 모색하고 있습니다. 저희는 이러한 종류의 NetApp 기술을 DPM(Data Protection Manager)과 함께 관리 및 데이터 보호에 활용할 수 있을 것으로 기대하고 있습니다.

데이터 보호 및 DR 계획
또한 계층화된 데이터 보호를 위한 프로세스도 개발 중에 있습니다.

  • 일부 Hyper-V 데이터는 Microsoft Data Protection Manager, 또는 VSS를 활용하여 구축된 DPM 및 NetApp 데이터 보호 기술의 조합을 사용하여 백업될 것입니다.
  • 현재는 프로덕션 환경에서 각 하위 파티션 내의 에이전트가 필요한 DPM을 사용하고 있습니다.
  • 일부 데이터는 NetApp Snapshot을 사용해서 백업될 것입니다.  (Snapshot은 현재 개발 및 테스트 환경에서 사용되고 있습니다.)
  • 일부 핵심 데이터는 시애틀 데이터 센터와 미국 동부 지역의 여러 사무소 중 하나에 있는 다른 오프사이트 DR 위치 간에 NetApp SnapMirror를 사용해서 복제될 것입니다.
결론

Microsoft Hyper-V 및 NetApp을 사용한 경험은 매우 소중하고 훌륭한 경험이었습니다. NetApp 중복 제거 기술을 통해 귀중한 디스크 공간을 절약할 수 있었으며, 현재는 4개의 서버를 한 시간 이내에 자동으로 프로비저닝할 수 있게 되었습니다. SCVMM을 통해 이러한 프로세스의 속도를 더욱 향상시킬 수 있을 것입니다. 가상 시스템의 고가용성을 유지할 수 있고, Hyper-V 및 NetApp을 통해 성능까지 크게 향상시킬 수 있게 되었습니다.

Comments