標籤:
KVM支援的虛擬磁碟類型
raw
這並非是一種真正的磁碟格式,而是代表虛擬機器所使用的原始鏡像;它並不儲存中繼資料,因此可以作為保證虛擬機器相容性的候選方案,然而也正因為
它不儲存中繼資料,因此不能支援某些進階特性,比如快照和壓縮等。
格式簡單,容易轉換為其他格式;需要檔案系統的支援才能支援sparse file
cow copy-on-write格式,曇花一現
qcow QEMU早期的copy-on-write格式,過渡性方案
qcow2
按需進行分配磁碟空間,不管檔案系統是否支援
支援快照、壓縮、加密
當虛擬機器出現問題,如何拷貝出裡面的資料?沒有開機的情況下,如何掛在硬碟檔案?
首先我們找到虛擬機器的磁碟檔案存放位置,儲存池位於哪裡,此處以/var/lib/libvit/image/ 為例
1 # cd /var/lib/libvirt/images/ 2 [[email protected] images]# qemu-img info rhel6.6.qcow2 3 image: rhel6.6.qcow2 4 file format: qcow2 5 virtual size: 9.0G (9663676416 bytes) 6 disk size: 1.7G 7 cluster_size: 65536 8 Format specific information: 9 compat: 1.110 lazy refcounts: true
格式的轉換:
qemu-img convert -f qcow2 -O raw rhel7.qcow2 rhel7.img
qemu-img convert -f 源格式 -O 目標格式 源磁碟 目標磁碟
raw格式磁碟掛載:
kpartx -av rhel7.img ------執行後會把rhel7.img映射為幾個檔案
在/dev/mapper/下 為loop0p1(boot) loop0p2 rhel-root(/) rhel-swap(swap)
將其分別掛載就可以拷貝其中的資料
kpartx -d rhel7.img -----刪除換回映射
qcow2格式磁碟掛載
必須要在核心裡添加nbd模組
思路:qcow2先轉換為raw格式,以raw格式去操作
1.查看現有磁碟鏡像格式與轉換
(1) 查看磁碟格式
# qemu-ing info kvmname.img
raw格式需要轉換成qcow2
(2)關閉虛擬機器並轉換磁碟
#virsh shutdown kvmname
(3)轉換磁碟格式
# qemu-img convert -f raw -O qcow2 kvmname1.img kvmname2.qcow2
-f 源鏡像格式
-O 目標鏡像格式
查看轉換格式後,已經轉換成了qcow2,這裡是拷貝一份,並將格式轉化成qcow2
# qemu-img info kvmname2.qcow2
qemu-img create -f qcow2 /data/test1.qcow2 10G
1.給虛擬機器線上添加磁碟
(1)查看現有磁碟
# virsh domblklist kvmname
(2)建立一塊qcow2虛擬磁碟
# qemu-img create -f qcow2 test_add.qcow2 5G
(3)添加虛擬磁碟
# virsh attach-disk kvmname /path/test_add.qcow2 vdb
此時添加的在重啟之後會消失,需要將新添加的磁碟配置儲存到設定檔中
# virsh dumpxml kvmname
<disk type=‘file‘ device=‘disk‘>
<driver name=‘qemu‘ type=‘qcow2‘ cache=‘none‘/>
<source file=‘/data/test02_add01.qcow2‘/>
<target dev=‘vdb‘ bus=‘virtio‘/>
<alias name=‘virtio-disk1‘/>
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x06‘ function=‘0x0‘/>
</disk>
# virsh edit kvmname
修改虛擬機器的設定檔(/etc/libvirt/qemu/)可以根據已複製發磁碟定義新的虛擬機器
KVM虛擬化技術(六)磁碟管理