윈도우 서버 2012 - Hyper-V의 새로운 기능 Live Migration
24GB 메모리로 퍽퍽하게 구성했던 테스트 시스템에 64GB 메모리의 시스템이 새롭게 추가되어 마음이 넉넉해졌는데요. ^^
64GB 램을 가진 새로운 작업 PC
; https://www.sysnet.pe.kr/0/0/442
더욱 즐거운 것은, 새롭게 2012에 추가된 "Live Migration" 기능으로 시스템 간 VM 이동이 너무나 간편해졌다는 점입니다. 기존의 Windows Server 2008 R2에서는 VM 이동을 하려면 우선 VM 인스턴스를 중지시키고 "Export..." 메뉴를 선택하여 내보내기한 다음, 그것을 대상 컴퓨터에 복사한 후 거기서 다시 "Import Virtual Machine..." 메뉴를 이용하여 가져오기를 하는 복잡한 절차를 거쳤습니다.
그런데, 이제는 Hyper-V 관리 콘솔에서 "Move..." 메뉴를 선택함으로써 VM 이동이 가능하다는 것 자체도 편리한데, 거기에다 VM 인스턴스를 멈출 필요가 없어 서비스가 중지되지 않는다는 대단한 장점이 있습니다. (물론, VMWare의 vSphere 같은 제품들에서는 이미 지원하던 기능이었지만, Hyper-V는 윈도우 라이선스만 있으면 무료라는 차이점이 있습니다.)
실제로 Live migration을 사용해 보니, 그 관리의 편이성에 웃음이 다 나왔습니다. ^^
우선, Live migration이 되려면 Hyper-V가 설치된 양측 컴퓨터 모두 "Live migration" 설정이 되어 있어야 합니다. 이 말인즉, 양쪽의 컴퓨터 모두 Windows Server 2012이어야만 가능한 기능입니다.
설정 방법은 Hyper-V 관리자에서 "Enable incoming and outgoing live migrations" 옵션을 켜주시면 됩니다.
세부 옵션을 통해서, 동시 마이그레이션을 할 인스턴스의 수와 IP를 지정할 수 있습니다. 이 중에서 IP 옵션 지정은 쓸만합니다. 왜냐하면, 호스트 머신에서 VM을 위해 할당된 네트워크 카드로 "live migration"을 지정하면 네트워크 대역폭에 문제가 발생할 여지가 있기 때문입니다. VM 인스턴스가 보통 수십 ~ 수백 GB에 달하기 때문에, 서비스 중인 VM들의 원활한 통신을 위해서는 별도의 네트워크 카드를 양측 Hyper-V 머신에 추가해서 분리된 네트워크 망을 이용하는 것이 권장됩니다. (또는, cross-cable 등으로 직접 연결하거나.)
참고로, 만약 sender PC에서 "Live migration" 설정이 안 된 경우 다음과 같은 오류가 나오고,
Live migrations are not enabled on this computer.
This computer is not configured for live migration of virtual machines. To enable live migration, modify the Hyper-V settings.
receiver PC에서 설정이 안 된 경우에는 다음과 같은 오류가 "Move..." 기능을 사용할 때 발생합니다.
The destination computer "..." is not configured to send or receive live migrations of virtual machines. To fix this problem, modify the Hyper-V settings on the destination computer.
The destination computer is not configured to send or receive live migrations of virtual machines.
그 외, 강제 사항은 아니지만 2가지 정도 구성을 맞춰주는 것이 좋은데요. 하나는, Hyper-V 호스트 측의 하드 디스크 구성입니다. 예를 들어, 이동하려는 VM이 sender PC에서는 "E:\" 드라이브에 있었는데, receiver PC에서는 C와 D드라이브만 있다면 "Move..." 기능 사용 시에 다음과 같은 오류 화면이 나옵니다.
There was an error during move operation.
Virtual machine migration operation failed at migration destination.
Failed to create planned Virtual Machine at migration destination.
Failed to create external configuration store at 'E:\...\win2008r2': The system cannot find the path specified.. (0x80070003)
오류라고는 하지만, 위의 메시지를 뿌려준 후 새롭게 복사될 폴더를 지정할 수 있는 화면이 제공되기 때문에 마이그레이션 작업에는 영향이 없지만, 그래도 관리의 편이성을 생각하면 양측 모두 유사한 디스크 환경을 마련해 주는 것이 좋을 듯 싶습니다.
또 다른 하나도 마찬가지 형식의 오류인데요. 보통 Hyper-V 호스트 측에서 네트워크 카드를 VM 측에 가상화로 제공해 주면서 "Virtual Switch"를 만드는데, sender PC의 Hyper-V에서는 "TestNet"이라는 이름으로 제공한 경우, receiver PC의 Hyper-V에 그 이름의 "Virtual Switch"가 없다면 오류가 발생합니다. 역시나 오류 화면이 뜨지만, receiver PC에서 제공되는 "Virtual Switch"를 지정할 수 있는 화면이 이어서 제공되기 때문에 마이그레이션을 계속할 수는 있지만, 관리상으로 보면 둘 다 똑같은 것이 좋기 때문에 역시 맞춰주는 것이 좋겠습니다.
이것으로 양측의 hyper-v에 대한 설정은 끝이 납니다.
이후, live migration을 하는 것은 너무나 쉽습니다. sender PC 측의 hyper-v 관리자에서 대상 VM을 선택하고 "Move..." 메뉴를 선택하는 것으로 시작되는데요.
VM을 옮길 것인지 / VM에 속한 storage 파일(예: vhd)을 옮길 것인지를 선택할 수 있습니다.
제 경우에는 VM으로 진행하고, 각각의 VM이 별도의 폴더로 관리되도록 "Move the virtual machine's data by selecting where to move the items." 옵션을 선택했습니다.
마지막으로, VHD 파일은 VM과 같은 경로에 놓이도록 "Move the virtual machine's data automatically"로 지정하면,
이후, VM이 대상 Hyper-V 머신으로 이동을 합니다. 물론 ^^ 번개처럼 이동하지는 않기 때문에 다음과 같이 진행 상태를 Hyper-V 관리 콘솔을 이용해서 확인할 수 있고,
위의 작업이 모두 완료되면, 원본 Hyper-V에서는 VM이 자동으로 삭제되고, 대상 Hyper-V에서 VM이 서비스를 계속하게 됩니다.
오~~~ 너무 멋지지 않나요? ^^
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]