ถ้ากล่าวถึงเรื่อง Virtualization หรือ Cloud คนมักจะนึกถึง Virtual Machine (VM) โดยพวก VM เหล่านี้ทุกสิ่งที่อย่างจะเป็น ของปลอมหรือของจำลองทั้งหมด
QCOW2 virtual disk format เป็นตัวที่น่าสนใจเป็นอย่างมากๆ Advanced feature จะใช้ผ่าน QEMU image tools พวกการสร้าง virtual disk หรือการสร้าง Snapshots บน Image (virtual disk) เป็นต้น
เบื้องต้นเริ่มลองใช้คำสั่งกันเลย
1. คำสั่ง Dump information เกี่ยวกับ image file.
Command Format:
qemu-img info {image-name}
image-name คือ ชื่อของ virtual-disk
Example Command:
root@ubuntu#qemu-img info hda.qcow2 image: hda.qcow2 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 2.3G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false refcount bits: 16 corrupt: false root@ubuntu# du -sh * 2.4G hda.qcow2 root@ubuntu#
2. คำสั่งสร้างไฟล์ QCOW2 image
Command Format:
qemu-img create -f qcow2 {image-name} {max-storage}
image-name คือ ชื่อของ virtual-disk ที่จะสร้าง
max-storage คือ ขนาดที่ใหญ่ที่สุดที่สร้างใช้งานได้ของ virtual-disk ที่จะสร้างมา
Example Command:
root@ubuntu# qemu-img create -f qcow2 virtioa.qcow2 100G Formatting 'virtioa.qcow2', fmt=qcow2 size=107374182400 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16 root@ubuntu# root@ubuntu#du -sh * 196K virtioa.qcow2 root@ubuntu#
3. คำสั่งสร้าง virtual-disk image ใหม่ โดยอ้างอิงไฟล์ backing image อีกไฟล์หนึ่งๆ เป็น Based Image
Command Format:
qemu-img create -b {image-name-1} -f qcow2 -l {image-name-2}
image-name-1 คือ ชื่อที่จะอ้างอิงไฟล์ backing image
image-name-2 คือ ชื่อของ virtual-disk ที่จะสร้างมาใหม่ โดยอ้างอิง based image ไปที่ image-name-1
Additional
จากคำสั่งนี้ image-name-2 จะอ้างอิง base image จาก image-name-1 โดยถ้ามีการเพิ่ม/เปลี่ยนแปลงข้อมูลใดๆ จะทำที่ไฟล์ image-name-2 เนื่องจากมีการอ้างอิงไฟล์ image-name-1 ทุกอย่างๆ จะทำให้เราไม่ควรจะเปลี่ยนแปลง image-name-1 เพราะจะทำให้ image-name-2 มีปัญหาหรือ Corrupted เลย จะเรียกอีกอย่างว่าพังนั้นเอง
Example Command:
root@ubuntu#qemu-img create -b /opt/unetlab/addons/qemu/linux-ubuntu16.04/virtioa.qcow2 -f qcow2 -l virtioa.qcow2 root@ubuntu# root@ubuntu#qemu-img info virtioa.qcow2 image: virtioa.qcow2 file format: qcow2 virtual size: 100G (107374182400 bytes) disk size: 341M cluster_size: 65536 backing file: /opt/unetlab/addons/qemu/linux-ubuntu16.04/virtioa.qcow2 Format specific information: compat: 1.1 lazy refcounts: false refcount bits: 16 corrupt: false root@ubuntu# root@ubuntu#qemu-img info /opt/unetlab/addons/qemu/linux-ubuntu16.04/virtioa.qcow2 image: /opt/unetlab/addons/qemu/linux-ubuntu16.04/virtioa.qcow2 file format: qcow2 virtual size: 100G (107374182400 bytes) disk size: 4.3G cluster_size: 65536 backing file: /opt/unetlab/addons/qemu/linux-UBT16.04/virtioa.qcow2 Format specific information: compat: 1.1 lazy refcounts: false refcount bits: 16 corrupt: false root@ubuntu#
4. คำสั่งดูรายการ (list) Snapshot ของไฟล์
Command Format:
qemu-img snapshot -l {image-name}image-name คือ ชื่อของ virtual-disk
Example Command:
root@ubuntu# qemu-img snapshot -l virtioa.qcow2 Snapshot list: ID TAG VM SIZE DATE VM CLOCK 1 snap1 0 2016-08-24 12:02:39 00:00:00.000 2 snap2 0 2016-08-24 12:05:48 00:00:00.000 root@ubuntu#
5. คำสั่งสร้าง (Create) Snapshot
Command Format:
qemu-img snapshot -c {snapshot-name} {image-name}snapshot-name คือ ชื่อของ snapshot
image-name คือ ชื่อของ virtual-disk
Example Command:
root@ubuntu#qemu-img snapshot -c snap1 virtioa.qcow2
6. คำสั่งใช้ (Apply) Snapshot
Command Format:
qemu-img snapshot -a {snapshot-name} {image-name}snapshot-name คือ ชื่อของ snapshot
image-name คือ ชื่อของ virtual-disk
Example Command:
root@ubuntu#qemu-img snapshot -a snap1 virtioa.qcow2
7. คำสั่งลบ (Delete) Snapshot
Command Format:
/opt/qemu/bin/qemu-img snapshot -d {snapshot-name} {image-name}snapshot-name คือ ชื่อของ snapshot
image-name คือ ชื่อของ virtual-disk
Example Command:
/opt/qemu/bin/qemu-img snapshot -d snap1 virtioa.qcow2
8. คำสั่ง Convert หรือ Export เพื่อสร้างเป็น Standalone image โดยไม่มีการส่วนของ Snapshot และการอ้างอิง Backing Image
Command Format:
qemu-img convert -p -f qcow2 {image-name-1} -O qcow2 {image-name-2}image-name-1 คือ ชื่อของ virtual-disk ตัวที่ต้องการ Convert หรือ Export
image-name-2 คือ ชื่อของ virtual-disk ตัวที่เป็น Standalone image
Example Command:
/opt/qemu/bin/qemu-img convert -p -f qcow2 virtioa.qcow2 -O qcow2 virtioa.qcow2.backup
ลองทดสอบใช้งานกันดูครับ เดี๋ยวบทความหน้าจะมานำคำสั่งไปใช้งานครับ........
URL Refer:
http://linux.die.net/man/1/qemu-img
No comments:
Post a Comment