A. KVM
1. KVM (Kernel-based Virtual Machine: 커널 기반 가상 머신) 개요
- 리눅스 커널을 기반으로 전가상화(full virtualization) 방식을 지원하는 오픈소스 하이퍼바이저
- 전가상화(full virtualization): 물리적인 하드웨어 전체를 Hypervisor에서 가상화시켜 가상머신(GuestOS)에 제공하는 환경이다.
- KVM을 통해 Linux를 하이퍼바이저로 전환하여 호스트 머신이 게스트 또는 VM(가상머신) 등 독립된 가상 환경 여러 개를 실행할 수 있다.
- KVM은 레드헷 계열 리눅스, centos, fedora 기반 리눅스 등에 기본적으로 포함한다.
- 리눅스에서 제공되는 것은 모두 KVM에도 제공된다.
- SELinux(Security-Enhanced Linux)와 sVirt(Secure Virtualization) 제공된다.
관리 콘솔 설치(Manager Console)
- 가상머신 관리 콘솔
- 이를 사용함으로 원격 컴퓨터에서 클라우드 호스트의 가상머신 운용상태를 효과적으로 관리할 수 있도록 도와주는 응용프로그램
- yum install virt-manage
B. KVM 설치
1. KVM 설치 전에 준비
리눅스에서 동작하는 가상화 솔루션으로 Intel VT 또는 AMD-V의 가상화 기술을 사용한다.
egrep -c '(vmx|svm)' /proc/cpuinfo
0일 경우, 하드웨어 가상화 기능을 제공하지 않는다. 그러면 BIOS에서 가상화 기능이 활성화시켜야 한다. VMware를 사용한다면 설정에서 체크박스를 통해서 설정할 수 있다.
2. KVM 설치
2-1. KVM 설치하기
sudo apt-get install qemu-kvm libvirt-daemon-system virtinst bridge-utils cpu-checker
KVM 관련 패키지를 설치
sudo adduser $USER kvm
사용자 권한으로 가상머신을 관리할 수 있도록 권한 설정
시스템 재부팅 후 사용이 가능한 상태인지 테스트 진행
reboot kvm-ok
다음과 같은 값이 나오면 KVM 성공적으로 설치
C. Bridge 네트워크 설정 작업
실행환경 인터페이스: ens33
생성된 브릿지: br0
가상머신 내부에서 같은 네트워크를 통해서 인터넷을 사용하기 위해 브릿지*를 설정하도록 한다.
*브릿지: 네트워크 세그먼트를 연결해 주는 데 사용하는 인터페이스이다. 주로 내부 가상 네트워크와 인터넷 공용망을 연결하여 내부 네트워크에서도 인터넷을 연결할 수 있도록 하는데 주로 사용되는데, KVM과 Xen 등의 Hypervisor 사용에 필요한 네트워크 설정
0. 하기 전에 우분투 브릿지 설정을 해야 한다.
브릿지는 네트워크 세그먼트를 연결해 주는 데 사용되는 인터페이스입니다. 주로 내부 가상 네트워크와 인터넷 공용망을 연결하여 내부 네트워크에서도 인터넷을 연결할 수 있도록 하는데 주로 사용되는데, KVM과 Xen 등의 Hypervisor 사용에 필요한 네트워크 설정입니다. 우분투 18.04 LTS 버전을 포함하여 최신 배포되는 우분투 리눅스는 Netplan을 이용하여 네트워크를 설정하게 됩니다.
Netplan 브릿지 설정
Netplan를 이용하여 브릿지를 설정하기 위해서는 가장 먼저 브릿지와 연결될 네트워크 인트페이스 이름을 알아야 합니다.
인터페이스를 확인하기 위해서 아래와 같은 명령어를 실행합니다.
$ ifconfig
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 08:62:66:7c:ed:6c txqueuelen 1000 (Ethernet)
RX packets 392254 bytes 362183645 (362.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 119557 bytes 8543144 (8.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xfb300000-fb320000
위의 내용과 비슷한 결과가 나타날 것입니다. 위의 명령어로 실행한 결과 인터페이스 이름은 eno1 인 것을 알 수 있습니다. 이 eno1 이름을 이용하여 설정을 하게 됩니다.
Netplan 브릿지 설정
먼저 netplan 설정 파일인 /etc/netplan/01-network-manager-all.yaml 파일을 열고 내용을 확인합니다.
renderer으로 NetworkManager가 설정되어 있습니다. 기존의 내용을 주석처리 하고, 아래의 내용을 추가합니다.
설정된 네트워크 인터페이스 이름이 eno1 이 아닐 경우, 환경에 맞게 수정 후 작성해 주시면 됩니다.
# Let NetworkManager manage all devices on this system
#network:
# version: 2
# renderer: NetworkManager
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: false
bridges:
br0:
dhcp4: true
interfaces: [eno1]
그리고 netplan을 적용하는 아래의 명령어를 실행합니다.
$ sudo netplan apply
브릿지 정보 확인
brctl show 명령어를 입력하면 브릿지 정보를 확인할 수 있습니다.
1. /tmp/br0.xml 파일을 생성
<network> <name>br0</name> <forward mode='bridge'/> <bridge name='br0'/> </network> |
2. XML 파일 생성 후 명령어 수행
virsh net-define /tmp/br0.xml virsh net-start br0 virsh net-autostart br0 |
여기까지 KVM 설치 완료
D. Virt-manager 사용해서 가상머신 만들기
virt-manager 사용법
virt-manager(Virtual Machine Manager)은 데스탑의 GUI 환경에서 가상머신을 생성하고, 관리할 수 있는 소프트웨어
virt-manager 설치
sudo apt install virt-manager
virt-manager 실행
GUI인 경우 검색을 통해 실행한다.
해당 소프트웨어를 통해서 가상머신을 생성할 수 있다.
'Linux' 카테고리의 다른 글
NFS 개념, 구조, 동작원리 - 파일에 접근할 수 있도록 하는 분산 파일 시스템 프로토콜 (0) | 2024.07.30 |
---|---|
htpasswd 사용법 - 아파치 사용자 인증 파일 생성 및 관리 (0) | 2024.07.30 |
RPM 개념 및 사용법 - 레드햇 패키지 설치 관리 도구 (0) | 2024.07.30 |
rsyslog 개념 및 사용법 - 로그 수집, 분석, 모니터링 (0) | 2024.07.30 |
Crontab 명령어 사용법 - 정기적으로 스케줄러 실행하기 (0) | 2024.07.30 |