So sánh các định dạng ảnh ảo phổ biến
Hiện nay có nhiều định dạng ảnh ảo được sử dụng: raw, cow, qcow, qcow2, vmdk.
1. Định dạng raw
Định dạng raw là định dạng cũ, có thể hiểu là "trần trụi". Bạn có thể tạo một ảnh raw đơn giản bằng lệnh dd. Do tính đơn giản này, hiệu năng của raw khá tốt. CentOS 6 sử dụng raw làm định dạng mặc định cho KVM và XEN, trong khi CentOS 7 trở lên sử dụng qcow2.
Ưu điểm của raw là đơn giản và dễ chuyển đổi sang các định dạng khác. Về không gian lưu trữ, raw giống như đĩa cứng thực tế - sử dụng bao nhiêu thì chiếm bấy nhiêu không gian.
Ví dụ: Để chuyển qcow2 sang vmdk, bạn có thể chuyển qcow2 sang raw rồi từ raw sang vmdk, hoặc trực tiếp qcow2 sang vmdk.
Điểm yếu: Không hỗ trợ snapshot.
2. Định dạng cow, qcow, qcow2
Định dạng cow chưa phát triển hoàn thiện đã bị bỏ rơi và được thay thế bởi qcow.
qcow có những tính năng tốt khi mới ra mắt nhưng hiệu năng còn kém so với raw, và hiện đã bị thay thế bởi qcow2.
qcow2 là định dạng phổ biến hiện nay, sau nhiều lần tối ưu hóa, hiệu năng của qcow2 gần với raw. qcow2 hỗ trợ snapshot, cho phép tạo nhiều snapshot trên cùng một ảnh, với các ưu điểm: dung lượng lưu trữ nhỏ hơn; hỗ trợ tạo image; quản lý nhiều snapshot; hỗ trợ nén đĩa bằng zlib; hỗ trợ mã hóa AES.
3. Định dạng vmdk
vmdk là định dạng của VMware, có hiệu năng tốt nhất vì VMware là công ty chuyên về ảo hóa. Về hiệu năng và tính năng, vmdk là xuất sắc nhất, nhưng do kết hợp nhiều khả năng của VMware, KVM và XEN ít sử dụng định dạng này. Tuy nhiên, trong môi trường ảo hóa doanh nghiệp Esxi của VMware, nó rất ổn định và mạnh mẽ.
Chuyển đổi định dạng ảnh ảo
Sử dụng lệnh qemu-img convert với cú pháp: qemu-img convert -f [định dạng nguồn] -O [định dạng đích] [đường dẫn ảnh nguồn] [đường dẫn ảnh đích]
Ví dụ: Chuyển đổi CentOS 7.0 từ qcow2 sang raw
[root@server1 ~]# qemu-img convert -f qcow2 -O raw /opt/vms/centos7.0.qcow2 /opt/vms/centos7.0.raw
[root@server1 ~]# qemu-img info /opt/vms/centos7.0.raw
image: /opt/vms/centos7.0.raw
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 1.3G
Lưu ý: Sau khi thay đổi định dạng ảnh, bạn cần cập nhật tệp cấu hình tương ứng để sử dụng.
Cách 1: Không cần khởi động lại dịch vụ libvirtd
[root@server1 ~]# virsh edit centos7.0
// Sửa dòng 33-34
<driver name='qemu' type='raw'/>
<source file='/opt/vms/centos7.0.raw'/>
Cách 2: Cần khởi động lại dịch vụ libvirtd
[root@server1 ~]# vim /etc/libvirt/qemu/centos7.0.xml
// Sửa dòng 40-41
<driver name='qemu' type='raw'/>
<source file='/opt/vms/centos7.0.raw'/>
[root@server1 ~]# systemctl restart libvirtd