日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

qemu使用

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qemu使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

qemu使用?

本文目錄

  • 前言:
  • qemu-img基本命令
  • qemu-img使用

回到目錄

前言:

qemu-img是QEMU的磁盤管理工具,在qemu-kvm源碼編譯后就會默認編譯好qemu-img這個二進制文件。qemu-img也是QEMU/KVM使用過程中一個比較重要的工具,本節對其用法和實踐使用方法進行介紹。

本文先介紹qemu-img的基本命令及語法,這個也可以通過qemu-img --help得到。然后簡單介紹創建和使用kvm虛擬機鏡像文件的一般過程。

回到目錄

qemu-img基本命令

1、check [-f fmt] filename

對磁盤鏡像文件進行一致性檢查,查找鏡像文件中的錯誤,目前僅支持對“qcow2”、“qed”、“vdi”格式文件的檢查。其中,qcow2是QEMU 0.8.3版本引入的鏡像文件格式,也是目前使用最廣泛的格式。qed(QEMU enhanced disk)是從QEMU 0.14版開始加入的增強磁盤文件格式,為了避免qcow2格式的一些缺點,也為了提高性能,不過目前還不夠成熟。而vdi(Virtual Disk Image)是Oracle的VirtualBox虛擬機中的存儲格式。參數-f fmt是指定文件的格式,如果不指定格式qemu-img會自動檢測,filename是磁盤鏡像文件的名稱(包括路徑)。

2、create [-f fmt] [-o options] filename [size]

創建一個格式為fmt大小為size文件名為filename的鏡像文件。根據文件格式fmt的不同,還可以添加一個或多個選項(options)來附加對該文件的各種功能設置,可以使用“-o ?”來查詢某種格式文件支持那些選項,在“-o”選項中各個選項用逗號來分隔。

如果“-o”選項中使用了backing_file這個選項來指定其后端鏡像文件,那么這個創建的鏡像文件僅記錄與后端鏡像文件的差異部分。后端鏡像文件不會被修改,除非在QEMU monitor中使用“commit”命令或者使用“qemu-img commit”命令去手動提交這些改動。這種情況下,size參數不是必須需的,其值默認為后端鏡像文件的大小。另外,直接使用“-b backfile”參數也與“-o backing_file=backfile”效果相同。

size選項用于指定鏡像文件的大小,其默認單位是字節(bytes),也可以支持k(或K)、M、G、T來分別表示KB、MB、GB、TB大小。另外,鏡像文件的大小(size)也并非必須寫在命令的最后,它也可以被寫在“-o”選項中作為其中一個選項。

對create命令的演示如下所示,其中包括查詢qcow2格式支持的選項、創建有backing_file的qcow2格式的鏡像文件、創建沒有backing_file的10GB大小的qcow2格式的鏡像文件。

3、commit [-f fmt] [-t cache] filename

提交filename文件中的更改到后端支持鏡像文件(創建時通過backing_file指定的)中去。

4、convert [-c] [-p] [-f fmt] [-t cache] [-O output_fmt] [-o options] [-s snapshot_name] [-S sparse_size] filename [filename2 [...]] output_filename

將fmt格式的filename鏡像文件根據options選項轉換為格式為output_fmt的名為output_filename的鏡像文件。它支持不同格式的鏡像文件之間的轉換,比如可以用VMware用的vmdk格式文件轉換為qcow2文件,這對從其他虛擬化方案轉移到KVM上的用戶非常有用。一般來說,輸入文件格式fmt由qemu-img工具自動檢測到,而輸出文件格式output_fmt根據自己需要來指定,默認會被轉換為與raw文件格式(且默認使用稀疏文件的方式存儲以節省存儲空間)。

其中,“-c”參數是對輸出的鏡像文件進行壓縮,不過只有qcow2和qcow格式的鏡像文件才支持壓縮,而且這種壓縮是只讀的,如果壓縮的扇區被重寫,則會被重寫為未壓縮的數據。同樣可以使用“-o options”來指定各種選項,如:后端鏡像、文件大小、是否加密等等。使用backing_file選項來指定后端鏡像,讓生成的文件是copy-on-write的增量文件,這時必須讓轉換命令中指定的后端鏡像與輸入文件的后端鏡像的內容是相同的,盡管它們各自后端鏡像的目錄、格式可能不同。

如果使用qcow2、qcow、cow等作為輸出文件格式來轉換raw格式的鏡像文件(非稀疏文件格式),鏡像轉換還可以起到將鏡像文件轉化為更小的鏡像,因為它可以將空的扇區刪除使之在生成的輸出文件中并不存在。

5、info [-f fmt] filename

展示filename鏡像文件的信息。如果文件是使用稀疏文件的存儲方式,也會顯示出它的本來分配的大小以及實際已占用的磁盤空間大小。如果文件中存放有客戶機快照,快照的信息也會被顯示出來。

6、snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename

“-l” 選項是查詢并列出鏡像文件中的所有快照,“-a snapshot”是讓鏡像文件使用某個快照,“-c snapshot”是創建一個快照,“-d”是刪除一個快照。

7、rebase [-f fmt] [-t cache] [-p] [-u] -b backing_file [-F backing_fmt] filename

改變鏡像文件的后端鏡像文件,只有qcow2和qed格式支持rebase命令。使用“-b backing_file”中指定的文件作為后端鏡像,后端鏡像也被轉化為“-F backing_fmt”中指定的后端鏡像格式。

它可以工作于兩種模式之下,一種是安全模式(Safe Mode)也是默認的模式,qemu-img會去比較原來的后端鏡像與現在的后端鏡像的不同進行合理的處理;另一種是非安全模式(Unsafe Mode),是通過“-u”參數來指定的,這種模式主要用于將后端鏡像進行了重命名或者移動了位置之后對前端鏡像文件的修復處理,由用戶去保證后端鏡像的一致性。

8、resize filename [+ | -]size

改變鏡像文件的大小,使其不同于創建之時的大小。“+”和“-”分別表示增加和減少鏡像文件的大小,而size也是支持K、M、G、T等單位的使用。縮小鏡像的大小之前,需要在客戶機中保證里面的文件系統有空余空間,否則會數據丟失,另外,qcow2格式文件不支持縮小鏡像的操作。在增加了鏡像文件大小后,也需啟動客戶機到里面去應用“fdisk”、“parted”等分區工具進行相應的操作才能真正讓客戶機使用到增加后的鏡像空間。不過使用resize命令時需要小心(最好做好備份),如果失敗的話,可能會導致鏡像文件無法正常使用而造成數據丟失。(www.sijitao.net)

回到目錄

qemu-img使用

1、創建虛擬機鏡像

以下命令是創建一個raw格式,大小為8G的鏡像。

root@ubuntu:/var/lib/libvirt/images# qemu-img create -f raw test.raw 8G
Formatting '/var/lib/libvirt/images/test.raw', fmt=raw size=8589934592

2、查看虛擬機鏡像文件

以下命令是查看剛剛創建的文件。

root@ubuntu:/var/lib/libvirt/images# qemu-img info test.raw
image: test.raw
file format: raw
virtual size: 8.0G (8589934592 bytes)
disk size: 0

ls中看到文件的大小是8G,但是實際上現在這塊磁盤大小是0。這就是稀疏文件。

3、轉化格式

qemu-img支持的格式如下所示:

Supported formats: vvfat vpc vmdk vdi sheepdog rbd raw host_cdrom host_floppy host_device file qed qcow2 qcow parallels nbd dmg tftp ftps ftp https http cow cloop bochs blkverify blkdebug

以下命令是把文件從raw轉成qcow2格式,然后再查看新鏡像文件。

root@ubuntu:/var/lib/libvirt/images# qemu-img convert -c -O qcow2 test.raw test.qcow2
root@ubuntu:/var/lib/libvirt/images# qemu-img info test.qcow2
image: test.qcow2
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 136K
cluster_size: 65536

4、改變鏡像文件大小

這個命令需要注意數據的備份,下面是轉化的例子。

root@ubuntu:/var/lib/libvirt/images# qemu-img resize test.raw +1GB
Image resized.
root@ubuntu:/var/lib/libvirt/images# qemu-img info test.raw
image: test.raw
file format: raw
virtual size: 9.0G (9663676416 bytes)
disk size: 0

raw和qcow2都可以支持resize。

root@ubuntu:/var/lib/libvirt/images# qemu-img resize test.qcow2 +1GB
Image resized.
root@ubuntu:/var/lib/libvirt/images# qemu-img info test.qcow2
image: test.qcow2
file format: qcow2
virtual size: 9.0G (9663676416 bytes)
disk size: 140K
cluster_size: 65536

5、磁盤鏡像快照

快照這個功能只支持qcow2格式,raw不支持。其中-c是創建快照,-l是查看快照,-a是恢復快照,-d是刪除快照。注意,創建磁盤快照時虛擬機需要處理關閉的狀態。

root@ubuntu:/var/lib/libvirt/images# qemu-img snapshot -c base test.raw
qemu-img: Could not create snapshot 'base': -95 (Operation not supported)
root@ubuntu:/var/lib/libvirt/images# qemu-img snapshot -c base test.qcow2
root@ubuntu:/var/lib/libvirt/images# qemu-img snapshot -l test.qcow2
Snapshot list:
ID??????? TAG???????????????? VM SIZE??????????????? DATE?????? VM CLOCK
1???????? base????????????????????? 0 2014-11-06 15:52:38?? 00:00:00.000

root@ubuntu:/var/lib/libvirt/images# qemu-img snapshot -a 1 test.qcow2
root@ubuntu:/var/lib/libvirt/images# qemu-img snapshot -l test.qcow2
Snapshot list:
ID??????? TAG???????????????? VM SIZE??????????????? DATE?????? VM CLOCK
1???????? base????????????????????? 0 2014-11-06 15:52:38?? 00:00:00.000
root@ubuntu:/var/lib/libvirt/images# qemu-img snapshot -d 1 test.qcow2
root@ubuntu:/var/lib/libvirt/images# qemu-img snapshot -l test.qcow2

6、使用派生鏡像

剛剛我們創建了test.raw鏡像,比如使用這個鏡像的虛擬機安裝了一個系統。然后我們可以通過創建派生鏡像來使用這個系統,避免每創建一個虛擬機就安一個系統的情況。下面是創建一個派生鏡像的例子。

root@ubuntu:/var/lib/libvirt/images# qemu-img create -f qcow2 test1.qcow2 -o backing_file=test.raw
Formatting 'test1.qcow2', fmt=qcow2 size=9663676416 backing_file='test.raw' encryption=off cluster_size=65536
root@ubuntu:/var/lib/libvirt/images# qemu-img info test1.qcow2
image: test1.qcow2
file format: qcow2
virtual size: 9.0G (9663676416 bytes)
disk size: 136K
cluster_size: 65536
backing file: test.raw (actual path: test.raw)

總結

以上是生活随笔為你收集整理的qemu使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。