qcow2是動態的,即便檔案系統不支援sparse file,檔案大小也很小
qcow2功能一:copy on write
qcow2的格式如下
它實行的是2-level loopup
qcow2的資料是儲存在data clusters裡面的,每個cluster是512 byte sector
為了能夠管理這些cluster,qcow2儲存了兩層的table,l1 table指向l2 table,l2 table管理data cluster.
在image裡面的offset會被解析成三部分,l1 table pointer先找l1,l1 table pointer+ offset[0]是l1中的乙個entry,讀出來便是l2 table pointer, l2 table pointer + offset[1]是l2中的乙個entry,讀出來便是data cluster pointer, data cluster pointer +offset[3]便是資料所在的位置。
backing file就是基於這個原理的用處,乙個qcow2的image可以儲存另乙個disk image的改變,而不影響另乙個image
建立backing file
qemu-img create -f qcow2 -o backing_file=./ubuntutest.qcow2 ubuntutest1.qcow2
一開始新的image是空的,讀取的內容都從老的image裡面讀取。
當乙個data cluster被寫入,發生改變的時候,在新的image裡面建立乙個新的data cluster,這就是copy on write的意義。
qcow2也可以轉換為qcow2,轉換的過程中,沒用的data cluster就被去掉
利用 qemu-img 將原始qcow2 壓縮。
root@uos-1:~# ls -lh uos-test.qcow2
-rw------- 1 root root 65g 1? 13 16:46 uos-test.qcow2
root@kvm-uos-1:~#
root@kvm-uos-1:~#
root@kvm-uos-1:~#
root@kvm-uos-1:~# qemu-img convert -c -f qcow2 -o qcow2 uos-test.qcow2 uos-test.qcow2.backup
root@kvm-uos-1:~#
root@kvm-uos-1:~# ls -lh uos-test.qcow2
-rw------- 1 root root 65g 1? 13 16:46 uos-test.qcow2
root@kvm-uos-1:~# ls -lh uos-test.qcow2.backup
-rw-r--r-- 1 root root 5.8g 1? 13 17:09 uos-test.qcow2.backup
root@kvm-uos-1:~#
安裝虛擬機器二 安裝虛擬機器
安裝軟體 vmware 10 centos 6.5 x86 64 minimal.iso 安裝步驟 第一步 第二步 安裝首介面 選擇第乙個 第三步 跳過磁碟掃瞄 第四步 點選 next 第五步 語言選擇english 第六步 設定鍵盤型別 第七步 儲存設定 第八步 清空虛擬磁碟 第九步 設定主機名 ...
虛擬機器安裝優化
虛擬機器安裝 net.ifnames 0 biosdevname 0系統初始化 1 上傳指令碼 root localhost ll total 12 rwxr xr x.1 root root 4544 jun 29 15 23 init.sh 2 對指令碼授權 root localhost chm...
利用VMwareTools優化虛擬機器壓縮虛擬磁碟
虛擬機器是我日常工作的必備工具,使用4年來給我的工作帶來了極大的便利。第一次用虛擬機器是在學校做本科畢業設計的時候,需要編譯linux2.6的核心,並對系統進行剪裁,用虛擬機器來完成簡直是事半功倍。後來就離不開vmware。安裝完虛擬機器裡的作業系統,都要安裝vmwaretools,它能顯著提高虛擬...