qemu 轉換鏡像格式


 

qemu-img是QEMU的磁盤管理工具,在qemu-kvm源碼編譯后就會默認編譯好qemu-img這個二進制文件。

qemu-img也是QEMU/KVM使用過程中一個比較重要的工具,可以用其創建兩種格式(raw和qcow2)的虛擬機磁盤。

 

我們kvm 和openstack 中常用得鏡像格式就是raw 或者qcow2 格式得鏡像, 一般通常用qcow2 

 

為什么選擇qcow2 鏡像? 

"raw" 鏡像格式是最最簡單的,並且是被 KVM 和 Xen 原生支持的格式,raw唯一的缺點在於,看起來很大,在scp的時候,這會消耗很多的網絡IO,而壓縮這么大的文件,也是很耗時間和cpu 

qcow2 (QEMU 寫時復制版本2)格式通常是KVM使用,使用稀疏文件呈現方式,鏡像尺寸小,支持快照。

 

舉個例子: raw 格式就像你郵寄一箱子,這個箱子可以存放十斤得重量得物品,我得箱子里存放了兩斤得重量得東西,我在郵寄使用這個箱子都時按照十斤大小去計費。他不會管你實際用了多少,你這個箱子有多大,那我按照你這個最大得來計算。

qocw2 格式,我這個箱子可以存放十斤得重量得物品,但是我只放了兩斤,我在郵寄使用就是算這兩斤重量,他是按照你實際使用得大小來計算得

 

raw 格式鏡像你看到時多大就是多大

qcow2 格式鏡像,隨着你對鏡像得操作他會動態得增長, 但是他不是無限置得增長。我們鏡像都有一個virtual size 這個就是我們鏡像得大小得限制

 

 

查看鏡像大小與格式

qemu-img info   鏡像名 

 

qemu-img 轉換鏡像格式

qemu-img convert -f raw -O qcow2 ubuntu-14.04.6-server-amd64.iso  (初始鏡像) ubuntu-14.04.6-server-amd64.qcow2(轉換格式后得鏡像命名)

 

擴容鏡像大小

qemu-img resize   鏡像名    +20G   

 

縮減鏡像大小      (不建議使用,這樣可以減少空間但是對系統有損害,可能導致系統直接進入維護模式或者鏡像拉不起虛機)

qemu-img  resize 鏡像名  -20G

 

 

 

 

實例

查看鏡像得大小和格式

[root@ var]# qemu-img info ubuntu-14.04.6-server-amd64.iso                 
image: ubuntu-14.04.6-server-amd64.iso
file format: raw
virtual size: 632M (662700032 bytes)
disk size: 632M

將鏡像有raw 格式轉為qcow2 格式
[root@ var]# qemu-img convert -f raw -O qcow2 ubuntu-14.04.6-server-amd64.iso ubuntu-14.04.6-server-amd64.qcow2

檢查鏡像大小格式
[root@ var]# qemu-img info ubuntu-14.04.6-server-amd64.qcow2
image: ubuntu-14.04.6-server-amd64.qcow2
file format: qcow2
virtual size: 632M (662700032 bytes)    -------鏡像總得大小
disk size: 631M              ------鏡像使用得實際大小
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false


擴展qcow2 大小
root@cic-0-1:~# qemu-img resize ubuntu-14.04.6-server-amd64.qcow2 +20G
Image resized.
root@cic-0-1:~# qemu-img info ubuntu-14.04.6-server-amd64.qcow2
image: ubuntu-14.04.6-server-amd64.qcow2
file format: qcow2
virtual size: 21G (22137536512 bytes)
disk size: 631M
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false

 

 


擴容后lsblk 查看節點新擴容的節點得信息是有顯示的。 但是需要將擴容的空間加到我們需要用的分區里

growpart /dev/vda1 將新擴容的空間添加我們需要的分區,但是我們df -TH 檢查會發現,分區掛載的目錄大小並沒有變化,lsblk 查看分區是擴容空間后的大小,檢查沒有問題

resize2fs /dev/vda1    在線調整分區大小(df TH 是會發現分區掛載的目錄大小是增大了)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM