1. 程式人生 > >製作kvm映象、格式轉換

製作kvm映象、格式轉換

2018-12-25


 

製作kvm映象(以centos 7 為例)

執行建立虛擬機器命令

virt-install --name centos7_kvm --memory 1024 --vcpus=1 --disk /home/kvm/vm-disk/centos7_kvm.img,format=qcow2,size=20  --os-type=linux --os-variant=rhel7 --cdrom /home/kvm/vm-disk/CentOS-7-x86_64-Minimal-1804.iso --noautoconsole --vnc --vncport=5970 --vnclisten=0.0
.0.0
virsh工具的相關選項說明
--name 虛擬機器名稱
--memory 記憶體大小
--vcpus= vcpu個數
--disk 建立硬碟 制定硬碟路徑,格式,大小
--network 指定網路(可不加,預設虛擬機器正在使用的虛擬網路)
--os-type 指定作業系統型別
--os-variant= 指定作業系統版本
--cdrom 指定光碟機安裝作業系統
--noautoconsosle 虛擬機器建立完畢後不會自動切換tty
--vnc 使用vnc
--vncport vnc埠

建立完虛擬機器之後,通過vnc連線虛擬機器,完成系統的安裝

系統安裝完成之後,進入kvm映象儲存目錄,本例目錄為  /home/kvm/vm-disk/

cd /home/kvm/vm-disk/
virsh list --all   #檢視所有kvm虛擬機器

 Id    Name                           State
----------------------------------------------------
 1     centos7_kvm                running

此時虛擬機器正在執行,之後檢視kvm映象資訊

qemu-img  info centos7_kvm.img 

image: centos7_kvm.img
file format: qcow2
virtual size: 20G (21474836480 bytes) disk size: 2.9G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: true

此時可以看出kvm映象虛擬磁碟大小為20G,實際大小為2.9G

此時異地備份映象,會發現映象會按照20G大小傳輸,不利於我們拷貝映象

此時可以考慮壓縮映象(只有qcow2和qcow格式的映象檔案才支援壓縮)

由於我的kvm映象是qcow2的格式,我不想改變格式,所以在-O qcow2 時候輸出qcow2

qemu-img convert -c  -O qcow2 centos7_kvm.img new-centos7_kvm.img

  qemu-img info new-centos7_kvm.img


  image: new-centos7_kvm.img
  file format: qcow2
  virtual size: 20G (21474836480 bytes)
  disk size: 989M
  cluster_size: 65536
  Format specific information:
      compat: 1.1
      lazy refcounts: false

kvm映象虛擬空間也可拓展(raw和qcow2都支援動態的調整磁碟大小,但是qcow2不支援縮減)

[[email protected] vm-disk]# qemu-img resize new-centos7_kvm.img +2G
Image resized.
[[email protected] vm-disk]# qemu-img  info new-centos7_kvm.img 
image: new-centos7_kvm.img
file format: qcow2
virtual size: 22G (23622320128 bytes)
disk size: 989M
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

可見磁碟大小已經拓展(kvm映象不建議縮減磁碟空間,防止原有資料被破壞而不自知

kvm映象格式轉換

qcow2轉img格式

qemu-img convert -f qcow2 -O raw centos.qcow2  centos.img

vmdk轉qcow2格式

qemu-img convert -f vmdk -O qcow2 centos.vmdk  centos.qcow2

其他格式之間相互轉換均可參照以上命令轉換