태그: ESXi

ESXi Maximum virtual machines limit reached 오류

ESXi는 CPU에 따라 하나의 코어에서 실행될 수 있는 vCPU의 개수에 제한을 둔다.

이 값은 기본적으로 런타임에 결정되며, CPU의 성능에 따라서 더 많은 vCPU를 실행할 수 있게 된다.

 

그런데 VM을 배포하다 보면 이 vCPU 제한을 초과하는 경우가 생길 수 있다.
VMware에서 권장하는 것은 하드웨어의 업그레이드지만, 피치 못할 경우 커널 패러매터를 수정하여 vCPU 제한을 늘릴 수 있다.

ESXi 쉘에 접근하여 다음과 같은 명령을 입력한다.

그리고 ESXi 호스트를 재부팅하면 변경된 설정이 적용된다.

이 기능은 VMware의 권장 설정을 벗어나는 것으로, 시스템을 불안정하게 만들 수 있다.
테스트 환경에서만 적용하고, 프로덕션 환경에서는 하드웨어 업그레이드로 대응하기를 권한다.

NVIDIA GRID를 이용한 VMware Horizon 기반 VDI 구성

 

가상 데스크탑 환경(VDI)에서 클라이언트에게 3D 가속 기능을 제공하는 것은 쉽지 않다. 때문에 제대로 된 가속 성능을 제공하려면 NVIDIA에서 나온 GRID 시리즈를 사용해야만 한다. 요새는 별도의 GRID 라인업 대신 테슬라에 vGPU 라이센스를 적용,활성화 하는 방식을 택하고 있지만, 세팅에 사용한 것이 GRID K2였기에 라이센스 추가 없이 사용할 수 있었다.

GRID를 사용할 수 있는 플랫폼은 VMware사의 Horizon과 Xen의 XenDesktop이 있는데, 실제 NVIDIA와의 연계 및 사후지원을 고려한다면 Horizon이 적절한 선택일 것이다. 물론 가격은 XenDesktop쪽이 더 싸지만.

ESXi 호스트에서 GRID K2 두장으로 K6000급의 가속 성능을 가지는 VM 4대를 생성하였다. VM의 댓수는 주로 그래픽 메모리의 크기에 좌우되며, K2의 경우 최대 16대까지의 VM을 할당할 수 있다.

구현해놓고 든 생각이지만, 역시 소규모 시스템에 Horizon을 위시한 VDI 솔루션은 적합하지 않다. 기본적으로 요구하는 인프라가 상당하며, 이것을 관리할 수 있는 인원이 상주하고 있어야 하기 때문이다. 그 인원이 여러 트러블슈팅까지 수행할 수 있어야 한다면? 그것 또한 비용이다.

활용도 또한 애매하다고 볼 수 있다. 원격으로 접근할 수 있는 워크스테이션 정도의 역할을 가지는데, 적절한 공간만 있다면 물리 장비에 Teradici Workstation Card를 설치하는 것으로 동등한 수준의 환경을 제공할 수 있기 때문이다.

결국 원래 개발 용도대로 다량의 VM에 3D 가속 기능을 제공하고 싶을 경우에 가장 적합한 솔루션이라고 볼 수 있겠다.

 

Thin/Zero Client 환경에서의 VMware Horizon 6.2.1 PCoIP 성능 측정

 

Thin/Zero Client 환경에서의 VMware Horizon 기반 PCoIP 퍼포먼스를 측정해 보았다.

VMware Horizon 6에서 PCoIP 세션의 퍼포먼스를 측정할 수 있는 방법에는 총 3가지가 있다.

1. vRealize Operations Manager

vRealize_Operations_Manager

2. PCoIP Session Statistics Viewer

PCoIP_Session_Statistics_Viewer

3. WMI 기반의 성능 카운터

PCoIP_Session_Encoded_Frames. - Z90D7

 

  • vRealize Operations Manger는 세션의 상태를 실시간으로 보여주지 않고, 업데이트 되기까지 시간이 조금 소요된다. 그러나 대량의 데이터를 한번에 종합하여 처리하기에 좋은 인터페이스를 가지고 있어, 많은 수의 VM들을 구동하는 VDI 솔루션을 전체적으로 진단, 성능 병목을 해결하기에 적합한 도구로 보인다.
  • PCoIP Session Statistics Viewer는 PCoIP를 만든 Teradici에서 무료로 배포하는 도구로, 단일, 다중 세션의 성능 지표들을 확인할 수 있다.  localhost가 아닌 다른 VM의 세션 통계도 가져올 수 있으나  목적지 VM과 UDP 4172 포트를 통한 통신이 가능해야 한다. 성능 카운터에 비하여 세련된 그래프를 보여주나, 자신이 원하는 그래프를 선택하여 한번에 볼 수 없다는 단점을 가지고 있다.
  • WMI 기반의 성능 카운터는 VMware Horizon 5부터 제공되기 시작하였다. Windows 내장 기능인 성능 카운터를 이용하여 자신이 원하는 세션의 지표를 확인할 수 있으며, WMI API를 사용하기에 원한다면 데이터를 재가공할 수 있는 경로를 제공해주고 있다.

 

나는 이 툴 중 기본적으로 제공되면서, 자유롭게 그래프를 선택할 수 있는 성능 카운터를 이용하여 측정을 진행하였다.

 

테스트에 사용된 Thin Client : Dell Wyse Z90D7 / D90D7 / D90Q7

테스트에 사용된 Zero Client : HP Zero Client T310

 

테스트 방법: 1080P 동영상 전체화면 재생 후 WAN 구간에서의 Bandwidth / Latency / Image Encoded Frames 측정

 

1. Z90D7

1. Z90D7 – Bandwidth

Z90D7 Bandwidth

Security Server를 경유한 WAN 접속 시 20~25Mbps의 대역폭을 꾸준히 점유하는 것을 볼 수 있다.

 

2. Z90D7 – Latency(ms)

PCoIP_Session_Latency. - Z90D7

성능 카운터를 이용해 측정한 PCoIP Session Round trip Latency 값이다.  부하에 따라 큰 차이가 발생하였으며, 테스트 환경에서는 20~30ms의 지연 시간을 보여주고 있다.

3. Z90D7  – Imaging Encoded Frames

PCoIP_Session_Encoded_Frames. - Z90D7

서버에서 인코딩하여 뿌려주는 이미지의 초당 프레임 개수를 측정한 값이다. 1080P 전체화면 동영상 재생시 10-15FPS의 값을 보이며, 최대값을 60FPS로 설정했음에도 낮은 값을 보이는 것은 CPU 성능이 부족하기 때문으로 보인다.

하지만 초당 프레임 수가 급격하게 변동하여 나타나는 끊김(Jitter)은 거의 일어나지 않았다.

 

2. D90D7 

1. D90D7 – Bandwidth

D90D7 Bandwidth

Security Server를 경유하여 연결시 16~18Mbps의 대역폭 사용량을 보인다. Z90D7에 비해 2~5Mbps 정도 낮은 수치로, 이미지 처리에 있어 병목이 조금 더 발생하는 것으로 보인다.

 

2. D90D7 – Latency(ms)

PCoIP_Session_Latency. - D90D7

PCoIP Session Round trip Latency는 Z90D7에 비해 5ms정도 낮은 값을 보였다. 하지만 부하에 따라 값이 크게 달라지는 특성 상, 처리할 데이터가 줄어들었기에 지연 또한 적어진 것으로 보인다.

 

3. Z90D7  – Imaging Encoded Frames

PCoIP_Session_Encoded_Frames. - D90D7

1080P 동영상 재생 시 프레임 레이트는  8~10사이의 값을 나타내었다. Z90D7의 그것에 비하여 크게 늦은 속도로, 끊김을 심하게 체감할 수 있는 수준이었다.

 

3. HP Zero Client T310

 

T310은 PCoIP를 만든 Teradici社의 Tera2321 SoC를 탑재하고 있다. 그렇기 때문에 하드웨어적으로 PCoIP 프로토콜의 디코딩을 지원하며, Teradici의 카탈로그에 따르면 Cooper Ethernet 연결 시 50Mbps까지의 디코딩 성능을 보여준다고 되어 있다.

 

1. HP T310 – Bandwidth

T310 Bandwidth

HP T310은 1080P 동영상 재생시 30~70Mbps의 대역폭 사용량을 나타내었다. Teradici의 카탈로그 스펙보다 훨씬 높은 성능으로, Fiber+Host Card 연결을 기준으로 한 300Mbps가 실제 한계 디코딩 성능으로 보인다.

100Mbps WAN이 아닌, 내부 네트워크에서 사용한다면 1080P 듀얼 모니터도 충분히 지원할 수 있는 스펙이다.

 

2. HP T310 – Latency(ms)

PCoIP_Session_Latency. - T310

Round Trip Latency는 20~30ms의 값을 보였다. 앞서 테스트 한 결과들과 큰 차이 없는 값으로, 실제 작업 시 끊김 없는(seamless) 작업 환경을 제공한다.

 

3. HP T310 – Imaging Encoded Frames

PCoIP_Session_Encoded_Frames - T310

동영상 재생 시에는 28~30FPS의 성능을 보여 주었다. 영화의 프레임이 29FPS임을 감안하면 아주 훌륭한 성능이라 말할 수 있겠다.

실제로도 네이티브 PC를 사용할 때와 전혀 위화감이 없었으니, PCoIP VDI용 클라이언트가 목적이라면 단연 Tera2321을 탑재한 기기를 구매하라고 권하고 싶다.

 

4. D90Q7

D90Q7은 AMD의 GX-415GA 쿼드코어 SoC를 탑재하고 있다.  클럭은 1.5Ghz이며, 현 세대 씬 클라이언트들 중에서 최고의 성능을 보여준다.

 

1. D90Q7 – Bandwidth

D90Q7 Bandwidth

D90Q7의 대역폭 사용량은 20~40Mbps의 값을 꾸준히 유지하고 있다. Tera2321보다는 덜 유연하지만, 씬 클라이언트들 중에서 제일 좋은 퍼포먼스를 나타낸다.

2. D90Q7 – Latency(ms)

PCoIP_Session_Latency. - D90Q7

Round Trip Latency는 20~40ms의 값을 보인다. 마찬가지로 Tera2321보다는 높지만, 처리량과 Latency가 비례함을 고려하면 좋은 성능이라고 할 수 있겠다.

사용 중 입력 지연은 느껴지지 않았다.

3. D90Q7 – Imaging Encoded Frames

PCoIP_Session_Encoded_Frames - D90Q7

동영상 프레임은 20~28FPS 사이의 값을 보였다. 프레임의 변동이 있는 편이지만, 감상에 방해가 될 수준은 아니었다.

4. D90Q7 – CPU Utilization Rate

D90Q7 - CPU Utilization

D90Q7의 CPU 사용량은 인상적이었다. 씬 클라이언트들 중에서 유일하게 동영상 재생 중 CPU 사용량이 100%를 찍지 않았는데, 이 정도 성능은 되어야 1080P 동영상 재생을 완전히 커버할 수 있는 것으로 보인다.

 

5. 총평

결과적으로,  Z90D7은 1080P 동영상 재생을 무리 없이 소화할 수 있었다. 장면 전환 시 잠깐의 끊김이 나타나기도 하였지만 감상에는 지장이 없었다.

D90D7은 Z90D7에 비해 저조한 성능을 나타내었고, Z90D7의 1.6Ghz에 비해 12.5% 낮은 1.4Ghz의 CPU 클럭을 가졌음에도 실 성능에는 그 이상의 차이를 보였다.

그러나, 둘 다 일반적인 문서 작업, 음악 감상, 작은 화면의 동영상 재생에는 로컬과 흡사한 성능을 보여주었으며, D90D7은 VDI 환경에서 제한적인 멀티미디어 지원을, Z90D7은 거의 완벽하게 멀티미디어를 지원한다고 결론 내리겠다.

D90Q7의 경우에는 현 세대 제품에 걸맞는 성능을 보여주었다. 드디어 CPU 사용량 100%를 찍지 않고서도 동영상을 재생할 수 있었으니까 말이다. 단순히 저전력 컴퓨팅 성능이 좋아졌다고도 할 수 있겠지만, 인텔의 J1900에서 보았던 낮은 성능을 생각해보면, 소프트웨어 커스터마이징도 어느 정도 영향을 미치지 않았을까?

 

그리고 HP T310 Zero Client는 PCoIP용으로 이 이상의 성능이 요구되려면 4K 지원이 필요할 것이라는 생각이 드는 성능을 보여주었고, 가장 만족스러운 사용 경험을 제공해 주었다.

Tera2321을 탑재한 장비들이 사실상 Teradici의 OEM이라는 것을 감안하면, PCoIP 클라이언트는 결국 Teradici로 귀결되는 것이다.

이전 세대인 Tera1, Tera1100을 탑재한 장비들은 약간 부족한 성능을 보여주었는데, Tera2321을 사용한다면 일반적인 용도에서는 더 이상 필요한 것이 없지 않을까?

VMware Horizon 6.2 설치/구성 – (3) 보안 서버에 SSL 인증서 배포하기

목차 

1. 보안 서버에 인증서 추가하기 

2. PKCS #12 형식의 인증서가 없을 경우 

3. 함께 보기


Horizon View의 설정이 완료된 뒤 Security Server의 IP로 접속해보면 보안 경고가 뜰 것입니다.

이 보안 경고는 Horizon에서 자체 서명 인증서를 통해 연결을 암호화하기 때문으로, 보안 연결의 주체를 증명해야 하거나, Zero Client를 사용하고자 한다면 그리 유쾌한 메세지는 아닐 것입니다.

이번 강좌에서는 Security Server에 SSL 인증서를 등록하여 이 보안 경고를 제거하는 법을 알아보겠습니다.

 

준비물은 다음과 같습니다.

 

1. 신뢰 가능한 배포자로부터 서명된 인증서

이 때 인증서는 PKCS #12형식이어야만 합니다. VMware Horizon에서 요구하는 사항으로, 공개 키와 개인 키를 동시에 배포하기 위함입니다.

만일 인증서와 개인 키가 분리되어 있다면, OpenSSL 라이브러리를 통해 이 둘을 합칠 수 있습니다. 자세한 방법은 뒤에서 알아보겠습니다.

 

1. 보안 서버에 인증서 추가하기

CA로부터 발급받은 인증서가 있다고 가정하고 설정을 시작하겠습니다.

 

Security_Server_1

1. View Administrator에서 Security Server의 외부 URL과 IP를 설정합니다. 이 때 PCoIP 외부 URL은 보안 서버의 공인 IP여야 합니다.

 

Add_Certification_1

2. 보안 서버에서 실행 -> mmc 를 입력하여 관리 콘솔을 엽니다.

 

Add_Certification_2

3.  파일 -> 스냅인 추가/제거(M)…을 선택합니다.

 

Add_Certification_3

4. 스냅인 중 인증서를 선택하고 추가합니다.

 

Add_Certification_4

5. 컴퓨터 계정(C)를 선택하고 다음으로 넘어갑니다.

 

Add_Certification_5

6. 로컬 컴퓨터를 선택합니다.

 

Add_Certification_6

7. 로컬 컴퓨터의 인증서 스냅인이 추가되었습니다. 확인을 선택합니다.

 

Add_Certification_7

8. CA로부터 받은 중간 인증서 등을 추가합니다.

 

Add_Certification_8_1

9. 개인용 인증서 탭으로 이동합니다.

 

Add_Certification_9

10. 모든 작업(K) -> 가져오기(I)를 선택하여 인증서 가져오기를 시작합니다.

 

Add_Certification_10

11. 다음 단계로 넘어갑니다.

 

Add_Certification_12

12. 추가할 PKCS #12파일을 선택합니다.

 

Add_Certification_13

13. 설정한 암호와 이 키를 내보낼 수 있도록 표시, 확장 속성 모두 포함(M)을 둘 다 선택합니다.

이 옵션을 선택하지 않을 경우 Horizon Client에서 정상적으로 연결을 수립하지 못하게 됩니다.

 

Add_Certification_14

14. 인증서 저장소를 개인용으로 선택하고 다음 단계로 넘어가면, 인증서 추가가 완료됩니다.

 

Add_Certification_16

15. 기존 보안 서버의 인증서를 선택, 속성에 들어가서 이름(F)을 vdm으로부터 적당히 고쳐줍니다.

 

Add_Certification_17

 

16. 새로 추가한 인증서를 선택, 이름(F)vdm으로 고쳐줍니다.

VMware Horizon은 보안 인증서를 식별할 때 인증서의 이름이 vdm인 개체를 찾습니다. VMware에서는 이것을 인증서 대화명이라 칭합니다.

 

17. 보안 서버의 VMware Horizon Connection Server 서비스를 재시작합니다.

 

view_SSL

18. 이것으로 보안 경고 없이 Horizon에 연결할 수 있게 되었습니다.

 

2. PKCS #12 형식의 인증서가 없을 경우

OpenSSL 라이브러리를 사용하여 인증서를 변환합니다.

이 떄 명령 프롬프트는 OpenSSL이 설치된 경로에서 실행되어야 하며, OpenSSL 실행 파일과 인증서 파일이 동일한 경로에 있다고 가정합니다.

1. set RANDFILE=.rnd  를 명령 프롬프트에 입력합니다.

2.  openssl pkcs12 -export -in 서버_인증서.crt -inkey 개인_.key -out 내보낼_파일_이름.p12  을 입력합니다.

3. 인증서를 불러올 때 사용할 암호를 입력합니다.

4. PKCS #12 인증서가 생성되었습니다.

 

3. 함께 보기

 

1. VMware Horizon 6.2 설치/구성 – (0) VMware Horizon 소개

2. VMware Horizon 6.2 설치/구성 – (1) 사전 준비와 설치 

3. VMware Horizon 6.2 설치/구성 – (2) VMware Horizon 설정

4. VMware Horizon 6.2 설치/구성 – (3) 보안 서버에 SSL 인증서 배포하기(현재 포스트)

5. VMware Horizon 6.2 설치/구성 – (4) ThinApp 배포하기

6. VMware Horizon 6.2 설치/구성 – (5) Direct Connection 설치/구성

VMware Horizon 6.2 설치/구성 – (2) VMware Horizon 설정

목차 

1. vCenter Server 추가 

2. 데스크탑 풀 작성 

3. VMware Horizon Client를 이용한 접속 

4. 보안 서버 추가 

5. 함께 보기


 

 

이전 글에서 Horizon의 설치를 마쳤다면 이제 View Administrator에서 시스템을 설정할 수 있을 것입니다.

여기서는 View Administrator에 가상 시스템 풀을 만들고, 그 풀에 VM을 할당, 클라이언트로부터 접속하기까지의 과정을 다루겠습니다.

 

1. vCenter Server 추가

Agent가 설치된 VM을 View Administrator에서 관리하기 위해서는 먼저 vCenter Server와 Horizon을 연동해야 합니다.

 

View Administrator에서 View 구성 -> 서버로 이동하여 vCenter Server탭에서 추가… 를 선택합니다.

Add_vCenter_Server_1

 

1. vCenter Server의 주소를 입력하고, 적절한 권한이 있는 사용자의 ID와 암호를 입력합니다. 도메인 사용자의 경우는 도메인 주소를 함께 입력해줘야 합니다.

View Administrator을 사용하기 위해 필요한 최소 권한은 다음과 같습니다.

 

  • 폴더 -> 폴더 생성, 폴더 삭제
  • 데이터스토어 -> 공간 할당
  • 가상 시스템 -> 구성 -> 디바이스 추가 또는 제거, 고급, 디바이스 설정 수정
    • 상호 작용 -> 전원 끄기, 전원 켜기, 재설정, 일시 중단
    • 인벤토리 -> 새로 만들기, 기존 항목에서 생성, 제거
    • 프로비저닝 -> 사용자 지정 -> 탬플릿 배포 -> 사용자 지정 사양 읽기
  • 리소스 -> 리소스 풀에 가상 시스템 할당
  • 전역 -> vCenter Server로 작동 (*) View Storage Accelerator을 사용할 경우에만 필요
  • 호스트 -> 구성 -> 고급 설정
  • 프로파일 기반 스토리지 -> 전부 (*) vSAN 또는 가상 볼륨을 사용하는 경우

 

Add_vCenter_Server_2

 

2. View Composer를 설치하였다면 View Composer를 사용합니다.

 

Add_vCenter_Server_3

 

3. View Composer 사용에 필요한 권한을 가지고 있는 계정의 정보를 입력합니다.

View Composer 사용에는 View Administrator의 사용에 필요한 권한에 더해 다음과 같은 권한들이 필요합니다.

 

  • 데이터스토어 -> 공간 할당, 데이터스토어 찾아보기, 하위 수준 파일 작업
  • 가상 시스템 -> 인벤토리(모두), 구성(모두), 스냅샷 관리(모두)
    • 프로비저닝 -> 가상 시스템 복제, 디스크 액세스 허용
  • 리소스 -> 리소스 풀에 가상 시스템 할당, 전원이 꺼진 가상 시스템 마이그레이션
  • 전역 -> 메서드 사용, 메서드 사용 안 함, 시스템 태그
  • 네트워크 -> (모두)

 

Add_vCenter_Server_4

4. 스토리지에 적용할 기능을 선택하고 다음 >을 누릅니다.

 

Add_vCenter_Server_5

5. vCenter Server의 SSL 인증서를 승인하면, 인벤토리에 vCenter Server가 추가됩니다.

 

2. 데스크탑 풀 작성

이제 Agent가 설치된 VM들을 Horizon과 연동시키기 위한 풀을 작성합니다.

 

Desktop Pool

1. 데스크탑 풀을 추가하기 위해 카탈로그 -> 데스크탑 풀 -> 추가… 를 선택합니다.

 

Add_Desktop_Pool_1

2. 데스크탑 풀의 종류를 선택합니다. 여기서는 정해진 사용자에게 전용 VM을 할당할 것이므로 수동 데스크탑 풀을 선택합니다.

자동화된 데스크탑 풀은 다수의 VM들을 동적으로 배포하기에 적합하며, View Composer를 사용할 수 있습니다.

 

Add_Desktop_Pool_2

3. 용도에 맞춰 시스템 할당 방법을 선택합니다.

 

Add_Desktop_Pool_3

4. 시스템 소스를 선택합니다. 기타 소스에는 하드웨어적으로 PCoIP 연결을 제공하는 PCoIP Remote Workstation Card 등이 있습니다.

 

Add_Desktop_Pool_4

5. 앞서 등록한 vCenter Server를 선택합니다.

 

Add_Desktop_Pool_5

6. 데스크톱 풀의 ID를 설정합니다.

 

Add_Desktop_Pool_6

7. 데스크탑 풀을 어떻게 구성할 것인지 결정합니다.

사용 가능한 프로토콜로는 PCoIP와 RDP가 있으며, 최대 4K 해상도의 모니터를 2개까지 사용할 수 있습니다.

 

Add_Desktop_Pool_7

8. 데스크탑 풀에 포함할 VM을 선택합니다. Agent가 설치되지 않은 VM도 표시되며, 나중에 추가할 수도 있습니다.

 

Add_Desktop_Pool_8

9. 스토리지 옵션을 설정합니다.

투명 페이지 공유는 가상 시스템 간 중복되는 메모리 페이지를 공유하여 메모리를 절약하는 기술로, 보안을 고려하여 기본적으로 비활성화됩니다.

 

Desktop Pool_After

10. 데스크탑 풀이 등록되었습니다. 이제 사용 권한을 주기 위하여 풀을 선택하고 권한… -> 권한 추가를 선택합니다.

 

Add_Desktop_Pool_9

11. 사용자를 Active Directory에서 검색, 추가합니다.

 

Add_Desktop_Pool_10

12. 데스크탑 풀에서 인벤토리 -> 시스템을 선택하고 추가 명령 -> 사용자 추가… 를 선택합니다. 이때, 한 사용자에 하나의 VM만을 할당할 수 있습니다.

 

이것으로 로컬 네트워크에서 Horizon View를 사용할 준비를 마쳤습니다. 

 

3. VMware Horizon Client를 이용한 접속

 

Install_View_Client

1. https://Connection_Server_IP/로 접속합니다.

 

Install_View_Client_2

2. VMware Horizon Client 설치를 누르면 VMware사의 다운로드 페이지로 이동합니다. 최신 버젼을 다운로드/설치합니다.

 

Install_View_Client_3

3. VMware Horizon Client를 실행, 연결 서버의 FDQN을 입력, 추가합니다.

 

Install_View_Client_4

4. 연결 서버가 자체 서명된 인증서를 사용하기에 경고가 나옵니다. 앞서 등록한 사용자로 로그인합니다.

 

Install_View_Client_5

5. 사용자에게 할당된 데스크탑 풀이 보이고,  VM을 사용할 수 있습니다.

 

4. 보안 서버 추가

 

로컬 네트워크에서의 VMware Horizon 사용이 가능해졌으나, 외부에서 접속하기 위해서는 보안 서버를 사용해야 합니다.

이전 포스트를 참고해 주십시오.

 

5. 함께 보기

 

1. VMware Horizon 6.2 설치/구성 – (0) VMware Horizon 소개

2. VMware Horizon 6.2 설치/구성 – (1) 사전 준비와 설치 

3. VMware Horizon 6.2 설치/구성 – (2) VMware Horizon 설정 (현재 포스트)

4. VMware Horizon 6.2 설치/구성 – (3) 보안 서버에 SSL 인증서 배포하기

5. VMware Horizon 6.2 설치/구성 (4) – ThinApp 배포하기

6. VMware Horizon 6.2 설치/구성 – (5) Direct Connection 설치/구성

GNS3 with VMware ESXi

 

GNS3는 Cisco IOS / Juniper JUNIOS등을 소프트웨어적으로 시뮬레이팅 할 수 있는 강력한 네트워크 시뮬레이터이다.

접근성과 편의성은 Cisco Packet Simulator보다 떨어지지만, 구동할 수 있는 이미지만 있다면 어떠한 네트워크 장비라도 -OpenFlow 장비까지- 시뮬레이션 할 수 있다는 커다란 장점이 있다.

하지만 상대적으로 CPU/RAM을 많이 필요로 하기에, 대규모의 토폴로지를 구성하기에는 상당히 높은 사양이 요구된다 할 수 있겠다.

 

나는 개인적으로 가상화 Lab을 위한 ESXi Host를 운용하고 있으며, 최근 메모리 확장을 통해 남게 된 자원의 활용처를 찾고 있었다.

그러다 발견한 것이 최근 GNS3가 로컬 시스템에 직접 설치하는 것이 아닌 VMware Player나 VirtualBox 와 같은 가상 환경에서 GNS3 Server를 구동하고, 로컬 시스템에선 클라이언트로 서버에 접속하여 사용하는 것을 권장하고 있다는 사실이었다.

확실히 사용자가 사용하던 PC에 설치하여 구동하는 것 보다 격리된 VM에 Pre-Install 된 형태로 제공되는 편이 높은 안정성과 빠른 트러블슈팅에 도움이 되기에 이러한 형태의 배포를 추진한 것이겠지만, 내게는 GNS3를 구동하는 VM을 VMware ESXi에 바로 올릴 수 있게 되었다는 것이 더욱 중요했다.

 

 

이 글에서는 ESXi에 GNS3 VM을 설치하고, Client와 연동하기까지의 과정을 서술한다.

 

GNS3 VM은 GNS3의 GitHub Repository (https://github.com/GNS3/gns3-gui/releases)에서 다운로드 할 수 있다.

우리는 ESXi에 GNS3를 설치할 것이므로, GNS3.VM.VMware.ESXi…zip을 받아준다.

이 압축파일은 .ova 파일을 담고 있다. VMware에서 사용하는 탬플릿 배포 파일(OVF)로, OVF 탬플릿 배포를 통해 ESXi에 추가할 수 있다.

OVF

OVF 탬플릿을 성공적으로 추가하고 나면, VM 인벤토리에 ‘Clone of GNS3’란 이름의 VM이 보일 것이다. 축하한다! 이것으로 GNS3 Server의 설치가 끝났다.

 

 

 

… 물론 끝이 아니다. GNS3는 네트워크 장비를 시뮬레이션 하기 위해서 KVM을 이용한다. 그렇기에 ESXi 상에서 제대로 된 성능을 뽑아주려면 Nested 가상화를 위한 설정이 필요하다.

Nested란 쉽게 말해서 하이퍼바이저 안의 하이퍼바이저라는 뜻이다. 하이퍼바이저 위의 VM은 Intel VT-x, AMD-V를 이용해 CPU/메모리에 직접 접근하지만, 그 위에 하이퍼바이저를 올리고 또 그 위에 VM을 올린다면?

간단하게 접근이 되지 않을 것임을 쉽게 생각할 수 있다.

VMware는 VM이 VT-x와 AMD-V의 사용을 필요로 할때 이 기능을 제공해 줄 수 있는 설정을 제공한다.

 

먼저, 가상 시스템 설정에 들어가 설정을 이렇게 바꾼다.

VM_Setting

그리고 가상 시스템의 .vmx 파일을 다운받아, 제일 뒤에 vhv.enable = “true”를 추가한다.

VMX_Edit

 

이 파일을 다시 업로드해주면 Nested VM을 사용할 수 있게 된다.

VM을 실행해 보면 ‘KVM acceleration can be used’라는 메시지를 볼 수 있을 것이다.

VM_FIn

 

이제 GNS3를 열고, 설정 메뉴에서 GNS3 Remote Server를 등록해준다.

 

GNS_Preferences

 

이것으로 원격 서버에서 GNS3 이미지를 구동할 수 있게 되었다.