Hyper-V에 Ubuntu 16.04 LTS 설치

MS의 참고 글

에 따라

  1. 보안 부팅 사용을 해제하고
  2. Ubuntu 16.04 LTS를 설치한 후
  3. 아래의 명령으로 추가 패키지를 설치한다
apt-get update
apt-get -y install linux-virtual-lts-xenial linux-tools-virtual-lts-xenial linux-cloud-tools-virtual-lts-xenial linux-image-virtual

마지막으로 2세대 VM을 만들었다면 아래 과정을 진행

cd /boot/efi/EFI
sudo cp -r ubuntu/ boot
cd boot
sudo mv shimx64.efi bootx64.efi

Hyper-V 네트워크 초기화 방법 (Win 2008 R2 SP1 기준)

출처: [Hyper-V Server 2008 R2 SP1 – Error Applying New Virtual Network Changes – SP1 Specific Fix]


가상 네트워크 변경 사항을 적용 도중에… 다른 가상 네트워크에서 바인딩 되었다며 오류가 날 때에…
이건 뭥미? 누가? 언제? 바인딩 한적 없거든~~~
이런 상황이면…


1. 관리자 권한 명령 프롬프트를 연다
2. netcfg -u vms_pp
3. netcfg -l C:\Windows\winsxs\amd64_wvms_pp.inf_31bf3856ad364e35_6.1.7601.17514_none_c10b98cd0801eba6\wvms_pp.inf -c p -i vms_pp
4. shutdown -r -t 0 -f
5. Hyper-V 관리자에서 가상 스위치 다시 만든다

위에서 -l (location) 옵션의 경로는 현재 winsxs 경로에서 amd64_wvms_pp.inf 로 시작되는 폴더 중에 최신 버전이고 드라이버 파일이 존재하는 폴더를 지정하면 됩니다.
종종 DLL 파일만 있는 폴더가 있으니 주의!

Hyper-V 관리자 없이 바로 가상머신 접속하기

Process Explorer 를 보던 중에
vmconnect.exe 라는 프로세스의 command line 이 보여 해보니… 잘 되네요


“C:\Program Files\Hyper-V\vmconnect.exe” “호스트이름” “가상머신이름” -G “GUID” -C “0”


요렇게 해서 바로 가기 만들어 PATH 에 넣고 실행창에서 바로 접속합니다.


여기서 GUID 는 가상 머신이 올라가있는 호스트컴퓨터에 가보면
가상머신 경로에
“GUID”.xml 로 가상머신 설정이 담긴 XML 파일이 있는데 이 파일의 이름입니다.

Hyper-V 오류 – 작업이 실패했습니다.

회사에서 Hyper-V 를 개발 테스트용으로 설치해서 사용중인데요



이거 뭐 Vista 머신에서 원격으로 관리자가 붙질 않아서 하루 종일 고생했습니다.


“작업이 실패했습니다.”
이런 식의 메시지… 아 한글 메시지가 기억이 안나네요.
영문으로는
The operation on computer ‘hostname’ failed.
요렇게 뜹니다.


이거 한참 헤매었는데 이런 글이 있네요.



I ran into this problem as well on my PE2950 w/ Win2k8 x64 and Broadcom NetXtreme II NICs. To resolve it open the Broadcom Advanced Control Suite and disable IPv4 Large Send Offload and your problem will be solved.


대충 번역하자면…
Broadcom NetXtreme II NIC 카드에서 IPv4 Large Send Offload 를 disable 했더니 해결되더라.
입니다.
이거 어디서 설정하는지 모르시는 분은 직접하시지 마세요. ^_^

Hyper-V 설치하기

역시 MS의 제품은 설치는 쉬우나 설정은 그닥 쉽지 않군요.
이전 글에서 간단하게 설명했는데… 그 설치에 관한 글입니다.

 

0. 현재의 환경
도메인 환경이 아니고
사내에 있는 서버에 Windows Server 2008 with Hyper-V Korean 를 설치했고
Core 설치는 아니고 일반 설치
클라이언트 환경은 Vista x86 입니다.

 

1. Hyper-V 역할 설정
서버 관리자 (시작>관리도구>서버 관리자)를 실행
왼쪽 트리에서 역할 선택
오른쪽에서 역할 추가 선택
Hyper-V 선택 (NAT 필요시에는 네트워크 정책 및 액세스 서비스 추가 선택)
설치하기
여기서 주의할 사항은… Windows Server 2008 설치하고 나서 바로하면 ‘시험판’ 이라는 문구가 나온다는 것.
서비스 실행이 안됩니다. Windows Update를 완료하시고 역할 추가 하세요.
설치가 끝나면 Local Host에서는 Hyper-V가 작동합니다.
이후 2번 부터는 원격에서 Hyper-V 관리자를 통해 관리하기 위한 설정입니다.

 

2. WMI 방화벽 설정
Core의 경우 netsh을 통해서, 일반 설치의 경우 netsh 또는 고급 보안이 설정된 Windows 방화벽(시작>관리도구>고급 보안이 설정된 Windows 방화벽)을 통해서 설정할수 있습니다.
기본으로는 모두 비활성화 되어 있는데, 인바운드, 아웃바운드 규칙에서 WMI 관련된 것을 모두 활성화 시켜 주세요.
BS의 경우는 인아웃 합계 4개가 있군요.
여기에서는 방화벽 설정에 대한 것은 간단히 넘어가겠습니다.

 

3. DCOM 보안 설정
DCOMCNFG 를 실행하면 구성 요소 서비스 라는 창이 뜹니다.
왼쪽 트리에서 콘솔 루트>구성 요소 서비스>컴퓨터>내 컴퓨터 를 선택하고 우클릭하여 속성창을 엽니다.
COM 보안탭으로 가서 시작 및 활성화 권한 그룹의 제한 편집 버튼을 누릅니다.
여기에 원격 관리를 원하는 그룹/사용자를 추가하고 원격 시작, 원격 활성화 권한을 부여합니다.

 

4. WMI 권한 부여
WMI에 대한 설명은 생략하고, Hyper-V는 WMI를 사용하여 관리를 하므로 WMI에도 그룹/사용자 권한이 있어야 합니다.
컴퓨터 관리(시작>관리도구>컴퓨터 관리)를 실행합니다.
왼쪽 트리에서 컴퓨터 관리(로컬)>서비스 및 응용 프로그램>WMI 컨트롤 을 선택합니다.
WMI 컨트롤에서 우클릭으로 속성창을 엽니다.
속성창의 보안 탭에서 Root>CIMV2와 Root>virtualization 두 항목에 대해 아래와 같이 작업합니다.
트리에서 항목 선택
보안 버튼 클릭
보안 창에서 고급 클릭
고급 보안 설정 창에서 추가 클릭
원하는 그룹/사용자 입력
권한 항목에서 적용 대상은 이 네임스페이스와 하위 네임스페이스 선택
사용 권한은 원격으로부터 사용 가능 선택
이 컨테이너에 있는 개체 및/또는 컨테이너에 사용 권한 적용 체크 박스 선택
확인을 눌려 저장함
이렇게 해서 CIMV2와 virtualization 항목의 보안 옵션을 조정합니다.

 

5. Hyper-V 관리자 권한
요것도 그냥 Administrator 만 설명합니다.
다른 설정은 알아서 공부하세요…
(OS의 관리자가 아닌 Hyper-V의 Administraotr입니다. 혼동하지 마시길)
AZMAN.MSC를 실행합니다. (권한 부여 관리자)
왼쪽 트리에서 권한 부여 관리자 항목을 우클릭하여 권한 부여 저장소 열기 를 선택합니다.
Hyper-V 권한 부여 저장소 파일은 \Programdata\Microsoft\Windows\Hyper-V\InitialStore.xml 파일입니다.
찾아보기 눌려서 \Programdata 를 파일명으로 적으면 위에 리스트에 Microsoft 폴더 뜨니 그때부터 마우스로 선택~~~
열고 나면 왼쪽 트리에 Hyper-V에 관한 항목이 추가됩니다.
권한 부여 관리자>InitialStore.xml>Hyper-V services>역할 지정>Administrator 항목을 선택하면
왼쪽에 Hyper-V Administrator에 지정된 Windows 계정 정보가 나옵니다.
거기에 원하는 그룹/사용자를 추가합니다.

 

6. 재부팅~~~

이렇게 하면 원격에서 Hyper-V 관리자를 통해 접속됩니다.

 

그럼 클라이언트 설정을 해 보겠습니다.

MS 홈페이지의 다운로드 센터에서 아래를 검색합니다.
(물론 한글 기준~ 영문은 알아서~~~ BS 는 한국 사람~~~)
Hyper-V 원격 관리
요렇게 검색하면 x86 (32비트), x64 (64비트) 용 업데이트 (KB952627) 이 나옵니다. 원하시는 버전을 받아 설치하시면
Vista에 Hyper-V 관리자 가 설치되고
Hyper-V 관리자에 서버 연결 기능으로 원격 서버에 접근할 수 있습니다.
하지만 그냥은 안됩니다. 역시나 권한, 보안 옵션 설정이 필요합니다.

 

1. 방화벽 설정
역시 WMI 인아웃바운드 설정 해주시기 바랍니다.
클라이언트는 MMC.exe가 Hyper-V 관리자 mmc 를 가지고 관리하니깐 WMI 방화벽 설정에 추가로
mmc.exe가 방화벽에서 예외가 되는 프로그램으로 등록되어야 합니다.
방법은? 알아서 해주세요~ 지금은 방화벽 설정 설명이 아니니까요~

 

2. DCOM 설정
서버 또는 클라이언트가 모두 도메인 환경을 사용하지 않으면 DCOM이 익명으로 접근한다고 합니다.
그래서 DCOM 설정을 했습니다.
역시 DCOMCNFG 를 실행해서 내 컴퓨터 속성을 열고
COM 보안 탭으로 갑니다.
클라이언트는 액세스 권한 그룹의 제한 편집을 선택합니다.
ANONYMOUS LOGON 그룹의 원격 액세스를 허용하도록 설정하세요

 

3. 네트워크 암호 설정
클라이언트와 서버에서 Windows 계정 정보가 다른 경우 접속 불능…
그래서 이렇게 해야 합니다.
클라이언트 Vista의 시작 메뉴를 누릅니다.
그럼 유저 그림 뜨죠? 저는 강아지로 해 놓고 쓰는데 말이죠~ 축구공도 많이들 하시고… 하는 그 그림!!!
그거 누르시면 제어판>사용자 계정 누른 그 창이 뜹니다.
왼쪽 작업 항목에서 네트워크 암호 관리 를 선택합니다.
그리고 추가 누르시고 서버 이름에는 IP 주소 말고 서버 이름을 입력하시고~~
사용자는 <서버 이름>\<아무개> 이런 식으로 입력하시고
암호 입력하시면 됩니다.
CMDKEY 라는 명령어를 사용하셔도 됩니다. (클라이언트 설정인데 굳이 명령 프롬프트 사용하실 일이 있을까나?)

자 이제~~~ Hyper-V 관리자를 통해 확인합니다.
뭐라구요? 접속이 안된다구요? 혹시 관리자에서 서버 이름을 IP 주소가 아닌 서버 이름으로 입력하셨나요?
원격 서버에 설정을 하지 않으면 그렇게 접속이 안됩니다. 그건 원격지의 서버 방화벽 설정을 수정해 보세요.
뭐라구요? 접속은 되는데 권한 어쩌구가 나온다구요?
네 권한 설정이 안 된 것 맞습니다. BS의 경우 해당 계정이 Administrators 그룹에 있고,
위 서버 설정에서 권한 설정에 모두 Administrators 그룹이 있는데도 불구하고
접속하면 권한 없다고 나오는군요… 이유는? 모르겠습니다. 참고로 저는 서버 관리자가 아니고 서버 프로그래머 입니다…
그래서 직접 해당 계정을 권한 설정에 모두(WMI, DCOM, Hyper-V) 추가하니 음… 되네요…

 

그림 하나 없고 글이 길어 힘드시면…
http://blogs.technet.com/koalra (꼬알라의 하얀집)
여기 가셔서 “Hyper-V의 원격 관리”로 검색해 보세요