KVM (Kernel-based Virtual Machine) được biết đến là một cơ sở hạ tầng ảo hóa cho nhân Linux dành cho những CPU hỗ trợ công nghệ ảo hóa như Intel VT hoặc ADM-V.

Trong bài viết này mình sẽ hướng dẫn các bạn cài đặt KVM trên CentOS 7 và cài máy ảo trên KVM.

Mục lục

  1. Chuẩn bị
  2. Cài đặt KVM
  3. Sử dụng Virt-manager để tạo VM

I. Chuẩn bị

  • Một máy chạy CentOS-7 có hỗ trợ công nghệ ảo hóa: 2 CPU, 2GB RAM, 20GB Disk
  • File ISO của hệ điều hành để cài lên máy ảo trên KVM: trong bài viết này, mình sẽ sử dụng file ISO của CentOS-7

Mô hình:

II. Cài đặt KVM

1. Kiểm tra hỗ trợ ảo hóa

Để kiểm tra máy có hỗ trợ ảo hóa hay không

# egrep -c "svm|vmx" /proc/cpuinfo
2

Nếu kết quả trả về 0 thì máy không hỗ trợ ảo hóa. Còn khác 0 tức là máy có hỗ trợ ảo hóa.

Nếu trên VMware, ta bật hỗ trợ ảo hóa trong Virtual Machine Settings của máy ảo. Đánh dấu vào 2 ô như hình dưới đây:

2. Cài đặt các gói cần thiết

yum -y install qemu-kvm libvirt virt-install bridge-utils virt-manager

Trong đó:

  • qemu-kvm: Phần phụ trợ cho KVM
  • libvirt: cung cấp libvirt mà bạn cần quản lý qemu và KVM bằng libvirt.
  • bridge-utils: chứa một tiện ích cần thiết để tạo và quản lý các thiết bị bridge
  • virt-manager: cung cấp giao diện đồ họa để quản lý máy ảo
  • virt-install: Cung cấp lệnh để cài đặt máy ảo

Sau khi cài đặt hoàn tất, ta kiểm tra các module KVM

lsmod | grep kvm

3. Bật libvirt và khởi động cùng hệ thống

systemctl start libvirt
systemctl enable libvirtd

4. Tạo 1 card bridge

Ta sẽ tạo 1 card bridge br0 ở chế độ NAT để khi tạo KVM sẽ gắn card mạng vào bridge này:

# nmcli connection add type bridge autoconnect yes con-name br0 ifname br0
# nmcli connection modify br0 ipv4.addresses 192.168.37.55/24 ipv4.method manual  
# nmcli connection modify br0 ipv4.gateway 192.168.37.1
# nmcli connection modify br0 ipv4.dns 192.168.37.1  
# nmcli connection delete ens33
# nmcli connection add type bridge-slave autoconnect yes con-name ens33 ifname ens33 master br0

5. Khởi động lại hệ thống

# reboot

III. Sử dụng công cụ Virt-manager để cài VM

1. Dowload file ISO CentOS-7

Download và lưu file ISO bản Minimal vào thư mục /var/lib/libvirt/file-iso/

# cd /var/lib/libvirt
# mkdir file-iso
# cd file-iso

# wget http://repos-va.psychz.net/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso

Đối với bản Minimal thì để sử dụng công cụ đồ họa Virt-manager, ta cần cài gói X-window

# yum install "@X Window System" xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils -y

2. Truy cập Virt-manager để cấu hình VM

  • Truy cập Virt-manager:
# virt-manager
  • Tạo máy ảo:
  • Chọn kiểu cài đặt hệ điều hành:
  • Chọn đường dẫn file ISO ta đã tải ở trên:
  • Cài đặt các thông số cơ bản cho máy ảo:
    Lưu ý: Phần Network selection ta sẽ gắn card mạng vào bridge br0
Thiết lập thông số RAM và CPU
Thiết lập thông số Disk
Thông tin máy, network
  • Kiểm tra và thiết lập thông số máy ảo rồi click Begin Installation
  • Sau đó, ta thực hiện cài đặt OS như bình thường

Nếu như muốn dùng các lệnh để cài đặt các VM, các bạn có thể tham khảo tại link.

3. Xem danh sách và trạng thái các máy ảo KVM

# virsh list --all

Sau khi cài đặt và set địa chỉ IP cho các VM, ta có thể SSH đến các VM để thao tác như các máy bình thường.


Trên đây là cách cài đặt KVM trên CentOS-7 của mình. Việc cài đặt KVM trên CentOS-8 hoàn toàn tương tự.

Rất mong sự đóng góp ý kiến từ các bạn.