Friday, 7 June 2013

[KVM] Tăng tốc máy ảo bằng virtio

Sẽ viết một bài cài máy ảo sử dụng KVM sau.

KVM là gì?
Định nghĩa theo trang chủ:
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V).

Nói đơn giản nó sẽ cho phép bạn cài máy ảo lên máy bạn đang dùng, tương tự như VirtualBox, VMWare.  KVM được tích hợp sẵn vào kernel của Linux từ phiên bản 2.6.20

Virtio 

là một chuẩn ảo hóa cho các thiết bị mạng và đĩa cứng. Nói một cách dễ hiểu thì virtio làm cho máy ảo biết nó là máy ảo, và vì thế sẽ hợp tác với trình ảo hóa  để tăng tốc các thiết bị mạng và ổ cứng (còn bình thường nó sẽ chạy như một máy thật, sử dụng các thiết bị ảo, các thiết bị này rất phức tạp, khiến cho tốc độ chậm...)

Nếu bạn đang chạy một máy ảo trên KVM rồi, mở virsh lên và gõ:
edit tên_máy_ảo (lúc này máy ảo đang tắt)

sau đó tìm phần <interface>, thêm vào dòng

<model type="virtio" />
bật máy ảo lên, chạy 
sudo lsmod | grep virtio
nếu thấy virtio_net , virtio_pci tức là đã ok


Tương tự, làm tiếp với thiết bị đĩa, tìm phần <disk ...>
Sửa lại như sau:
  <target dev='vda' bus='virtio'/>
Và xóa tất cả các dòng <address... trong vùng đó đi.
Sau đó bật máy lên.

Để test tốc độ đĩa cứng, có thể sử dụng lệnh dd

BÀI VIẾT NÀY SẼ ĐƯỢC UPDATE

Đã test thành công trên máy host:

hvn@lappy: ~ () $ lsb_release -d; uname -r
Description:    Ubuntu 12.04.2 LTS
3.2.0-39-generic

Máy guest:
root@1204x86:~# lsb_release -d; uname -r
Description:    Ubuntu 12.04.2 LTS
3.5.0-23-generic