Tạo một LVM-Based VM

Một phần của tài liệu Tài liệu Ảo hóa với KVM trên Ubuntu 11.10 pptx (Trang 32 - 37)

LVM-Based VM có một số ưu điểm hơn các image-based VM. Chúng không gây

nặng ổ cứng IO và dễ dàng sao lưu bằng cách sử dụng LVM snapshots.

Để có thể sử dụng LVM-based VM, bạn cần một nhóm volume có không gian hợp lý và chưa được phân bố cho bất kỳ volume vật lý nào. Ở đây chúng tôi dùng /dev/vg0 với kích thước khoảng 465GB.

Vgdisplay root@server1:~# vgdisplay --- Volume group --- VG Name vg0 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 465.27 GiB PE Size 4.00 MiB

Total PE 119109

Alloc PE / Size 24079 / 94.06 GiB Free PE / Size 95030 / 371.21 GiB

VG UUID NQOLhN-wBWi-pUdD-el7p-TADJ-fJGd-3ALJbf root@server1:~#

… có chứa khối vật lý /dev/vg0/root với kích thước khoảng 100GB và

/dev/vg0/swap_1 kích thước 1GB – phần còn lại không được phân bố và có thể sử

dụng cho các máy ảo:

Lvdisplay root@server1:~# lvdisplay --- Logical volume --- LV Name /dev/vg0/root VG Name vg0 LV UUID KHbV2K-QKet-b660-aerE-x03F-nGVB-iR028M LV Write Access read/write

LV Status available # open 1 LV Size 93.13 GiB Current LE 23841 Segments 1 Allocation inherit

Read ahead sectors auto - currently set to 256 Block device 252:0 --- Logical volume --- LV Name /dev/vg0/swap_1 VG Name vg0 LV UUID NfmS1J-nVcl-l0W0-vBVG-2sDO-Rwwc-bnl9Yo

LV Write Access read/write LV Status available # open 2 LV Size 952.00 MiB Current LE 238 Segments 1 Allocation inherit

Read ahead sectors auto - currently set to 256 Block device 252:1 root@server1:~#

Bây giờ chúng ta tạo máy ảo vm5 như một LVM-based VM. Chúng ta có thể dùng lại lệnh vmbuilder. Vmbuilder biết rõ tùy chọn --raw cho phép ghi máy ảo tới một thiết bị block (ví dụ /dev/vg0/vm5) – và không có lỗi nào xảy ra. Tuy nhiên bạn không thể khở động máy ảo trên, do đó cần tạo một vm5 như image-based VM đầu tiên và sau đó chuyển đổi sang LVM-based VM.

mkdir -p

/var/lib/libvirt/images/vm5/mytemplates/libvirt cp /etc/vmbuilder/libvirt/*

/var/lib/libvirt/images/vm5/mytemplates/libvirt/

Hãy chắn rằng bạn đã tạo toàn bộ phân vùng trong một file ảnh, vì vậy không cần sử dụng --- trong tập tin vmbuilder.partition:

vi /var/lib/libvirt/images/vm5/vmbuilder.partition root 8000

swap 2000

# This script will run the first time the virtual machine boots

# It is ran as root.

# Expire the user account passwd -e administrator

# Install openssh-server apt-get update

apt-get install -qqy --force-yes openssh-server

Như bạn thấy từ tập tin vmbuilder.partition, VM sẽ sử dụng tối đa 20GB, do đó chúng ta tạo một khối vật lý có tên /dev/vg0/vm5 có kích thước 20GB:

lvcreate -L20G -n vm5 vg0

Không tạo ra một hệ thống tập tin trong khối vật lý mới!

Sử dụng lệnh qemu-img để chuyển đổi hình ảnh sang LVM-based VM. Trước tiên hãy đi tới thư mục ubuntu-kvm/ của VM…

cd /var/lib/libvirt/images/vm5/ubuntu-kvm/ … và tìm tên của hình ảnh: s –l root@server1:/var/lib/libvirt/images/vm5/ubuntu-kvm# ls -l total 622732 -rw-r--r-- 1 root root 637796352 2011-11-16 12:49 tmpN27tbO.qcow2 root@server1:/var/lib/libvirt/images/vm5/ubuntu-kvm#

Sau khi xác được tên của ảnh (tmpN27tbO.qcow2), chúng ta có thể convert như sau:

qemu-img convert tmpN27tbO.qcow2 -O raw /dev/vg0/vm5 Và sau đó có thể xóa ảnh đĩa:

rm -f tmpN27tbO.qcow2

Tiếp theo chúng ta cần thay đổi cấu hình của VM: virsh edit vm5

Thay đổi những phần sau: [...]

<disk type='file' device='disk'> <driver name='qemu' type='qcow2'/>

<source file='/var/lib/libvirt/images/vm5/ubuntu- kvm/tmpN27tbO.qcow2'/>

<target dev='hda' bus='ide'/>

<address type='drive' controller='0' bus='0' unit='0'/>

</disk> [...]

Để trở thành như thế này: [...]

<disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/dev/vg0/vm5'/> <target dev='hda' bus='ide'/>

<address type='drive' controller='0' bus='0' unit='0'/>

</disk>

[...]

Bạn có thể sử dụng virsh để quản trị VM: virsh --connect qemu:///system

Bởi vì chúng ta đã sửa đổi tập tin xml của VM, cho nên cần chạy lại lệnh define… define /etc/libvirt/qemu/vm5.xml

… trước khi khởi động VM: start vm5

Một phần của tài liệu Tài liệu Ảo hóa với KVM trên Ubuntu 11.10 pptx (Trang 32 - 37)

Tải bản đầy đủ (PDF)

(37 trang)