가상화: 가상화 준비
인프라에 가상 컴퓨터를 배포할 준비를 하려면 약간의 수고가 필요하지만 그만한 보상이 뒤따릅니다.
Brian Marranzini
가상화는 IT 투자를 최대한 활용하는 데 도움이 되는 유용한 기술입니다. 비용 혜택 공식은 쉽게 계산하고 입증할 수 있습니다. 가상화는 백업, 복원, 이식성, 테스트 및 롤백과 같은 기능을 제공하므로 관리 및 가용성 측면에서도 유리합니다.
변경 사항을 적용하기 전에 VM(가상 컴퓨터)의 스냅숏을 만든 다음 변경 사항이 문제를 일으키는 경우 롤백할 수 있습니다. Hyper-V 지원 시스템에서 VM을 내보내고 가져오는 방법으로 다양한 하드웨어에 걸쳐 간단히 백업하고 복원할 수 있습니다. 가상화 호스트를 클러스터로 묶어 하드웨어 중복성을 설정할 수 있습니다.
그러나 VM을 배포하려면 개별적인 유지 관리, 그리고 더 중요한 적절한 시스템 평가가 필요합니다. 또한 가상화된 응용 프로그램에는 실제 환경에서는 필요 없는 추가 관리 계층과 모니터링이 필요합니다.
이 기사에서는 이러한 문제를 비롯하여 가상 환경을 배포할 때 직면하게 되는 여러 가지 문제에 대해 다룹니다. 자세한 내용은 구축, 아키텍처 및 배포 가이드를 참조하십시오. 가상화와 Hyper-V 사용을 준비하는 데는 몇 가지 최선의 방법이 있습니다. 이러한 방법은 위험을 최소화하면서 가상화를 최대한 활용하는 데 도움이 됩니다.
즉석 인프라
가상화는 패러다임의 변화를 일으켰습니다. 과거에는 주문, 설비, 전원, 네트워크, 구성을 완료할 때까지 데 몇 주, 길면 몇 달이 걸리기도 했습니다. 지금은 System Center VMM(Virtual Machine Manager)에서 컴퓨터를 마우스 오른쪽 단추로 클릭하고 “템플릿”과 “배포”를 차례로 선택하면 끝입니다.
선택하는 순간 기본적인 작업은 모두 수행됩니다. VMM에서 SAN 기반 복사 기술을 사용할 경우 템플릿을 빌드하면 특정 요구 사항을 기반으로 “sysprep가 적용되고” 도메인에 가입된 VM이 30분 내에 준비됩니다. 이 기술은 가장 용량이 큰 가상화 호스트를 확인한 다음 그 호스트에 VM을 배치합니다. 듣기에는 간단하지만, 가상화는 결코 상자에서 끄집어내서 바로 사용할 수 있는 턴키 서비스가 아닙니다.
하드웨어에 대해 살펴보기 전부터 “라이선스는 구입했는가?”라는 질문부터 직면하게 됩니다. 라이선스에 대한 심층적인 검토는 이 기사의 범위를 벗어나지만 기본적인 개요는 살펴보겠습니다. 공식적인 입장은 Microsoft 제품 사용 권한에서 볼 수 있습니다.
Windows Server 2008 Standard Edition은 각 라이선스별로 하나의 VM 실행을 허용합니다. 각 Enterprise Edition 라이선스는 최대 4개의 VM을 허용합니다. Datacenter Edition은 VM을 무제한 허용하며, 실제 프로세서 수(코어 수가 아님)를 기준으로 판매됩니다.
하드웨어와 함께 Windows Server 라이선스를 구입하여 OEM 버전을 받은 경우 OS를 옮길 수 없습니다. 폐기할 때까지 그 하드웨어에서만 사용해야 합니다. 볼륨 라이선스 채널을 통해, 또는 대형 거래처 담당 대리점을 통해 구입한 경우 90일마다 한 번씩, 또는 하드웨어 고장 시 라이선스를 옮길 수 있습니다.
즉, 이 90일 기간 내에 VM을 클러스터로 묶거나 이동하려는 경우 각 호스트에서 90일 기간 내에 실행해야 하는 VM의 최대 수에 대한 라이선스를 구하면 됩니다. Datacenter Edition으로 모든 호스트에 대한 라이선스를 구할 수도 있습니다.
실제 프로세서당 3~4개의 VM을 실행하는 경우 가장 저렴한 Windows 구입 방법은 Datacenter Edition입니다. 또한 Windows Software Assurance도 적극 검토하는 것이 좋습니다. 다음 버전의 Windows가 출시될 경우 하나의 복사본을 설치해서 클러스터에 사용할 계획이더라도 각 호스트에 대해 하나의 복사본이 필요합니다.
System Center 제품은 Enterprise 및 Datacenter Suite 버전으로 제공됩니다. 전체 System Center 스택을 무제한 수의 VM에서 사용할 권한을 확보할 수 있습니다. 호스트의 VM 수에 VM별로 필요한 개별 System Center Management 라이선스 수를 곱하고, 여기에 적절한 관리 제품군 비용 대비 호스트 비용을 더합니다.
3개의 도구 또는 3개의 VM 정도를 경계로 제품군이 가장 저렴한 라이선스 방법이 됩니다. 대부분의 응용 프로그램에는 최대 두 개의 데이터 센터를 포함할 수 있는 팜 내에서의 이동을 허용하는 라이선스 이동 권한이 있습니다.
가상으로 변환
VMM을 사용하여 실제 컴퓨터를 VM으로 변환하거나 새 환경을 구축하는 경우 Operations Manager 또는 무료 MAP(Microsoft Assessment and Planning) Toolkit를 사용하여 변환 작업을 처리할 수 있습니다. 이러한 도구를 통해 잠재적인 가상화 후보의 성능 정보를 캡처하여 검토할 수 있습니다.
이제 하드웨어를 살펴보겠습니다. 선택하는 하드웨어는 실행 예정인 최대한의 누적 작업 부하를 처리할 수 있어야 합니다. 따라서 듀얼 코어 2GHz 프로세서를 평균 80%의 최대 사용률로 사용하는 작업 부하가 있고, 동일한 프로세서를 최대 50% 사용하는 또 다른 작업 부하가 있다면 적어도 150%에 해당하는 시스템이 필요합니다.
듀얼 코어 3GHz 프로세서를 사용하여 실제 호스트 실행을 위한 약간의 오버헤드(이 경우 약 10%)를 허용할 수도 있습니다. 그러나 일반적으로 프로세서는 제한 요인이 아닙니다. 대부분의 작업 부하는 평균적으로 매우 낮은 CPU 사용률로 실행됩니다.
작업 부하 가상화의 장애물을 내림차순으로 정렬하면 디스크 I/O, RAM, 네트워크 I/O, 그리고 마지막으로 CPU입니다. CPU 속도와 수의 증가는 용량 증가에 대한 무어의 법칙을 계속 따르거나 초과하고 있습니다. RAM 가격은 집적도의 증가로 인해 지속적으로 하락했습니다.
그러나 디스크 볼륨은 시간이 지나면서 현저히 증가했습니다. 디스크 I/O에는 여전히 상대적으로 많은 비용이 듭니다. 최대 용량을 추구할 경우 스핀들 회전 속도와 전체적인 속도를 희생해야 합니다. 작업 부하의 디스크 I/O 프로필을 주의 깊게 살펴보십시오.
또한 I/O 유형을 파악 및 계획하여 저장소를 작업 부하에 최적화해야 합니다. VDI(Virtual Desktop Infrastructure)의 경우 VM을 저장된 상태로 두거나 사용자가 연결되지 않았을 때 끌 계획이라면 직원 출근 시간에 한꺼번에 부팅이 몰리는 상황을 예상해야 합니다.
일반적으로 실제 스핀들의 수는 많을수록 좋습니다. 클러스터로 SAN 기반 디스크를 최적화하여 가상화 작업 부하를 위한 최적의 쓰기 성능, 전용 통신 채널 및 스핀들을 확보합니다. 다중 경로를 사용하는 것도 도움이 됩니다. 최종적으로 실제 디스크(파티션이 아님)를 분리 및 세그먼트화하여 I/O 사용량이 많은 작업 부하가 사용량이 적은 작업 부하에 영향을 미치지 않도록 합니다.
VM 하드 드라이브 구성 방법과 관련된 문제도 있습니다. 게스트 VM 내에서 직접 동적 확장 VHD(가상 하드 드라이브), 고정 VHD, 통과 또는 네이티브 iSCSI를 도입할 수 있습니다. 이러한 구성이 모두 지원됩니다.
기본적인 권장 사항은 단순합니다. SAN 기능을 위한 직접 디스크 액세스가 절대적으로 필요한 경우가 아니라면 VHD를 사용하십시오. 이러한 기능에는 SAN 기반의 응용 프로그램 인식 백업 또는 iSCSI를 통한 게스트-게스트 클러스터링이 있습니다.
고정 VHD는 동적 확장 VHD에 비해 성능이 더 우수합니다. 사실 네이티브 디스크 성능에 거의 근접할 정도입니다. 여러 구성을 혼합할 수도 있습니다. 어쨌든 최종적인 솔루션은 작업 부하를 기준으로 하게 됩니다. 자세한 내용은 VHD 성능에 대한 이 백서를 참조하십시오.
또 하나 기억해야 할 점은 동적 확장 VHD의 경우 호스트 관점에서 틈틈이 조각 모음을 수행해야 한다는 것입니다. 조각 모음 수행 빈도는 드라이브의 호스트 수와 확장 빈도에 따라 달라집니다.
디스크 저장 공간에 대한 마지막 고려 사항은 스냅숏 저장소 요구 사항을 적절히 추정하는 것입니다. 스냅숏의 수와 사용 빈도 계획에 따라 약 20% ~ 30%의 추가 오버헤드를 계획하는 것이 좋습니다.
최대 메모리
필요한 RAM 용량은 비교적 쉽게 계산할 수 있습니다. 모든 작업 부하를 합한 누적 RAM 용량에 호스트를 위한 1GB, 그리고 각 게스트별로 20MB 30MB를 추가합니다.
Hyper-V SP1에는 VM이 현재 사용하지 않는 RAM을 호스트로 반환하는 데 도움이 되는 동적 메모리 할당 기능이 포함될 것입니다. Service Pack 1이 없더라도 작업 부하가 사용하는 RAM 용량을 관찰하는 것만으로 많은 최적화 여지를 찾을 수 있습니다.
또한 가상화에서는 실제 메모리 칩 크기가 아닌 필요에 따라 작업 부하에 가용한 RAM 크기를 조정할 수 있습니다. 예를 들어 600MB RAM의 VM을 만들 수 있는데 이 경우 일반적으로는 실제 RAM 칩 크기와 페어링 채널에 따라 제한될 것입니다. 유일한 제한은 짝수여야 한다는 것입니다.
SCOM(System Center Operations Manager)을 사용하면 게스트의 과거 성능 정보를 보고 필요에 따라 RAM을 조정할 수 있습니다. Windows 2008 R2 SP1의 Hyper-V에서 동적 확장 메모리는 이러한 수준의 모니터링 및 관리에 대한 필요성을 경감시켜 줄 것입니다. 그때까지는 각 VM에서 이러한 동적 메모리 정보를 검토하여 통합 수준을 높일 수 있습니다.
네트워크 I/O에서 가장 중요한 고려 사항은 작업 부하에 충분한 포트와 처리량을 확보하는 것입니다. 내부 VM 스위치는 높은 처리량을 지원하지만 이는 가상 NIC(네트워크 인터페이스 카드)를 사용하여 VM 하드웨어 프로필을 구성하는 경우에 한합니다. 레거시 NIC는 100MB로 제한됩니다. 초기 배포에 레거시 NIC가 있는 경우 제거하고 다시 구성하는 것이 좋습니다. 기본 게스트 OS에서 지원한다면 가상 NIC를 사용하십시오.
클러스터링을 위해 iSCSI로 클러스터되는 호스트 컴퓨터의 경우 iSCSI 전용 부하 분산 구성의 Microsoft 다중 경로 IO에 두 개의 NIC를 할당하십시오. iSCSI 부하를 처리하는 동안 하트비트 통신에 이러한 NIC를 사용할 수 있습니다. 호스트 관리용으로 NIC 하나를 추가하고, 남은 NIC는 VM에 할당합니다.
일반적으로 마더보드에 두 개의 NIC가 있는 경우 최소한 4포트 NIC를 추가하는 것이 유용합니다. 네트워크 사용량이 많은 VM 작업 부하를 실행하는 경우(예: OS 배포 또는 사용량이 높은 파일 서버) 더 많이 두는 것이 좋습니다. 모든 NIC는 10GB여야 합니다.
백업 개선
백업의 경우 Hyper-V 지원 백업을 제공하는 System Center DPM(Data Protection Manager)의 기능이 뛰어납니다. 응용 프로그램별 백업도 제공합니다. 전체 VM을 백업하는 데는 응용 프로그램 인식 백업을 수행하는 것에 비해 장단점이 있습니다. DPM 2010의 새로운 기능 중 하나는 VHD를 탑재해서 VM 백업에서 직접 개별 파일 복구를 수행하는 기능입니다.
응용 프로그램 요구를 개별적으로 평가하십시오. 좋은 예는 SharePoint입니다. VM 백업만 사용해서 문서 라이브러리에서 문서를 복구하려면 SQL Server, 프런트 엔드 웹 서버, 도메인 컨트롤러를 사설 네트워크로 복원해야 합니다. 그 다음 라이브러리를 탐색해서 파일을 찾습니다. SharePoint 인식 응용 프로그램 백업이 가능하다면 문서 라이브러리를 다른 사이트에 복원한 다음 파일을 가져오기만 하면 됩니다.
SCOM이 있는 경우 가장 좋은 방법은 PRO(성능 및 리소스 최적화)를 구현하는 것입니다. PRO는 SCOM이 호스트와 개별 응용 프로그램 계층에서 모두 작업 부하를 모니터링하도록 합니다. 또한 CPU 팬 속도가 떨어지거나 작업 부하 요구 사항이 호스트 용량을 초과할 때 호스트에서 VM을 이동하는 것과 같은 일반적인 문제를 자동으로 처리합니다. 자세한 내용은 SCOM 및 VMM 통합 가이드를 참조하십시오.
도메인 컨트롤러를 가상화할 때 고려해야 할 문제도 몇 가지 있습니다. 기본적으로 도메인 컨트롤러의 스냅숏이나 백업은 복원할 일이 없어야 합니다. 이 가이드의 내용은 지금도 여전히 해당되며 도메인 컨트롤러 가상화의 세부 사항을 살펴보는 유용한 가이드입니다.
가상화와 Hyper-V는 리소스를 최대화하고 관리를 간소화하고 IT 비용을 줄일 수 있는 강력한 기술입니다. 가상 인프라를 배포하기 전에 준비를 철저히 하면 배포 과정의 골치 아픈 문제를 예방할 수 있습니다.