본문 바로가기

OS/Windows

Windows - Hyper-V VHDX 템플릿으로 VM 생성 및 관리하는 방법

728x90

Hyper-V를 사용하면서 동일한 환경을 가진 가상 머신(VM)을 여러 개 생성해야 하는 경우가 많습니다.

이럴 때 VHDX 템플릿을 활용하면 효율적으로 운영체제를 초기화하고 네트워크 설정까지 간단히 처리할 수 있습니다.

이번 글에서는 VHDX 템플릿의 개념, 초기화 방법(Sysprep), 네트워크 설정까지의 과정을 쉽게 설명드리겠습니다.


1. VHDX 템플릿이란?

VHDX는 Hyper-V에서 사용하는 가상 하드 디스크 형식입니다.
VHDX 템플릿은 운영체제 및 필수 소프트웨어가 사전 설치된 가상 디스크로 새로운 VM을 생성할 때 사용합니다.

VHDX 템플릿의 주요 장점

  1. 시간 절약
    • 운영체제와 필수 소프트웨어를 반복 설치하지 않아도 됩니다.
  2. 환경 표준화
    • 동일한 설정을 가진 VM을 쉽게 생성할 수 있습니다.
  3. 유지보수 간소화
    • 템플릿을 업데이트하여 모든 VM에 일관된 환경을 제공합니다.

2. 왜 Sysprep이 필요한가?

Sysprep(System Preparation Tool)은 Windows 운영체제를 초기화하는 Microsoft의 공식 도구입니다.
VM을 복사해 사용하는 경우, 시스템 고유 정보가 중복되어 네트워크 충돌, 도메인 연결 문제 등이 발생할 수 있습니다.
Sysprep은 이를 방지하고, 새로운 VM이 고유한 환경에서 실행되도록 보장합니다.

Sysprep의 주요 기능

  • SID 초기화: 시스템 고유 식별자 (예: SID, 컴퓨터 이름) 를 재설정하여 VM 간 충돌 방지
  • OOBE(Out-of-Box Experience) 실행: 새 시스템 설정 화면 제공
  • 사용자 데이터 초기화: 바탕화면, 사용자 계정 등 불필요한 데이터를 제거

3. VHDX 템플릿 만드는 방법

1) 기본 환경 설정

  1. Hyper-V에서 새 VM 생성
    • 적절한 디스크 크기와 운영체제를 선택하여 VM 생성
  2. 필수 소프트웨어 설치
    • 예: Google Chrome, Notepad++, 반디집 등
  3. C:\ 드라이브에 데이터 폴더 생성
    • Sysprep 후에도 유지되도록 중요한 파일은 C:\Scripts, C:\Data와 같은 경로에 저장

2) 초기화 및 네트워크 설정 배치 파일 준비

Sysprep 및 네트워크 설정 작업을 쉽게 수행하기 위해 아래 두 개의 배치 파일을 생성합니다.

  1. Sysprep 실행용 배치 파일 (VMInitialization.bat)
    @echo off
    REM Sysprep 실행 배치 파일
    echo VM을 초기화하고 재부팅합니다...
    C:\Windows\System32\Sysprep\Sysprep.exe /generalize /oobe /reboot
    pause

  2. Network 설정용 배치 파일 (SetupNetwork.bat)
    @echo off
    REM 네트워크 설정 배치 파일 (사용자 입력 기반)
    
    REM [1] 네트워크 어댑터 이름 변경
    netsh interface set interface name="이더넷 1" newname="Public"
    netsh interface set interface name="이더넷 2" newname="Priv"
    
    REM [2] Public 네트워크 설정 (입력받아 설정)
    set /p PublicIP=Public 네트워크 IP 주소를 입력하세요 (예: 192.168.1.20): 
    set /p PublicSubnet=Public 네트워크 서브넷 마스크를 입력하세요 (예: 255.255.255.0): 
    set /p PublicGateway=Public 네트워크 게이트웨이를 입력하세요 (예: 192.168.1.1): 
    set /p PublicDNS=Public 네트워크 DNS 서버를 입력하세요 (예: 8.8.8.8): 
    
    netsh interface ip set address name="Public" static %PublicIP% %PublicSubnet% %PublicGateway%
    netsh interface ip set dns name="Public" static %PublicDNS%
    
    REM [3] Priv 네트워크 설정 (입력받아 설정)
    set /p PrivIP=Priv 네트워크 IP 주소를 입력하세요 (예: 10.0.0.20): 
    set /p PrivSubnet=Priv 네트워크 서브넷 마스크를 입력하세요 (예: 255.255.255.0): 
    set /p PrivGateway=Priv 네트워크 게이트웨이를 입력하세요 (예: 10.0.0.1): 
    set /p PrivDNS=Priv 네트워크 DNS 서버를 입력하세요 (예: 1.1.1.1): 
    
    netsh interface ip set address name="Priv" static %PrivIP% %PrivSubnet% %PrivGateway%
    netsh interface ip set dns name="Priv" static %PrivDNS%
    
    echo 네트워크 설정이 완료되었습니다.
    pause
    • 인터페이스 명을 확인하여 파일 수정 필요

3) 배치 파일을 Default 프로필에 복사

Sysprep 후에도 배치 파일이 유지되도록, 위에서 만든 파일을 Default 사용자 프로필에 복사합니다.

xcopy "C:\Scripts\VMInitialization.bat" "C:\Users\Default\Desktop" /Y
xcopy "C:\Scripts\SetupNetwork.bat" "C:\Users\Default\Desktop" /Y

 


4. Sysprep 실행 및 초기화

Sysprep 실행

  1. 템플릿 VM에서 VMInitialization.bat 파일을 실행합니다.
  2. Sysprep이 완료되면 시스템이 재부팅됩니다.
  3. 초기화된 상태에서 새로운 SID와 사용자 설정이 적용됩니다.

5. Network 설정

Network 설정

  1. 재부팅 후 바탕화면에 복사된 SetupNetwork.bat을 실행합니다.
  2. 실행 중 요청되는 정보를 입력하여 네트워크 설정을 완료합니다

6. 유의사항 및 최적화 팁

  1. C:\ 드라이브의 폴더는 삭제되지 않음
    • Sysprep은 사용자 프로필만 초기화하며, C:\에 저장된 데이터는 유지됩니다.
  2. Default 프로필 활용
    • Sysprep 후에도 필요한 배치 파일과 기본 설정을 Default 프로필에 복사하면 초기화 후에도 유지됩니다.
  3. 템플릿 주기적 업데이트
    • VHDX 템플릿을 최신 운영체제 및 소프트웨어 상태로 유지하여 효율성을 극대화하세요.

결론

Hyper-V에서 VHDX 템플릿을 활용하면 운영체제 설치와 설정 시간을 대폭 절약할 수 있습니다.
Sysprep을 통해 템플릿을 초기화하고, 네트워크 설정까지 완료하면 표준화된 VM을 빠르게 배포할 수 있습니다.
효율적인 VM 관리를 위해 템플릿화 작업을 적극 활용해 보세요!

728x90
반응형