Win Server 2012 + Hyper-V 조합으로 쓰다가 도저히 불편해서 결국 Host 를 Linux 계열로 밀어버리는 대 공사 진행.
Ubuntu 18.04 + KVM 조합으로 결정했다.
Host 에서는 no GUI 로, SSH를 통해 설치 및 사용하고, KVM 가상머신 생성 및 설정은 X11 forwarding 을 통해 진행함.
KVM 설치
sudo apt install qemu-kvm libvirt-bin bridge-utils ubuntu-vm-builder
# GUI manager
sudo apt install virt-manager
이후 VM 관련 작업을 할때 매번 sudo 를 이용하고 싶지 않다면, 관련 그룹에 계정을 추가해준다.
그냥 설치만 해도 내 사용자 계정이 libvirt 그룹에 자동으로 추가되던데, 다른 계정을 이용했거나 필요에 따라 진행.
보통 libvirt, kvm, libvirtd 3개 그룹에 집어넣던데 환경에 따라... 난 이미 libvirt 그룹엔 속해져있었고 libvirtd 그룹은 생성이 안되어 있어서, kvm 에만 추가해두었다,
sudo adduser $(id -un) libvirt
sudo adduser $(id -un) kvm
# 나의 경우 libvirtd 그룹은 없었음
# sudo adduser $(id -un) libvirtd
가상머신 설치
가상머신 설치용 이미지나, 디스크는 기본적으로 /var/lib/libvirt/images
경로를 참조하고 사용한다. 필요하면 바꿔주면 되겠지만, 난 귀찮아서 그대로 사용, 설치 전 iso 이미지를 저기다가 넣어주었다.
커맨드라인으로 생성하고 관리하는 방법도 있는데, 난 X11 forwarding 을 사용.
ssh 연결시에 -X 옵션을 넣어주고 연결한다.
* Mac 이라면 XQuartz 를 설치해줘야한다.
또한 XQuartz 실행시에 키보드가 한글로 되어 있다면 이후에 계속 키 입력이 이상하게 되니 주의해주자.
그리고 연결 끊고 재연결시엔 독에서 XQuartz 를 직접 끄고 다시 연결해줘야하는 듯...
ssh -X user@host
$ virt-manager
그럼 이런 창이 뜬다. 이 상황에서 가상머신 생성, 설정, 콘솔보기 등을 할 수 있음.
생성은 알아서 하는걸루.. 별거 없다.
네트워크 관련 설정
브릿지 NIC 생성 및 사용하기
기본적으론 virbr0 란 이름으로 NAT NIC 만 생성해준다.
1. br0 인터페이스 생성
Ubuntu 17? 18? 부터 네트워크 인터페이스 관리를 위해 netplan 패키지를 이용한다.
설정 파일 경로는 /etc/netplan/
적당히 60-kvm.yaml 이란 이름으로 만들어서 br0 네트워크 인터페이스를 생성해준다.
eno1 은 브릿지 하려는 NIC 이름. br0 도 필요하다면 이름을 바꿔줄 것.
sudo vi /etc/netplan/60-kvm.yaml
network:
version: 2
bridges:
br0:
dhcp4: false
interfaces: [eno1]
# 설정 적용
sudo netplan apply
적당한 경로에 아래 내용을 가진 br0.xml 파일을 만들고 그 밑 명령어로 KVM NIC를 설정해준다.
<network>
<name>br0</name>
<forward mode='bridge'/>
<bridge name='br0'/>
</network>
virsh net-define br0.xml
virsh net-start br0
virsh net-autostart br0
이 후 아래와 같이 확인할 수 있다.
virsh net-list --all
Name State Autostart Persistent
----------------------------------------------------------
br0 active yes yes
default active yes yes
이제 NIC 설정에 "Virtual network 'br0' : Bridge network 가 나타나서 사용할 수 있다.
virt-manager 로 새 VM을 만들땐 NIC 를 하나밖에 선택을 못할텐데,
마지막 단계에 "Customize configuration before install" 체크박스가 있고, 이걸 체크하면 뜨는 설정 창에서 Add Hardware 를 통해 NIC 를 추가할 수 있다.
NAT 고정 IP 설정하기
기본으로 생성되는 NAT NIC 는 IP 를 DHCP 로 할당한다.
가상머신에서 static ip 를 설정해줘도 되겠지만, host에서 특정 Mac 주소에 대해 고정 IP 를 할당하는 방법
virsh net-edit default
# 처음이라면 에디터를 선택하라고 뜰텐데 편한걸 선택하면 된다. 난 vim basic.
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
<host mac='52:54:00:FF:FF:FF' name='NAME' ip='192.168.122.XXX'/>
</dhcp>
</ip>
</network>
dhcp 부분을 찾아서 위와 같이 특정 맥 어드레스에 대해 아이피 주소를 할당해준다.
이 후 아래 명령어를 통해 변경사항 적용.
virsh net-destroy default
virsh net-start default
'Linux, Server, Web' 카테고리의 다른 글
Ubuntu 18.04 NIS 문제 해결 (0) | 2019.02.18 |
---|---|
Apache Guacamole Docker 설치 (RDP, VNC, SSH 웹 클라이언트) (4) | 2019.02.03 |
Ubuntu 18.04 + Nginx + (uWSGI/gunicorn) + Python-Flask 설정 (0) | 2018.11.27 |
tar 압축/해제 (0) | 2018.09.10 |
[OpenVPN] client 에서 route 설정하기 (0) | 2018.07.31 |