달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Microsoft VDI(Virtual Desktop Infrastructure) 개요
윈도우 서버 이전 버전에서 터미널 서비스는 다중의, 그리고 동시에 사용자 세션을 호스트 하는 용도로 사용되었다. Windows Server 2008 R2가 되면서 터미널 서비스는 원격 데스크톱 서비스라는 이름으로 변경되었다.




시나리오
개인용 가상 데스크톱 – 관리자에 의해 사용자에게 영구적으로 지정된 가상 머신. 이러한 구성은 ADDS(Active Directory Domain Services)에 저장된다. 개인 가상 데스크톱은 사용자가 관리자 권한이 필요한 전용 가상 머신을 필요로 할 때 사용한다. (예: 응용 프로그램 설치)

가상 데스크톱 풀 – 동일하게 구성된 가상 머신들의 그룹. 이 가상 머신들은 Microsoft VID 시스템에 의해 사용자에게 임시로 할당된다. 관리자가 풀의 가상 머신을 구성한다.



Microsoft VDI 배포에 필요한 역할 서비스 및 기술

원격 데스크톱 연결 브로커 (RD Connection Broker)
이 역할 서비스의 주 목적은 아래와 같은 사용자 접속을 적절한 목적지(예: 전용 가상 머신)로 연결(Broker)시켜주는 역할을 한다.
- 사용자가 원격 접속을 하려고 하는 가상 머신의 식별
- 원격 데스크톱 가상화 호스트 서버와 통신해 원격 접속을 위한 가상 머신 준비
(예: 저장된 상태에 있는 가상 머신의 시작)
- 원격 데스크톱 가상화 호스트 서버와 통신해 가상 머신의 IP 주소 쿼리. 이 IP 주소는 리디렉션 모드로 실행 중인 원격 데스크톱 세션 호스트 서버로 반환된다.
- 가상 데스크톱 풀 시나리오에서 사용자 세션 모니터링. 풀에 기존 세션이 있는 사용자는 해당 가상 머신으로 리디렉션 된다.

리디렉션 모드로 실행 중인 원격 데스크톱 세션 호스트 (RD Session Host) 서버

리디렉션 모드로 실행 중인 원격 데스크톱 세션 호스트 서버는 RDP 클라이언트의 접속을 가상 머신으로 안전하게 리디렉션하는 역할을 한다. 리디렉션 모드로 실행 중인 원격 데스크톱 세션 호스트 서버는 사용자가 /admin 스위치를 통해 관리자 세션 연결을 요구하지 않는 이상 대화형 사용자 세션을 허용하지 않는다.


사용자가 가상 머신을 요청하면, 리디렉션 모드로 실행 중인 원격 데스크톱 세션 호스트 서버는 원격 데스크톱 연결 브로커 서버를 쿼리 한다. 원격 데스크톱 연결 브로커 서버는 사용자에 대한 가상 머신을 검색하고 해당 가상 머신의 IP 주소를 리디렉션 모드로 실행 중인 원격 데스크톱 세션 호스트 서버에 돌려준다. 그러면, 리디렉션 모드로 실행 중인 원격 데스크톱 세션 서버는 RDP 클라이언트의 접속을 가상 머신의 IP 주소를 이용해 리디렉션 한다.

원격 데스크톱 연결 브로커 역할 서비스와 리디렉션 모드의 원격 데스크톱 세션 호스트 서버를 그림에서와 같이 물리적으로 동일한 컴퓨터에 두는 것을 권장한다. 그러나, 리디렉션 모드로 실행 중인 원격 데스크톱 세션 호스트 서버와 원격 데스크톱 연결 브로커 역할 서비스를 분리하여 운용하는 방법 또한 지원된다.

원격 데스크톱 가상화 호스트 (RD Virtualization Host)
원격 데스크톱 가상화 호스트는 Windows Server 2008 R2에서 포함된 원격 데스크톱 서비스 역할이다. 원격 데스크톱 가상화 호스트는 개인용 가상 데스크톱이나 가상 데스크톱 풀에 사용되는 가상 머신들을 제공하기 위한 Hyper-V 역할과 통합된다.

원격 데스크톱 가상화 호스트 서버는 다음과 같은 기능을 가진다.
- 가상 머신의 세션을 모니터링하고 이 세션들을 원격 데스크톱 연결 브로커 서버로 전달
- 원격 데스크톱 연결 브로커 서버 요청 시 가상 머신에 대한 원격 데스크톱 접속 준비

원격 데스크톱 가상화 호스트 서버가 위 기능들을 수행하기 위해서는 게스트 운영체제에 원격 데스크톱 가상화 호스트 서버에게 권한을 주는 설정이 되어 있어야 한다. 아래 내용을 참고하여 가상 머신을 준비한다.

[참고] 원격 데스크톱 서비스를 위한 게스트 운영체제(가상 머신) 준비 절차
1. IP 설정 및 도메인 참가
2. 원격 데스크톱 연결 활성화
   ① 시스템 속성 -> 원격 탭으로 이동
   ② 네트워크 수준 인증을 사용하여 원격 데스크톱을 실행하는 컴퓨터에서만 연결 허용 선택 -> 확인
3. 로컬 원격 데스크톱 사용자 그룹에 가상 머신을 사용할 사용자 계정 추가
   ① 컴퓨터 관리 -> 로컬 사용자 및 그룹 -> 그룹
   ② Remote Desktop Users -> 속성 -> 추가 -> 도메인 사용자 계정 추가
4. 원격 데스크톱 서비스에 대한 원격 RPC 허용
   ① 시작 -> 실행 -> REGEDIT(레지스트리 편집기)
   ② HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer 이동
   ③ AllowRemoteRPC -> 편집 -> 1 로 수정 -> 확인
5. 원격 서비스 관리 방화벽 예외 설정
   ① 시작 -> 제어판 -> Windows 방화벽
   ② Windows 방화벽을 통해 프로그램 또는 기능 허용
   ③ 원격 서비스 관리 체크 -> 확인
6. 가상 머신에 RDP 권한 추가
원격 데스크톱 가상화 호스트 서버 컴퓨터 계정에 가상 머신에 대한 RDP 권한을 부여한 후 원격 데스크톱 서비스를 다시 시작한다. 이는 원격 데스크톱 가상화 호스트 서버의 컴퓨터 계정이 가상 데스크톱 풀의 각 가상 머신에 대해 다음 권한들이 필요하기 때문이다. WINSTATION_QUERY, WINSTATION_LOGOFF, WINSTATION_DISCONNECT
   ① 관리자 권한으로 명령 프롬프트 실행
   ② 다음 명령을 순차적으로 실행
      • wmic /node:localhost RDPERMISSIONS where TerminalName="RDP-Tcp" CALL AddAccount "<도메인>\\<원격 데스크톱 가상화 호스트 서버 컴퓨터 계정>$",1
      • wmic /node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='<도메인>\\<원격 데스크톱 가상화 호스트 서버 컴퓨터 계정>$'" CALL ModifyPermissions 0,1
      • wmic /node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='<도메인>\\<원격 데스크톱 가상화 호스트 서버 컴퓨터 계정>$'" CALL ModifyPermissions 2,1
      • wmic /node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='<도메인>\\<원격 데스크톱 가상화 호스트 서버 컴퓨터 계정>$'" CALL ModifyPermissions 9,1
      • Net stop termservice
      • Net start termservice
   ③ 가상 머신 로그 오프

원격 데스크톱 웹 액세스 (RD Web Access)
원격 데스크톱 웹 액세스는 사용자가 웹 브라우저를 통해 원격 응용 프로그램과 원격 데스크톱 연결을 통합해 볼 수 있도록 한다. 원격 데스크톱 웹 액세스를 사용하면 사용자는 자신에게 개시되어 있는 모든 원격 응용 프로그램과 가상 데스크톱(개인용 가상 데스크톱 및 가상 데스크톱 풀)을 볼 수 있다. Windows 7 클라이언트의 경우 VDI 가상 머신을 시작 메뉴에서 RADC(RemoteApp 및 데스크톱 연결) 기능을 통해 접근할 수도 있다.

[RemoteApp]


[RADC]


원격 데스크톱 게이트웨이(RD Gateway)
원격 데스크톱 게이트웨이는 VDI 배포에 있어 선택적인 역할 서비스이다. 주 목적은 인터넷 환경에서 RDP 클라이언트가 방화벽을 통해 RDP 접속을 할 수 있도록 안전하게 라우팅하는 것이며, 인터넷에 위치하는 원격 사용자와 내부 네트워크 자원의 보안 및 암호화 연결을 위해 RDP over HTTPS(TCP 443)를 사용한다.

:
Posted by 커널64
2009. 12. 28. 12:15

Windows Server 2008 R2 Hyper-V Linux ICs Virtualization2009. 12. 28. 12:15

Linux Integration Components for Windows Server 2008 Hyper-V R2
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=c299d675-bb9f-41cf-b5eb-74d0595ccc5c

다음 명령들을 통해 VM에 마운트 후 드라이버 설치
mkdir -p /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
cp -rp /mnt/cdrom /opt/linux_ic
umount /mnt/cdrom
cd /opt/linux_ic
perl setup.pl drivers

통합 서비스 중 시간 동기화의 체크 해제를 권장한다.

Linux VM은 1개의 CPU Core만 지원한다. 2개 이상의 CPU를 할당할 경우 다음 오류와 함께 중지되는 증상이 발생할 수 있다.
IBM TrackPoint firmware: 0x01, buttons: 0/0
input: TPPS/2 IBM TrackPoint as /class/input/input1


Virtualization with Hyper-V: Supported Guest Operating Systems
http://www.microsoft.com/windowsserver2008/en/us/hyperv-supported-guest-os.aspx

:
Posted by 커널64
2009. 12. 11. 11:54

Hyper-V의 VLAN Virtualization2009. 12. 11. 11:54

Hyper-V에서 VLAN을 설정하는 위치는 물리적인 NIC, 가상 스위치(호스트), 가상 머신(게스트)의 세 곳이다.
가상 스위치와 가상 머신은 오직 한 개의 VLAN ID만 할당될 수 있고, 물리적인 NIC에는 다수의 VLAN이 할당될 수 있다.

VLAN을 사용하는 이유
1. iSCSI와 같은 SAN 네트워크의 격리 (iSCSI 구성 시 전용의 스위치 및 물리적인 NIC 할당 권장)
2. 보안 상의 이유로 네트워크를 분리하는 경우
3. 추가적인 라우터나 장비없이 브로드케스트 도메인을 분리. (VLAN은 논리적인 브로드캐스트 도메인)

일반적으로, iSCSI SAN을 이용해 Failover Cluster를 구성하는 경우 다음과 같이 5개 또는 그 이상의 gigaE NIC가 필요하다.
- 호스트 관리 용도(1)
- 하트비트 용도(1)
- 가상 머신 용도(1 또는 그 이상)
- iSCSI w/ MPIO 용도(2 또는 그 이상)

다음은 4개의 NIC를 가지고 있는 서버의 예이다. 여기서 중요한 부분은 가상 머신이 사용하는 NIC #2가 연결되는 스위치의 포트는 가상 머신의 VLAN ID 사용을 위해서 트렁크 모드로 구성되어야 한다는 것이다.




Hyper-V의 가상 스위치 및 가상 네트워크의 개념도

:
Posted by 커널64
2009. 12. 8. 12:40

Hyper-V의 디스크 타입별 성능 비교 Virtualization2009. 12. 8. 12:40

Hyper-V의 디스크 타입 별 성능 비교
(Fixed VHD vs. Dynamic Expanding VHD vs. Pass-Through Disk)
http://clusteringformeremortals.com/2009/09/25/hyper-v-pass-through-disk-performance-vs-fixed-size-vhd-files-and-dynamic-vhd-files-in-windows-server-2008-r2/

결과를 정리하면, Pass-Through 디스크가 근소한 차이로 가장 좋은 성능을 보이나 VHD가 가지는 여러 장점(스냅샷 등)을 사용할 수 없게 된다. 그렇기 때문에 VHD의 제한 용량인 2TB이상의 디스크가 필요한 경우를 제외하면 Pass-Through 디스크 방식 보다는 VHD 방식을 권장한다. VHD 방식 중에서도 Dynamic Expanding 방식의 성능이 R2에서 크게 개선되어 Fixed 방식과 거의 동등한 성능을 보이므로 Dynamic Expanding 방식을 권장한다.

[참고]
IOPS(Input/Output operations Per Second)

일반적인 IOPS 값
SSD(Solid-state drive): 4,000 IOPS
Standard SATA hard drive: 75 IOPS
Western Digital Raptor 150GB: 126 IOPS
Seagate Savvio 2.5" 15K SAS: 183 IOPS
 

:
Posted by 커널64
2009. 11. 30. 09:17

SCVMM 2008 R2 Virtualization2009. 11. 30. 09:17

VMM 2008 R2 supports the following new features of Windows Server 2008 R2:

  1. Live migration between Windows Server 2008 R2 clustered hosts.
  2. Network optimization detection during virtual machine placement. VMM 2008 R2 supports both Virtual Machine Queue (VMQ) and TCP Chimney, which are Windows Server 2008 R2 features that improve network performance for virtual machines.
  3. Network adapters that support the VMQ feature are able to create a unique network queue for each virtual network adapter and then connect that queue directly to the virtual machine’s memory. This connection routes packets directly from the hypervisor to the virtual machine, bypassing much of the processing in the virtualization stack.
  4. Network adapters that support the TCP Chimney feature are able to offload the processing of network traffic from the networking stack. Both of these features increase network performance and reduce CPU utilization.
  5. Hot addition and removal of virtual hard disks (VHDs). In Windows Server 2008 R2, Hyper-V allows users to add and remove VHDs from a virtual machine while it is running.


Feature Bullet Summary:

  • Live migration
  • Clustered Shared Volume (CSV) support that enables multiple Highly Available Virtual Machines (HAVM) per LUN.
  • Hot add of storage
  • Support for VMware vSphere 4 (VMware VI3 feature parity only)
  • SAN Migration into and out of clustered hosts
  • Processor flexibility
  • Network optimization
  • Quick storage migration
  • Maintenance mode for hosts
  • Support for third party cluster file system, Sanbolic Melio FS
  • Support for third party storage class resource, Veritas Storage Foundation for Windows
  • Expanded support for iSCSI SANs
  • Support for VMware port groups for virtual switches
  • Support for Virtual Machine permissions assigned in Hyper-V
  • Dynamic policy based load balancing
:
Posted by 커널64
:
Posted by 커널64
2009. 11. 19. 10:52

unattend.xml 샘플 (SCVMM) Virtualization2009. 11. 19. 10:52

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-TerminalServices-LocalSessionManager"
           processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
           language="neutral" versionScope="nonSxS"
           xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fDenyTSConnections>false</fDenyTSConnections>
</component>
<component name="Microsoft-Windows-IE-ESC" processorArchitecture="amd64"
           publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
           xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<IEHardenAdmin>false</IEHardenAdmin>
</component>
</settings>
<settings pass="generalize">
<component name="Microsoft-ServerManager-SvrMgrNc" processorArchitecture="amd64"
          publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
          xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon>
</component>
<component name="Microsoft-Windows-OutOfBoxExperience" processorArchitecture="amd64"
          publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
          xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon>
</component>
</settings>
<settings>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64"
          publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
          xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
<AutoLogon>
<Password>
<Value>P@ssw0rd</Value>
<PlainText>true</PlainText>
</Password>
<Username>administrator</Username>
<LogonCount>1</LogonCount>
<Enabled>true</Enabled>
</AutoLogon>
</settings>
</unattend>

:
Posted by 커널64
2009. 10. 20. 22:57

Hyper-V Server 2008 R2 기능 Virtualization2009. 10. 20. 22:57

:
Posted by 커널64
2009. 9. 13. 18:53

Hyper-V Snapshot Virtualization2009. 9. 13. 18:53

스냅샷은 다음과 같은 파일들로 이루어진다.
- VM 설정 파일(.xml)
- Save State 파일(.bin, .vsv)
- 차등 디스크(.avhd): 스냅샷 이후의 작업에 사용되는 Working Disk 파일

VM을 생성하면 다음과 같은 하위 폴더와 데이터가 저장된다.
-  Snapshots
-  Virtual Machines:
원본 구성 파일: VM의 GUID 이름으로 저장(.xml)
하위 VM GUID 폴더: Save State 파일(.bin, .vsv)

VM GUID.xml 파일 - 현재 사용되고 있는 가상 디스크 파일(.vhd)을 가리키고 있다.
스냅샷 생성 이전 - Working Disk(.vhd) 파일에 모든 변경 데이터가 저장되고, Save State는 VM의 위치 하위 Virtual Machine\VM GUID 폴더에 저장된다.

스냅샷 생성 과정(VM이 꺼져 있는 상태)
1. Snapshot 폴더에 두 개의 폴더를 생성한다.
스냅샷의 모든 avhd 파일이 저장될 VM GUID 폴더
Save State가 저장될 스냅샷에 대한 SNAP GUID 이름 폴더
- VM이 꺼져있는 상태이기 때문에 SNAP GUID 폴더에는 아무것도 저장되지 않는다.
2. VM 구성 파일(.xml)의 복사본이 SNAP SHOT GUID.xml로 저장된다.
3. Virtual Machines\VM GUID 폴더에 avhd 파일이 생성된다.
4. VM의 원본 VM GUID.xml 파일은 새로 만들어진 avhd 파일을 Working Disk로 업데이트한다.

스냅샷 생성 과정(VM이 켜져 있는 상태)
- VM이 꺼져 있는 상태와 다른 과정은 동일하나 Sate State 파일이 저장되는 것만 다르다.

Revert 과정
1. 현재 Working Disk인 avhd 파일이 지워지고 새로운 avhd 파일이 생성된다.
2. VM의 원본 VM GUID.xml 파일은 새로 만들어진 avhd 파일을 Working Disk로 업데이트한다.
3. Save State 파일이 있는 경우 해당 상태로 되돌리기 위해 Resume 작업을 수행한다.
4. Save State 파일이 없는 경우 VM은 전원이 꺼져 있는 상태로 돌아간다.

:
Posted by 커널64

[증상]
Windows 2000을 SCVMM으로 P2V 진행 후 SCVMM 관리 콘솔에서 확인 시 CPU 사용량이 매우 높고(90% 가량) 시스템의 성능이 잘 나오지 않는 경우

[원인]
원본 머신이 다중 프로세서를 가지는 Windows 2000 이었던 경우 시스템 종류가  'ACPI 다중 프로세서 PC'인데 P2V 수행 후 가상화된 상황에서는 CPU를 하나만 지원하게 되나 여전히 시스템 종류가 'ACPI 다중 프로세서 PC'로 되어 있기 때문이다.

[해결]
시스템 종류를 'ACPI 단일 프로세서 PC'로 변경한다.

:
Posted by 커널64