Cách cài đặt KVM Guest với virt-install trên Ubuntu 11.10 Server ?

nbbnbmn
nbbnbmn
Trả lời 12 năm trước

Sự khác biệt giữa virt-install với vmbuilder ở chỗ, với vmbuilder dành cho việc tạo các Ubuntu-based guest, trong khi đó với virt-install bạn có thể cài đặt toàn bộ các loại hệ điều hành (bao gồm Linux, Windows, Solaris, FreeBSD, OpenBSD) và các distribution trong một guest, giống như virt-manager. Hướng dẫn sau đây sẽ giúp các bạn có thể sử dụng nó trên Ubuntu 11.10 KVM server.

1. Một số lưu ý

Ở đây chúng tôi giả định rằng KVM đã được cài đặt (xem thêm: Ảo hóa với KVM trên Ubuntu 11.10.) Máy chủ KVM có địa chỉ IP: 192.168.0.100.

Trong phần bài viết mình họa này chúng ta sẽ cài đặt một CentOS 6.0 guest. Ngoài ra cần một Ubuntu 11.10 desktop để có thể kết nối tới giao diện điều khiển đồ họa của KVM guest. Đó không phải điều quan trọng nếu desktop đã cài đặt trên Ubuntu 11.10 KVM server hoặc trên một hệ thống từ xa (có nhiều khác biệt nhỏ nếu desktop cài đặt trên máy chủ KVM so với máy tính để bàn từ xa, bài viết cũng sẽ phác thảo vấn đề này).

2. Cài đặt virt-install

Ubuntu 11.10 KVM Host:

Mở một terminal và cài đặt virt-install:

sudo apt-get install virtinst

3. Cài đặt virt-manager trên Ubuntu 11.10 Desktop

Ubuntu 11.10 Desktop:

Chúng ta cần một phương tiện kết nối tới giao diện điều khiển đồ họa của guest – có thể sử dụng virt-viewer hoặc virt-manager để làm điều này.

Theo kinh nghiệm, người dùng được khuyến cáo cài đặt virt-manager thay vì virt-viewer bởi virt-manager cho phép bạn tạo và xóa máy ảo cùng các tác vụ khác. virt-manager có thể được cài đặt bằng lệnh sau:

sudo apt-get install virt-manager

4. Tạo một CentOS 6.0 Guest

Ubuntu 11.10 KVM Host:

Bây giờ trở lại với Ubuntu 11.10 KVM host và nhìn vào:

man virt-install

để tìm hiểu thêm cách sử dụng nó.

Chúng ta sẽ tạo máy ảo image-based trong thư mục /var/lib/libvirt/images/ được tự động tạo ra khi cài đặt KVM.

Để tạo một CentOS 6.0 guest (trong chế độ bridging mode) với tên vm10, RAM 1024MB, hai CPU ảo và ảnh đĩa /var/lib/libvirt/images/vm10.img kích thước 12GB, chèn đĩa cài CentOS DVD vào ổ CD drive và chạy:

sudo virt-install --connect qemu:///system -n vm10 -r 1024 --vcpus=2 --disk path=/var/lib/libvirt/images/vm10.img,size=12 -c /dev/cdrom --vnc --noautoconsole --os-type linux --accelerate --network=bridge:br0 –hvm

Tất nhiên bạn cũng có thể tạo một ISO image của CentOS DVD (khuyến cáo tạo trong thư mục /var/lib/libvirt/images/ bởi sau này chúng ta sẽ sử dụng để tạo máy ảo thông qua virt-manager từ Ubuntu desktop, và virt-manager sẽ nhìn thấy ISO images trong /var/lib/libvirt/images/)…

sudo dd if=/dev/cdrom of=/var/lib/libvirt/images/CentOS-6.0-x86_64-bin-DVD1.iso

… và sử dụng ISO image trong virt-install bằng lệnh sau:

sudo virt-install --connect qemu:///system -n vm10 -r 1024 --vcpus=2 --disk path=/var/lib/libvirt/images/vm10.img,size=12 -c /var/lib/libvirt/images/CentOS-6.0-x86_64-bin-DVD1.iso --vnc --noautoconsole --os-type linux --accelerate --network=bridge:br0 –hvm

Kết quả sẽ trông như sau:

administrator@server1:~$sudovirt-install--connectqemu:///system-nvm10-r1024--vcpus=2--diskpath=/var/lib/libvirt/images/vm10.img,size=12-c/var/lib/libvirt/images/CentOS-6.0-x86_64-bin-DVD1.iso--vnc--noautoconsole--os-typelinux--accelerate--network=bridge:br0--hvm

Startinginstall...
Allocating'vm10.img'|12GB00:00
Creatingdomain...|0B00:00
Domaininstallationstillinprogress.Youcanreconnectto
theconsoletocompletetheinstallationprocess.
administrator@server1:~$

5. Kết nối tới Guest

Ubuntu 11.10 Desktop:

KVM guest sẽ được boot từ CentOS 6.0 DVD và khởi động trình cài đặt giao diện đồ họa CentOS – đây là lý do tạo sao chúng ta cần kết nối tới giao điện điều khiển đồ họa của guest. Bạn có thể làm điều này với virt-manager trên Ubuntu 11.10 desktop.

Khởi động Virtual Machine Manager (có thể tìm kiếm cho virt-manager trong Unity):

Cài đặt KVM Guest: Khởi động Virtual Machine Manager

Lần đầu tiên khởi động virt-manager và không có cài đặt KVM trên Ubuntu desktop (tức là các máy chủ KVM không giống hệt nhau trên desktop của bạn) sẽ có thông báo Could not detect a default hypervisor xuất hiện. Nhưng có thể bỏ qua điều này bởi chúng ta không muốn kết nối tới libvirt daemon local mà là Ubuntu 11.10 KVM host từ xa:

Cài đặt KVM Guest: Khởi động virt-manager

Trong virt-manager, vào File > Add Connection... để kết nối tới máy chủ KVM trên Ubuntu 11.10 của bạn. Trường hợp không tìm thấy menu File, bạn có thể kích chuột phải vào vùng bên dưới để đóng chương trình, và sau đó một menu sẽ được mở để chọn Add Connection...:

Cài đặt KVM Guest: kết nối tới máy chủ KVM

Chọn QEMU/KVM as Hypervisor. Nếu KVM host là giống nhau trên desktop, chỉ cần kích Connect. Nhưng nếu host KVM là trên một máy chủ Ubuntu 11.10 từ xa, đánh dấu vào Connect to remote host, chọn SSH từ Mothod trong menu xổ xuống, điền vào root trong trường Username, nhập vào hostname hoặc địa chỉ IP (192.168.0.100) của Ubuntu 11.10 KVM host trong trường Hostname, kích Connect.

(Lưu ý thay thế 192.168.0.100 với IP hoặc hostname của KVM host. Tài khoản root cần phải được kích hoạt trên KVM host, và đăng nhập root phải được cho phép trên KVM. Để kích hoạt đăng nhập root trên hệ thống Ubuntu, chạy:

sudo passwd root

để kiểm tra nếu các thông tin đăng nhập root được cho phép kiểm tra thư mục PermitRootLogin trong /etc/ssh/sshd_config – bạn có thể cần khởi động lại SSH daemon sau đó.)

Cài đặt KVM Guest: kiểm tra các thông tin đăng nhập root

Nếu đây là lần đầu tiên kết nối tới máy chủ KVM từ xa, bạn phải nhập vào yes và kích OK:

Cài đặt KVM Guest: kết nối tới máy chủ KVM

Sau đó gõ mật khẩu root của Ubuntu 11.10 KVM host:

Cài đặt KVM Guest: Ubuntu 11.10 KVM host

Bạn sẽ thấy vm10 như đang chạy. Đánh dấu guest và kích Open để mở bảng điều khiển đồ họa của guest:

Cài đặt KVM Guest: bảng điều khiển đồ họa

Nhập lại mật khẩu root của KVM host lần nữa:

Cài đặt KVM Guest: Nhập mật khẩu root của KVM host

Bây giờ bạn sẽ được kết nối với giao diện điều khiển đồ họa của guest và xem trình cài đặt CentOS:

Cài đặt KVM Guest: trình cài đặt CentOS

Cài đặt KVM Guest: trình cài đặt CentOS

Bây giờ cài đặt CentOS như những hệ thống vật lý thông thường. Hãy lưu ý khi kết thúc tiến trình này hệ thống CentOS cần được khởi động lại. Guest sẽ bị dừng lại, vì vậy bạn cần khởi động lại nó, hoặc là với virt-manager hoặc giống như vậy trên dòng lệnh của máy chủ KVM:

Ubuntu 11.10 KVM Host:

sudo virsh --connect qemu:///system

start vm10

quit

Sau đó bạn có thể kết nối tới guest lần nữa với virt-manager và cấu hình cho guest. Bạn cũng có thể kết nối tới nó với SSH client (chẳng hạn như PuTTY).

6. Tạo một CentOS 6.0 Guest (Image-Based) từ Desktop với virt-manager

Thay vì tạo một máy ảo từ dòng lệnh (như mục 4 đã trình bày), bạn có thể tạo ra chúng từ Ubuntu desktop bằng cách sử dụng virt-manager (tất nhiên máy ảo sẽ được tạo trên Ubuntu 11.10 KVM host – trong trường hợp người dùng tự hỏi nếu virt-manager có thể tạo máy ảo trên hệ thống từ xa).

Để làm điều này, kích vào nút Tạo một CentOS 6.0 Guest

Hộp thoại New VM xuất hiện, điền đầy đủ tên cho VM (chẳng hạn vm11), chọn Local install media (ISO image or CDROM), kích Forward:

Cài đặt KVM Guest: Tạo một CentOS 6.0 Guest

Tiếp theo chọn Linux trong OS type Red Hat Enterprise Linux 6 trong Version của menu xổ xuống, sau đó đánh dấu kiểm vào Use ISO image rồi kích nút Browse...:

Cài đặt KVM Guest: Tạo một CentOS 6.0 Guest

Chọn CentOS-6.0-x86_64-bin-DVD1.iso mà bạn đã tạo tại mục 4 và kích Choose Volume:

Cài đặt KVM Guest: Tạo một CentOS 6.0 Guest

Bây giờ kích Forward:

Cài đặt KVM Guest: Tạo một CentOS 6.0 Guest

Cấp phát dung lượng bộ nhớ và số CPU cho máy chủ và kích Forward:

Cài đặt KVM Guest: Cấp phát dung lượng bộ nhớ

Tiếp theo chúng ta tới phần lưu trữ. Đánh dấu tại mục Enable storage for this virtual machine, chọn Create a disk image on the computer's hard drive, chỉ định kích thước cho ổ cứng (ví dụ 12GB). Đánh dấu tại Allocate entire disk now và kích Forward:

Cài đặt KVM Guest: chỉ định kích thước cho ổ cứng

Đến bước cuối cùng của hộp thoại New VM. Vào Advanced options chọn Specify shared device name; trường Bridge name sẽ xuất hiện nơi bạn điền đầy đủ tên của bridge (nếu sử dụng hướng dẫn Ảo hóa với KVM trên Ubuntu 11.10 để thiết lập máy chủ KVM, ở đây sẽ là br0). Kích Finish:

Cài đặt KVM Guest: điền đầy đủ tên của bridge

File ảnh của VM sẽ được khởi tạo:

Cài đặt KVM Guest: File ảnh của VM sẽ được khởi tạo

Sau đó VM sẽ khởi động. Nếu bạn sử dụng một KVM host từ xa, nhập vào mật khẩu root của máy chủ KVM:

Cài đặt KVM Guest: nhập vào mật khẩu root của máy chủ KVM

Bây giờ bạn sẽ được kết nối với giao diện điều khiển đồ họa của guest và xem trình cài đặt CentOS:

Cài đặt KVM Guest: trình cài đặt CentOS

Và cài đặt CentOS như bạn vẫn thường làm trên một hệ thống vật lý.

7. Nhân bản các Guest

Ubuntu 11.10 KVM Host:

Gói python-virtinst đi kèm với một công cụ thứ hai, virt-clone, cho phép bạn sao chép các guest. Để sao chép vm10 và đặt tên thành vm12 với ảnh đĩa /var/lib/libvirt/images/vm12.img, chỉ cần chạy lệnh (đảm bảo rằng vm10 đã dừng hoạt động):

sudo virt-clone --connect qemu:///system -o vm10 -n vm12 -f /var/lib/libvirt/images/vm12.img

Sau đó bạn có thể khởi động vm12 với virt-manager hoặc bằng lệnh sau:

sudo virsh --connect qemu:///system

start vm12

quit

và kết nối tới nó sử dụng virt-manager.

8. Các link tham khảo

  • KVM (Ubuntu Community Documentation): https://help.ubuntu.com/community/KVM
  • Ubuntu: http://www.ubuntu.com/