이 문서에서는 KVM 하이퍼바이저를 설치하고 구성하는 방법을 살펴보겠습니다. Linux RHEL 또는 CentOS를 실행하는 서버에서. KVM에서 가상 머신을 생성하고 설정을 변경하고 게스트 운영 체제를 설치하는 방법을 보여줍니다. 또한 VM을 관리하기 위한 몇 가지 일반적인 명령에 대해서도 설명합니다.
KVM(커널 기반 가상 머신) Intel VT 또는 AMD SVM 하드웨어 가상화 기술을 사용하는 Linux 하이퍼바이저입니다. KVM을 사용하면 네트워크 어댑터, 디스크, 그래픽 카드 또는 기타 장치와 같은 자체 가상 하드웨어로 격리된 가상 머신을 만들 수 있습니다. Linux뿐만 아니라 가상 머신에 모든 게스트 OS를 설치할 수 있습니다.
CentOS/RHEL에 KVM을 설치하는 방법
서버에서 KVM을 구성할 때 CPU 검사부터 시작해야 합니다. 호스트에 설치된 CPU가 하드웨어 가상화를 지원하는지 확인해야 합니다. 서버 콘솔에서 다음 명령을 실행하십시오.
# cat /proc/cpuinfo | egrep "(vmx|svm)"
프로세서가 VT-x를 지원하는 경우 , 다음과 같은 출력이 표시됩니다.
명령이 아무 것도 반환하지 않았지만 CPU가 가상화를 지원한다는 것을 알고 있는 경우 서버 BIOS에서 이 옵션이 비활성화되어 있지 않은지 확인하십시오. . 인텔 가상화 기술 검색 또는 SVM 모드 옵션.
내 서버는 VT-x를 지원하고 활성화되어 있으므로 yum/dnf를 사용하여 CentOS/RHEL에 필요한 패키지를 설치할 수 있습니다.
# yum install libvirt libvirt-python libguestfs-tools qemu-kvm virt-install –y
- qemu-kvm – KVM 하이퍼바이저
- libvirt – 가상화 관리 라이브러리
- 가상 설치 – KVM 가상 머신을 관리하기 위한 CLI 도구
많은 패키지가 Linux 서버에 설치됩니다. 설치 중 오류가 발생하지 않는지 확인하십시오.
그런 다음 libvirtd 를 추가합니다. 서비스 시작 및 실행:
# systemctl enable libvirtd
# systemctl start libvirtd
kvm_intel 및 kvm 커널 모듈이 로드되었습니다:
# lsmod | grep kvm
kvm_intel 188688 0 kvm 636931 1 kvm_intel irqbypass 13503 1 kvm
명령이 아무 것도 반환하지 않으면 호스트를 다시 시작하고 다시 확인하십시오.
KVM용 브리지 네트워킹 생성 및 구성
그런 다음 가상 머신 디스크와 ISO 이미지를 저장할 디렉터리를 생성합니다.
# mkdir -p /vz/{disk,iso}
가상 머신이 인터넷에 액세스할 수 있도록 브리지를 사용하여 네트워크를 구성해야 합니다. . 이를 수행하려면 bridge-utils가 필요합니다. . 다음 명령을 사용하여 Linux 호스트에 설치되어 있는지 확인하십시오.
# rpm -qa | grep bridge-utils
필요한 경우 설치:
# yum install bridge-utils -y
패키지를 설치한 후 virbr0 운영 체제에 나타난 네트워크 인터페이스:
# ip a
다리를 만들려면 , 서버 네트워크 인터페이스의 구성 파일을 설정해야 합니다.
# cp /etc/sysconfig/network-scripts/ifcfg-enp1s0f0 /etc/sysconfig/network-scripts/ifcfg-enp1s0f0_bak
– 파일 백업# nano /etc/sysconfig/network-scripts/ifcfg-enp1s0f0
— 편집하기 위해 엽니다.
파일 내용을 삭제하고 다음으로 바꿉니다.
DEVICE="enp1s0f0" ONBOOT="yes" BRIDGE=br0
귀하의 경우 인터페이스 이름이 다를 수 있습니다(ip a 명령).
그런 다음 파일을 만듭니다.
# nano /etc/sysconfig/network-scripts/ifcfg-br0
다음 구성 포함:
DEVICE="br0" TYPE=BRIDGE ONBOOT=yes BOOTPROTO=static IPADDR="IP_address_of_the_server" NETMASK="255.255.255.0" GATEWAY="Default_gateway" DNS1="8.8.8.8" DNS2="8.8.4.4"
서버 IP 주소와 기본 게이트웨이를 지정해야 합니다. 네트워크 인터페이스 구성 파일을 편집한 후 네트워크를 다시 시작하십시오.
# service network restart
브리지 상태를 보려면 다음 명령을 사용하십시오.
# brctl show
bridge name bridge id STP enabled interfaces br0 8000.ac1f6b654321 no enp1s0f0 virbr0 8000.525400abcdef1 yes virbr0-nic
마지막 단계에서 네트워크 트래픽 전달을 구성합니다.
# echo -e "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && sysctl -p
그런 다음 libvirtd를 다시 시작합니다. :
# service libvirtd restart
기본 KVM 네트워크 구성이 끝났으며 가상 머신을 생성할 수 있습니다.
KVM에서 가상 머신 생성
가상 머신을 생성하기 전에 공식 미러에서 CentOS 8 이미지를 /vz/iso로 다운로드했습니다. :
# cd /vz/iso && wget https://mirror.imt-systems.com/centos/8.3.2011/isos/x86_64/CentOS-8.3.2011-x86_64-dvd1.iso
새 KVM 가상 머신을 생성하려면 다음을 실행하십시오:
virt-install -n test-centosvm \
--noautoconsole \
--network=bridge:br0 \
--ram 2048 --arch=x86_64 \
--vcpus=4 --cpu host --check-cpu \
--disk path=/vz/disk/test-centosvm.img,size=32 \
--cdrom /vz/iso/CentOS-8.3.2011-x86_64-dvd1.iso \
--graphics vnc,listen=IP,password=p@sswdr0w1 \
--os-type linux --os-variant=rhel7 --boot cdrom,hd,menu=on
test-centosvm
— VM 이름noautoconsole
– VM을 만든 후에는 VM 콘솔에 자동으로 연결되지 않습니다.network
– 네트워크 유형(내 경우에는 브리지),ram
— VM의 RAM 용량vcpus
– CPU 코어 수(VM용 vCPU 구성)disk
– 가상 디스크, 경로 – 디스크 경로, 크기 – 디스크 크기(나중에 확장/축소 가능)cdrom
– 가상 CDROM, gust OS를 설치할 ISO 이미지가 마운트됩니다.graphics
— 그래픽 콘솔을 사용하여 가상 머신에 연결하기 위한 매개변수. VNC를 사용하여 연결하므로 수신을 위해 VM을 생성한 KVM 서버의 IP 주소와 가상 머신 콘솔에 연결하기 위한 암호를 지정합니다.
VM이 자동으로 부팅되도록 하려면 다음을 실행하십시오.
# virsh autostart test-centosvm
VNC를 사용하여 KVM VM에 연결하고 OS를 설치하는 방법은 무엇입니까?
VNC를 사용하여 KVM 가상 머신에 연결하려면 실행 중인 포트를 찾아야 합니다.# virsh vncdisplay test-centovms
IP:0
0 VNC를 사용하여 연결할 포트 번호가 5900임을 의미합니다. 다른 값이 나오면 명령이 반환한 번호를 5900으로 추가하면 됩니다.
VNC를 사용하여 서버에 연결하려면 TightVNC를 사용하고 있습니다. . 그것을 실행하고 서버의 IP 주소와 이전에 얻은 VNC 포트를 지정하십시오(이중 콜론을 구분 기호로 사용).
연결을 클릭합니다. KVM VM을 생성할 때 설정한 비밀번호를 입력합니다. 제대로 했다면 CentOS 설치(또는 마운트한 다른 게스트 OS)가 실행 중인 서버 콘솔이 나타납니다.
서버에서 방화벽이 활성화된 경우 firewalld/iptables에서 VNC용 포트 5900-5910을 엽니다(포트 10개로 충분함). 가상 머신에 게스트 OS를 설치한 후 서버 콘솔에서 VM을 시작합니다.
KVM 가상 머신을 종료하려면 다음 명령을 사용하십시오.
# virsh shutdown test-centosvm
등록된 모든 KVM 가상 머신 목록을 표시하려면:
# virsh list --all
기본 KVM 호스트 구성이 끝났고 가상 머신이 생성되었습니다. KVM에서 가상 머신을 원하는 수만큼 생성할 수 있으며 서버 리소스와 요구 사항에 따라 다릅니다.