하나의 물리적 서버로 여러개의 다양한 서비스를 충돌없이 구현하고픈 욕망이 있고 그렇기에 서버를 가상화하는 것 같다.
일반적인 hypervisor들은 메모리를 많이 탑재하지 못하고 core 수도 작은 컴퓨터로는 가상화된 Virtual machine을 많이 제공할 수가 없지만,
lxd같은 container 기반으로 갈 경우 kernel 만큼의 메모리를 적게 사용할 수 있어 결과적으로 적은 메모리로 많은 서비스를 제공할 수가 있다. 또한, container기반으로 갈 경우 OS를 새로 설치하는데 드는 노력이 사라져서 더 빨리 서비스를 제공할 수 있다.
그런데, lxd용으로 제작된 GUI들이 신통찮은 것 같아서 수많은 command들을 알아야만 사용가능한 lxd는 진입장벽이 높았다.
그런데, proxmox라는 전통적인 hypervisor로 kvm을 제공하고, container 서비스로 lxd를 제공하는 debian 기반 가상화툴을 알게되었고,
조금 써보니 사용할 수 있을 것 같아 j3455 기반을 컴퓨터를 맞추게 되었다.
proxmox를 설치하는 방법은 https://www.proxmox.com/en/downloads에서 Proxmox VE 5.0 ISO Installer 이미지를 다운받은 후, CD를 굽거나 usb부팅을
하도록 하면 된다.
usb부팅을 할 수 있도록 하는 프로그램은 기존에 사용하던 rufus는 안되고, https://unetbootin.github.io/에서 프로그램을 다운받아 usb 에 기록하면 된다.
proxmox를 설치하면, console 창에는 https://ip:8006 으로 접속하라고 뜬다.
다른 PC등으로 접속하면 id(root), passwd(설치 시 입력했던 password)를 입력하면 다음처럼 화면이 뜬다.
container 서비스를 사용하기 위해서는, 왼쪽 메뉴의 하단에 local(pve) (사람별로 다를 듯.. )을 클릭 한 후 가운데에서 contents를 선택, 그리고, 오른쪽 메뉴에서 template를 선택하면 된다.
그러면, 다음처럼 사용할 수 있는 container가 나오고, 이중에 하나를 선택하여 download를 실행하면 local(pve)에 해당 container가 download된다.
그리고는 오른쪽 상단에 create CT가 사용할 container를 생성하는 메뉴이다.
클릭하고, 사용할 hostname, passwod를 입력하고 next를 한다.
template는 download받은 container image를 선택하고 next를 한다.
해당 서버가 사용할 디스크의 크기를 설정한다.
해당 서버에 배분할 CPU 숫자를 설정한다.
해당 서버에서 사용할 메모리를 설정한다. 일반적인 VM이라면 가장 기본 이미지만 띄워도 512MB로는 허덕거리게 된다. container일 경우 얼마의 메모리를 먹는 지 확인해 보시라…
VM의 IP를 다음처럼 static으로 할 수도 있고(IP입력 부분은 IP/netmask로 입력해야함), 공유기 아래 설치한 경우 DHCP로 할 수도 있다. DHCP로 할 경우는 생성한 후 추가로 해야할 작업이 있다.
DHCP가 아닐 경우 DNS host등은 추가로 입력해야 한다.
confirm에서 확인 후 finish를 한다.
TASK OK 가 나오면 다 만든 것이다.
만들어졌지만, 아직 실행은 안된 상태이다.
만약 IP할당을 static이 아닌 DHCP로 설정했다면, VM의 Firewall, options로 가서 DHCP를 enable로 변경한다.
이제 console로 이동하고, start를 누르면 VM이 뜬다. 참 쉽고 금방 실행이 된다.
해당 container에 512MB 램, 512MB swap을 할당하였으나, 메모리는 347MB 남았으며(그나마도 shared/cache임), swap은 하나도 사용하지 않았다.
잘봤습니다. 도움이 되었네요.