Hyper-V (27)
Windows 10 Hyper-V NAT 문제

Windows 10 Hyper-V 설치 후 ICS를 통해 NAT 구성시 문제가 발생되네요.

아래글과 같이 NAT를 구성했는데,



처음 구성했을때는 잘 되는데 PC를 재부팅하면 대부분 NAT 기능이 정상적으로 동작하지 않아 VM간, VM과 Host간 통신이 불가능한 상태가 반복됩니다. 이 문제는 가상스위치를 재구성하고 OS를 재설치해도 동일하게 반복되는 문제더군요.


그래서.

GUI가 아닌 PowerShell을 통해 NAT 구성을 진행하니 현재까지는 문제 없이 잘 동작하고 있습니다.

만약 저와 동일한 문제라면 아래와 같이 진행해 보시는것도 방법일듯합니다.


#기존 가상 스위치는 삭제하고 진행합니다.

#파워쉘은 관리자 권한으로 실행합니다.

#아래 예제는 'NAT' 라는 이름의 '내부' 타입의 가상 스위치 생성하여 192.168.100.0/24 네트워크에 192.168.100.1 게이트웨이를 가지는 NAT 네트워크를 구성하는 예제 입니다.



1. 가상 스위치 생성

New-VMSwitch -SwitchName "가상스위치이름" -SwitchType <Internal | External | Private>

  ex) New-VMSwitch -SwitchName "NAT" -SwitchType Internal


2. IP 구성

New-NetIPAddress -IPAddress <NAT GW IP> -PrefixLength <Subnet Prefix> -InterfaceAlias <"vEthernet (가상스위치이름)">

  ex)New-NetIPAddress -IPAddress 192.168.100.1 -PrefixLength 24 -InterfaceAlias "vEthernet (NAT)"


3. NAT 구성

New-NetNat -Name <NAT Network Name> -InternalIPInterfaceAddressPrefix <NAT Subnet Prefix>

  ex)New-NetNat -Name "NAT Network-01" -InternalIPInterfaceAddressPrefix 192.168.100.0/24


4. VM 설정 변경

VM의 '설정' 메뉴로 이동하여 '네트워크 어댑터' 항목의 '가상 스위치'를 방금 설정한 'NAT' 로 선택해줍니다.



위의 방법이 오로지 NAT를 구성하기 위한 명령은 아닙니다.

GUI가 아닌 PowerShell을 통해 가상 스위치 구성하는 방법이니 내부, 개인, 외부 타입의 모든 가상스위치 생성 및 구성 가능합니다.





  Comments
댓글 쓰기
Hyper-V 가상머신 생성

Hyper-V 에서 가상머신 생성 하는 방법입니다. 아래의 예제는 Windows Server 2012 R2에서 가상머신을 만드는 방법입니다.


 



1. HyperV 관리 콘솔에서 가상컴퓨터 생성 시작




2. 다음



3. 가상 컴퓨터의 이름을 지정하고 가상 컴퓨터의 구성 파일이 저장될 위치 지정



4. NT 커널 6.1까지는 1세대로 지정. 6.2커널 부터는 2세대 지정.

6.1 커널 : Windows 7, 2008 R2

6.2 커널 : Windows 8, 2012



5. 가상 컴퓨터의 메모리(RAM) 용량 지정



6. 생성되어있는 가상스위치 중 어떤 곳에 연결할지 선택



7. 새로운 가상 하드디스크 생성

- 가상 하드디스크의 "이름" 지정.

- 가상 하드디스크가 저장될 "위치" 지정

- 가상 하드디스크의 "크기" 즉, 용량 지정



8. 가상 컴퓨터에 설치 할 OS의 ISO 파일 찾아보기 버튼으로 선택



9. ISO 파일 선택



10. 선택한 ISO 파일 확인



11. 반드시 요약 정보를 확인하고 이상이 없으면 마침.



12. 생성된 가상 컴퓨터 확인.



끝.



  Comments
댓글 쓰기
Hyper-V 리눅스 통합서비스 설치

Hyper-V의 가상머신으로 운영중인 리눅스 머신에 통합 서비스 설치하는 방법입니다.


먼저 아래의 통합서비스 디스크 파일을 다운로드 합니다.



이후 아래의 그림을 참고하여 설치를 완료할 수 있겠습니다.









1. 가상머신을 우클릭하여 '설정' 메뉴로 이동





2. DVD 드라이브 항목에서 ISO 파일을 선택해야 하므로 '찾아보기' 선택





3. 처음에 다운로드 받은 통합 서비스 설치 디스크를 선택 후 '열기'





4. 선택한 ISO 파일 확인 후 '확인'버튼으로 설정 저장





5. 설치 작업을 수행하기 위해 '터미널' 실행





6. 일반 사용자 권한으로는 작업이 불가능하기 때문에 root 사용자로 전환





7. cdrom을 마운트 하기 위해 /mnt 디렉토리에 cdrom 이라는 새로운 디렉토리 생성





8. cdrom 마운트 수행





9. 마운트 한 디렉토리로 이동하여 디렉토리 내의 목록을 살펴보면 아래와 같이 여러 버전의 디렉토리가 존재합니다.





10. 디렉토리 목록 중 자신의 버전과 맞는 디렉토리로 이동합니다. 예제에서 사용한 OS는 CentOS 6.7버전이기 때문에 RHEL67 디렉토리로 이동합니다. 이후 디렉토리 목록을 보면 여러 rpm 파일과 'install.sh' 설치 스크립트가 있습니다.





11. 설치 스크립트를 실행하여 설치 작업을 시작합니다.





12. 설치가 완료되었습니다.





13. 설치 완료 후 재부팅을 요구하였으므로 시스템을 재 부팅합니다.





14. 재부팅 중이며, 이제 모든 작업이 종료 되었습니다.





  Comments
댓글 쓰기
통합서비스의 게스트 서비스

Hyper-V 게스트 서비스

Hyper-V 의 '통합 서비스'의 기능을 살펴보면 '게스트 서비스' 라는것이 있습니다.

이 '게스트 서비스'는 실제 호스트의 파일을 가상머신에게 복사 할 수 있는 파워쉘 명령어를 지원하기 위한 기능입니다.


가상머신이 네트워크에 연결되어 있지 않다거나 1세대 가상머신이라 고급세션을 사용하지 못하거나 게스트머신이 리눅스OS를 운영하고 있어 파일 복사가 난감했다면 아래 그림과 같이 '통합서비스'의 '게스트 서비스'를 활성화하여(기본값은 비활성화) 파일을 복사 할 수 있겠습니다.

단, 1세대 가상머신이거나 게스트OS가 리눅스일경우 통합서비스 업그레이드후 사용 가능합니다.


[참고]




게스트 서비스



명령어의 사용법은 아래와 같습니다.

Copy-VMFile <"가상머신이름"> -SourcePath <실제 호스트 파일의 전체 경로> -DestinationPath <가상머신에 복사될 경로> -FileSource Host



[예제]


1. C드라이브의 test.txt 파일을 가상머신 2012R2의 C드라이브에 get-host.txt 라는 파일명으로 복사

Copy-VMFile "2012R2" -SourcePath c:\test.txt -DestinationPath d:\get-host.txt -FileSource Host


2. D드라이브의 pic.jpg 파일을 가상머신 2008R2의 C드라이브에 이름 변경 없이 복사 

Copy-VMFile "TEST-2008R2" -SourcePath c:\a.pdf -DestinationPath d:\ -FileSource Host


3. C드라이브의 ttf.rpm 파일을 가상머신 CentOS의 /home/delmaster/Desktop으로 이름 변경 없이 복사

Copy-VMFile "CentOS" -SourcePath c:\ttf.rpm -DestinationPath /home/delmaster/Desktop -FileSource Host


  Comments
댓글 쓰기
명령어를 이용한 가상 디스크 생성 및 초기화

파워쉘 명령어와 diskpart 명령을 이용한 가상 디스크 생성 및 초기화 방법입니다.


Powershell 실행 - 반드시 관리자 권한으로 실행되어야 합니다.

시작 > 실행 > cmd > powershell


가상 디스크 생성

D드라이브에 c.vhdx 라는 이름으로 10GB 용량의 동적 디스크 생성

만약 고정 디스크로 생성하고 싶다면 -fixed 옵션 추가

new-vhd -path d:c.vhdx -sizebyte 10GB


Diskpart 실행 - 파워쉘 창에서 입력

diskpart


가상 디스크 선택

select vdisk file=d:\c.vhdx


가상 디스크 연결

attach vdisk


가상 디스크 파티션 생성

create partition primary


가상 디스크 포맷

format quick


가상디스크 드라이브 문자열 할당

assign


Diskpart 명령어 종료

exit


모든 작업이 완료 되었으며,

가상 디스크는 실제 컴퓨터의 내컴퓨터 항목에 나타나게 됩니다.




만약 해당 가상 디스크 사용을 완료하고 연결 해제 하고 싶다면 아래의 명령어를 통해 연결 해제 할 수 있습니다.

가상디스크 연결 해제 방법 - 파워쉘에서 실행

dismount-vhd d:\c.vhdx


  Comments
댓글 쓰기
Hyper-V 고급 세션 모드

[고급 세션 모드]

호스트의 파일을 가상머신으로 복사할 수 있게 지원

고급 세션 모드가 지원되지 않는다면 가상 머신으로 파일 복사는 불가능하며, 문자만 복사 가능하다.

 

- 사용할 수 있는 조건
     Hyper-V 서버 : 2012 이상

     가상 OS : Windows 8 이상
                   Windows 2012 이상




Hyper-V 관리 콘솔에서 더블클릭으로 창을 띄울때 볼 수 있는 고급 세션모드 연결에 관한 창





기본 모드로 연결되었다면 다음 버튼을 통해 고급 세션모드로 변경 가능합니다.




고급 세션 모드에서 아래와 같이 실제 호스트에 있는 파일을 우클릭하여 복사한 뒤,



가상머신에서 우클릭하여 붙여 넣기 하면



아래 그림과 같이 잘 복사 됩니다.



기본세션에서는 파일 복사는 불가능하고 텍스트만 가능합니다.



  Comments
댓글 쓰기
가상머신 없이 VHD에 OS 설치

[필수 조건]

1. Convert-WindowsImage.ps1 스크립트 필요 (아래 파일 다운)

2. Powershell 버전 3.0 이상

3. 설치하려는 OS의 커널넘버가 NT6.0 이상(클라이언트는 VISTA 부터 가능, 서버는 2008 버전 부터 가능)

 

 

 

[옵션]

   -SourcePath <설치할ISO파일경로>

   -VHDPath <가상디스크파일이생성될확장자포함경로>

   -VHDFormat <VHD|VHDX>

   -Edition <ServerEnterprise|ServerEnterpriseCore|ServerDataCenter|ServerDataCenterCore>

   -VHDPartitionStyle <MBR|GPT>

   -RemoteDesktopEnable

   -Feature <dism명령의설치명>

       dism /online /get-feature 명령을 통해 확인

   -Verbose

   -VHDType <fixed|dynamic> : 기본 dynamic

   -SizeByte <용량> : 기본 40GB

 

   -ShowUI : GUI 화면 모드로 실행(권장하지않음)

 


* 스크립트 실행 시 [보안 오류: (:) [], PSSecurityException] 발생 할때 아래의 명령어를 파웨쉘에 입력

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

 


[스크립트 사용 방법]

.\Convert-WindowsImage.ps1 -SourcePath "<설치할 ISO파일의 경로>" -VHDPath "<생성될 VHD 또는 VHDX파일의 전체경로>" -VHDFormat <VHD또는 VHDX> -VHDPartitionStyle <MBR또는 GPT> -Edition <서버OS의 경우 설치할 에디션 입력> -Verbose

 

[ Windows 10에서 스크립트 사용 방법]

Import-Module .\Convert-WindowsImage.ps1 <엔터>

convert-windowsimage -SourcePath "<설치할 ISO파일의 경로>" -VHDPath "<생성될 VHD 또는 VHDX파일의 전체경로>" -VHDFormat <VHD또는 VHDX> -VHDPartitionStyle <MBR또는 GPT> -Edition <서버OS의 경우 설치할 에디션 입력> -Verbose

 



[예제]

* 2012 R2

   .\Convert-WindowsImage.ps1 -SourcePath "D:\2012R2.ISO" -VHDPath "C:\HyperV\VHD\2012R200\2012R200.vhdx" -VHDFormat VHDX -Edition ServerStandard -VHDPartitionStyle GPT -Verbose

 


* 2008R2

   .\Convert-WindowsImage.ps1 -SourcePath "D:\2008R2.ISO" -VHDPath "C:\HyperV\VHD\2008R200\2008R200.vhdx" -VHDFormat VHD -Edition ServerEnterprise -VHDPartitionStyle MBR -Verbose

 


* Windows 7

   .\Convert-WindowsImage.ps1 -SourcePath "D:\Windowns7.ISO" -VHDPath "C:\HyperV\VHD\700\700.vhd" -VHDFormat vhd -VHDPartitionStyle MBR -verbose

 


  Comments
  • 안성군
    os는 2012r2 구요 .\convert-windowsimage -showui 해줬는데 아무런 반응이없습니다. 차단해제도 해줬습니다. .\convert-windowsimage -s까지만 누르고 tab키를 누르면 -sourcepath 가 저절로 쳐졌던걸로 기억하는데 저는 그것도 안됩니다. 일일이 명령어를 다쳐서 실행해도 아무런 반응이없네요.. 오류도 안뜹니다 그냥 아무런 반응이없습니다. 어떤게 문제인지 알려주시면 감사하겠습니다.관리자권한으로 powershell 실행했구요 스크립트보안해제 명령어도 해줬습니다.
    • 1.
      .\Convert-WindowsImage.ps1
      옵션없이 위와 같이 실행했을때 아래와 같은 오류가 발생한다면

      + CategoryInfo : 보안 오류: (:) [], PSSecurityException
      + FullyQualifiedErrorId : UnauthorizedAccess

      관리자 권한으로 실행된 Powershell에서 아래의 명령어 입력합니다.
      Set-ExecutionPolicy -ExecutionPolicy Unrestricted
      실행규칙 변경에 대한 메세지가 발생되면 '[y]예(Y)' 를 눌러 실행정책을 변경합니다.

      그래도 정상 실행되지 않는다면 아래의 2번을 진행합니다.
      2.
      다운로드받은 스크립트 파일을 우클릭하여 '속성' > '일반' 탭에서
      '특성' 아래에 '보안' 이라는 메세지가 보인다면 '차단해제' 체크박스에 체크한 뒤 '확인' 버튼을 눌러 창을 닫습니다.
      기존 Powershell창을 닫은 후, Powershell을 관리자로 재실행하여 실행해야합니다.

      그래도 정상 실행되지 않는다면 아래의 3번을 진행합니다.
      3.
      해당 스크립트를 Import 하여 사용하는 방법입니다.(Powershell은 관리자 권한으로 실행)
      스크립트 파일이 있는 경로로 이동하여 아래의 명령어를 통해 Import 합니다.
      Import-Module .\Convert-WindowsImage.ps1
      이후 아래와 같이 'Convert-WindowsImage' 라고 입력후 옵션을 입력하면 됩니다.
      PS D:\> Convert-WindowsImage -SourcePath
  • 안성군
    import하니까 됬습니다. 감사합니다!
  • 안성군
    리눅스를 설치하려고 하니까 'Path' 매개 변수가 null이므로 인수를 해당 매개 변수에 바인딩할 수 없습니다. 라는 오류가 나옵니다 리눅스는 convert-windowsimage 로 만들수 없나요? cent os 입니다
댓글 쓰기
Hyper-V 가상 디스크 유형

Hyper-V 가상 디스크 유형에 대한 설명입니다. VHD 파일과 VHDX 파일 모두 해당되어집니다.

성능을 위해서 VHDX 파일을 쓰는것을 권장합니다.

 


* 동적 디스크

         * 사용하는만큼 실제 디스크 공간 차지

         * 사용량이 증가할때 디스크 단편화 발생

 


* 고정 디스크

        * 지정한 크기로 실제 디스크 공간 차지

        * 기본 권장 사항

 


* 차이점 보관용

 

* 원본디스크에서 변경된 내용만 기록

* 차이점 디스크 생성방법( 참고 : [Windows Server] - Hyper-V 차이점 보관용 디스크 생성 방법)

* 새로만들기 > 하드디스크 > 디스크유형 > 차이점보관용 > 차이점보관용 디스크이름 지정 > 원본 디스크 선택

* 새로만들기 > 가상 컴퓨터 > 가상컴퓨터 이름지정 > "가상컴퓨터를다른위치에저장" > 이전단계에서 만든 차이점보관용 디스크이름과 동일한 이름의 폴더생성후 선택

   

   

* 기본적으로 고정디스크 사용. 테스트용도로 동적디스크 및 차이점보관용 사용

'Hyper-V' 카테고리의 다른 글

Hyper-V 고급 세션 모드  (1) 2015.09.08
가상머신 없이 VHD에 OS 설치  (5) 2015.06.16
Hyper-V 가상 디스크 유형  (0) 2015.06.12
Hyper-V 가상 네트워크 유형  (0) 2015.06.12
Hyper-V 서버 가상화  (0) 2015.06.11
SCVMM 2012 R2(2) - VM 템플릿  (1) 2015.03.31
  Comments
댓글 쓰기