VMware Workstation으로 홈랩(Home Lab) 만들기

개인 학습을 위해 컴퓨터 시스템을 구축하는 것을 홈랩(Home Lab)을 만든다고들 한다. 대충 아래 그림과 같은 구성도의 시스템을 구축해야 한다.

homelab-sample.png

이런 시스템을 물리적으로 구축하기에는 비용, 공간, 소음 등 꽤 부담 스럽다. 그래서 현실적인 방법 두가지를 정리해 보고자 한다. 그 중 첫번째가 VMware Workstation을 활용해서 사용 중인 PC에서 손쉽게 구현하는 것이다.

중첩된 가상화(nested virtualization)

가상화 위에 다시 또 다시 가상화를 올리는 것을 nested virtualization이라고 한다. 지금 하려는 VMware Workstation 위에 ESXi를 올리는 것, ESXi 위에 KVM을 올리는 이런 것들을 의미한다. 최신 VMware 제품은 기본적으로 지원 가능한 상태이고, CentOS 7.x의 KVM의 경우는 기본값은 꺼져있어서 따로 인에이블(enable)시켜 주어야 한다.

사전 스터디

구성전에 아래 동영상을 추천드리고 한번 보라고 추천드리고 싶다. 영어이기는 하지만 도해가 잘 되어 있어서 좋은 것 같다. 위의 구성도 그림도 이 동영상에 나오는 것이다. 비슷한 유형의 동영상은 여러가지 있으니 homelab, esxi 등으로 검색해 보기 바란다.

 

PC의 사양은 어느 정도?

좋으면 좋을 수록 좋겠으나, 다 비용으로 연결된다. 이 점 감안해서 적절하게 타협해서 구성하면 된다. 잊지 말아야할 것은, 연습용 홈랩을 구성하는 것이지 서비스용 상용 시스템을 구성하는 것이 아니라는 점이다.

  • CPU는 2 core 이상, 4 core 추천 : 더 많으면 좋겠으나 무리할 필요는 없다. 홈랩이까.
  • RAM은 16GB 이상, 32GB 추천 : 대략 5개의 VM이 동작해야 한다. 디스크 스왑이 안일어나게 구성하는 것이 좋다.
  • HDD는 하기 나름 : 홈랩용은 보통 노드당 20~40GB 정도 배정한다. 부족하면 작게하고 연습하면 된다. SDD가 좋겠으나, HDD여도 관계는 없다.
VMware Workstation의 ESXi 지원

최근 발표된 v15에서는 ESXi를 설치할 수 있다. v14도 가능한 것으로 기억난다. 그 이전 버전도 직접 지원 안하더라도, 할 수 있다. 구체적인 방법은 버전과 함께 구글링~

VM을 만드는 과정에서 ESXi의 ISO 파일을 선택하면 그림 처럼 "VMware ESXi 6.x detected."라는 문구가 표시된다. 

vmw-01.png

커스텀으로 생성할 경우에는 "Select a Guest Operating System"에서 "VMware ESX"를 선택하고 ESXi 버전을 선택하면 된다.

Virtual Network Editor

vSphere를 연습하려면 적게는 4개 정도에서 8개 정도까지 각각 구분된 네트워크를 만들게 된다. 이를 위해 VMware Workstation 안에서 여러개의 가상 네트워크 스위치를 만들어주는 기능이 Virtual Network Editor다.

VMware Workstation에서 "Edit > Virtual Network Editor" 메뉴를 선택하면 그림과 같은 대화상자가 나타난다. 이 상태에서는 추가/삭제/수정 작업을 할 수 없고, "Change Settings" 단추를 눌러서 관리자 권한으로 상승시켜야 작업할 수 있다.
vmw-02.png

VMware Workstation은 각각의 네트워크를 VMnet이라고 부른다. 최대 20개까지 만들 수 있고, 기본적으로 VMnet0, VMnet1, VMnet8번이 생성되어 있다. 각각의 VMnet는 유형(type)을 선택할 수 있고, 그 역할과 용도는 다음과 같다.

  • Bridge : PC 랜카드를 그대로 브리지해서 VMnet까지 연결한 것이다. 보통 집에 공유기가 있다면 공유기와 직접 통신하게 된다. 일반적인 경우 공유기에서 직접 IP를 받는다. 주로 인터넷이 연결되어야 하는 VM들을 연결할 VMnet에 사용하게 된다. 회사로 치자면 DMZ에 위치한 서버들이 되겠다.
  • NAT : PC가 갖고 있는 IP 주소를 공유하게 된다. 연결된 VM이 인터넷을 밖으로 나갈 수는 있으나, 밖에서 직접 VM으로 연결할 수는 없다. 회사로 치자면 공유기 안쪽에 있는 사설 네트워크가 되겠다.
  • Host-only : 연결된 VM들 간에만 통신이 된다. 외부와는 연결이 안되고, 이 네트워크에 연결된 VM들만 연결된다. 회사로 치자면 서버들간의 통신 전용 네트워크가 되겠다.
ESXi 호스트 구성시 사용할 네트워크 종류와 위 Type은 연결해 보면 다음과 같다.
  • mgmt : host-only - 관리망은 외부와 분리되어야 한다.
  • vmotion : Host-only - ESXi 호스트만 사용
  • ipsan : Host-only - IP 스토리지(iSCSI, NFS 같은) 연결용
  • dmz : Bridge - 공인 인터넷 주소를 받아와야 한다
  • internal : NAT - 내부 인터넷 사용자. 사내 LAN 같은
  • private : Host-only - VM들간 통신 전용. 예를 들어 Web 서버와 DB 서버간 연결 등
Bridged와 NAT는 1개의 VMnet에만 설정할 수 있다. 기존에 생성되어 있는 VMnet을 활용하거나, 기존 VMnet을 Host-only로 변경하고 새로운 VMnet에 지정해 주어야 한다.
DHCP 서비스는 VMnet 추가시에 기본적으로 활성화 되어 있다. 필요에 따라 적절한 IP 대역을 설정해서 사용하면 된다. 고정 IP만 사용할 것이라면 사용할 필요 없다.