Skip to the content.

QEMU Image

Image là một file mà đại diện cho dữ liệu trên ổ cứng. Đối với một máy ảo, image là một ổ cứng và nó có thể tạo filesystem riêng cho nó.

1. Các loại file image.

QEMU hỗ trợ nhiều loại file image. Trong đó, qcow2 là loại image thông dụng và linh hoạt nhất, hỗ trợ tính năng copy on write.

Một số loại hay định dạng image mà QEMU có thể sử dụng:

2. Tạo image.

Để tạo một guest OS image, đầu tiên bạn cần tạo một image chống. QEMU có lệnh qemu-img để tạo và thao tác với dics image. Khi không chỉ định định dạng, nó sẽ tạo raw image. Lệnh sau tạo một image ở định dạng qcow2 và có kích thước là 10G:

qemu-img create -f qcow2 test.qcow2 10G

Cài một hệ điều hành lên image vừa tạo bằng cách tạo một ổ đĩa chứa file iso và boot nó. Lệnh sau tạo một máy ảo với 256 MB ram, sử dụng image vừa tạo và boot một file iso centos 7:

qemu-system-x86_64 -m 256 -hda test.qcow2 -cdrom CentOS-7-x86_64-Minimal-1804.iso -boot d

Thay vì sử dụng file iso để boot, có thể sử dụng ổ đĩa thật như là :/dev/cdrom hay /dev/dvd,…

Sử dụng nhiều image.

QEMU hỗ trợ sử dụng 4 image để biểu diễn nhiều ổ đĩa trên máy ảo. Để thêm image trong QEMU, sử dụng các tùy chọn -hda, -hdb, -hdc và -hdd

qemu-system-x86_64 -m 256 -hda winxp.img -hdb pagefile.img -hdc testdata.img -hdd tempfiles.img -enable-kvm

Chú ý: QEMU không hỗ trợ -hdc và -cdrom cùng một lúc.

3. Copy on write.

Copy on write là một kỹ thuật quản lý tài nguyên, cho phép thiết lập một image một lần để có thể sử dụng nhiều lần mà không làm thay đổi chúng. Điều này hữu ích để tạo một môi trường ổn định để từ đó tạo nhiều môi trường khác nhau từ môi trường gốc.

Để tạo ra một image dựa trên một image gốc, ổn định, sử dụng qemu-img với tùy chọn “backing_file” để nói cho qemu sử dụng image nào làm để copy. Khi máy ảo sử dụng ổ đĩa mới, nó vẫn có thể truy cập tài nguyên trên base image và mọi thay đổi của nó sẽ được lưu trên image mới.

qemu-img create -f qcow2 -o backing_file=test.qcow2 test2.qcow2
qemu -m 256 -hda test2.qcow2 -enable-kvm &

4. Convert image formart.

QEMU hỗ trợ đổi image format cho các image từ định dạng này sang định dạng khác, với một số tùy chọn: -f fmt – xác định image format cho input file. -O fmt – xác định image format cho output file. -e – sử dụng để mã hóa output file -c – sử dụng để nén output file -6 – sử dụng cùng với tùy chọn convert sang vmdk format để có thể tương thích với vmware 6.

Ví dụ convert từ ‘vmdk’ sang ‘qcow2’:

qemu-image convert -O vdi test.qcow2 test.vmdk