Quản trị KVM qua Web với Kimchi và Wok: Nhẹ, Mượt, Thay Thế Virt-manager

Virtualization tutorial - IT technology blog
Virtualization tutorial - IT technology blog

Tại sao nên đưa giao diện quản lý KVM lên Web?

Dân sysadmin chuyên nghiệp thường né cài GUI lên server như né tà. Việc cài đặt môi trường desktop chỉ để chạy virt-manager sẽ ngốn ít nhất 1GB RAM và làm tăng diện tích tấn công (attack surface) của hệ thống. Nếu dùng virt-manager qua X11 forwarding từ xa, bạn sẽ thấy độ trễ cực kỳ khó chịu, đôi khi mất cả giây để phản hồi chuột.

Mình từng chạy một cụm homelab với Proxmox quản lý 12 VM. Proxmox rất mạnh, nhưng với những con VPS nhỏ chỉ có 2GB RAM, cài nó vào là hết sạch tài nguyên. Lúc này, combo Kimchi và Wok trở thành cứu cánh. Nó cung cấp giao diện HTML5 mượt mà, cho phép bạn tạo máy ảo và soi console ngay trên trình duyệt mà không cần cài thêm bất cứ phần mềm nào ở máy client.

Điểm cộng lớn nhất là sự gọn nhẹ. Kimchi mang lại trải nghiệm tiệm cận Proxmox nhưng vẫn giữ được bản chất thuần túy của một server Linux dòng lệnh.

Wok và Kimchi là gì?

Đừng nhầm lẫn giữa hai cái tên này. Chúng hoạt động theo mô hình Host-Plugin:

  • Wok (Web Tool Kit): Đóng vai trò là cái khung (framework). Nó quản lý việc đăng nhập, bảo mật và cung cấp giao diện nền. Bản thân Wok không biết máy ảo là gì.
  • Kimchi: Đây là một plugin gắn vào Wok. Nhiệm vụ của nó là nói chuyện với libvirt để điều khiển các máy ảo KVM bên dưới.

Hiểu đơn giản: Wok là hệ điều hành, còn Kimchi là ứng dụng chạy trên đó. Sự kết hợp này biến server của bạn thành một trung tâm quản trị ảo hóa mini chỉ trong vài phút.

Chuẩn bị hệ thống

Mình khuyến khích sử dụng Ubuntu 20.04 hoặc 22.04 LTS để có độ ổn định cao nhất. Trước tiên, hãy chắc chắn CPU của bạn đã bật ảo hóa trong BIOS. Bạn có thể kiểm tra nhanh bằng lệnh:

egrep -c '(vmx|svm)' /proc/cpuinfo

Nếu kết quả trả về từ 1 trở lên, bạn đã sẵn sàng. Đừng quên cập nhật hệ thống để tránh xung đột thư viện:

sudo apt update && sudo apt upgrade -y

Các bước cài đặt chi tiết

Bước 1: Cài đặt các gói phụ thuộc

Kimchi cần khá nhiều thư viện Python để vận hành. Thay vì cài lẻ tẻ, bạn hãy gom tất cả vào một lệnh duy nhất:

sudo apt install -y python3-pip python3-certifi python3-dev python3-lxml \
libvirt0 libvirt-daemon-system libvirt-clients virtinst qemu-kvm \
gettext software-properties-common nfs-common sosreport generic-logos \
python3-cherrypy3 python3-configobj python3-jsonschema python3-cryptography \
python3-paramiko python3-ldap python3-psutil python3-numpy python3-imaging

Bước 2: Cài đặt Wok

Chúng ta sẽ tải file .deb trực tiếp từ GitHub. Đây là cách nhanh nhất để có bản build ổn định.

wget https://github.com/kimchi-project/wok/releases/download/3.0.0/wok-3.0.0-0.noarch.debian.deb
sudo apt install ./wok-3.0.0-0.noarch.debian.deb

Sau khi cài xong, hãy kiểm tra xem “trái tim” của hệ thống đã đập chưa:

sudo systemctl status wokd

Bước 3: Cài đặt Kimchi

Bây giờ là lúc cài thêm “linh hồn” cho Wok. Kimchi sẽ tự động tìm đường dẫn và tích hợp vào hệ thống.

wget https://github.com/kimchi-project/kimchi/releases/download/3.0.0/kimchi-3.0.0-0.noarch.debian.deb
sudo apt install ./kimchi-3.0.0-0.noarch.debian.deb
sudo systemctl restart wokd

Truy cập và sử dụng thực tế

Mặc định, Wok chạy trên cổng 8001 với giao thức HTTPS. Hãy truy cập:

https://ip-cua-ban:8001

Trình duyệt sẽ báo lỗi SSL vì chúng ta dùng chứng chỉ tự ký. Bạn cứ mạnh dạn nhấn Advanced -> Proceed. Đăng nhập bằng tài khoản root hoặc user có quyền sudo của server.

Tạo máy ảo trong 30 giây

Giao diện Kimchi rất trực quan. Để có một VM chạy ngay, bạn làm như sau:

  1. Vào mục Virtualization -> Templates.
  2. Nhấn Add Template. Bạn có thể trỏ link file ISO (ví dụ link tải Ubuntu Server) để Kimchi tự tải về.
  3. Khi đã có Template, sang tab Guests, nhấn dấu + và chọn Template vừa tạo.

Điểm mình cực thích là khả năng quản lý Storage Pool. Thay vì phải gõ những lệnh virsh pool-define-as dài dằng dặc, bạn chỉ cần vài cú click để chia ổ cứng hoặc mount thêm phân vùng mới.

Những lưu ý “xương máu”

Sau một thời gian sử dụng, mình rút ra vài kinh nghiệm để bạn tránh bị lỗi vặt:

  • Vấn đề Console: Kimchi dùng noVNC. Nếu bạn dùng Safari mà không thấy màn hình máy ảo, hãy thử chuyển sang Chrome hoặc Firefox.
  • Quyền truy cập: Nếu đăng nhập đúng pass mà bị từ chối, hãy kiểm tra xem user đã thuộc group libvirt chưa: sudo usermod -aG libvirt $USER.
  • Tường lửa: Nhiều bạn quên mở port khiến trình duyệt xoay vòng vòng. Chạy ngay lệnh: sudo ufw allow 8001/tcp.

Vậy có nên dùng Kimchi không?

Nếu bạn cần những tính năng khủng như Backup tập trung, Cluster hay High Availability, hãy chọn Proxmox. Nhưng nếu bạn chỉ có một con server đơn lẻ và muốn quản lý vài ba máy ảo làm lab cho nhẹ máy, Kimchi là lựa chọn số một hiện nay.

Nó loại bỏ hoàn toàn rào cản dòng lệnh cho người mới. Đồng thời, nó vẫn giữ cho server của bạn sạch sẽ, không bị rác bởi các gói giao diện desktop cồng kềnh. Hãy thử cài đặt và trải nghiệm sự tiện lợi mà bộ đôi này mang lại.

Share: