1. 程式人生 > 實用技巧 >管理配置KVM,熱新增、熱遷移

管理配置KVM,熱新增、熱遷移

管理KVM虛擬機器命令

//虛擬機器隨著系統啟動

virsh autostart Name

//關閉虛擬機器隨系統啟動

virsh autostart —disable Name

//檢視正在執行的KVM虛擬機器

[root@test01 ~]# virsh list

//檢視所有KVM虛擬機器

[root@test01 ~]# virsh list --all

//啟動KVM虛擬機器

[root@test01 ~]# virsh start name

//關閉KVM虛擬機器

[root@test01 ~]# virsh shutdown name

//強制關閉KVM虛擬機器(斷電)

[root@test01 ~]# virsh destroy name

//掛起KVM虛擬機器

[root@test01 ~]# virsh suspend name

//恢復掛起的虛擬機器

[root@test01 ~]# virsh resume name

//編輯KVM虛擬機器的xml配置檔案

[root@test01 ~]# virsh edit name

//刪除建立的KVM虛擬機器

[root@test01 ~]# virsh undefine name

KVM虛擬機器熱新增磁碟

KVM虛擬機器中有兩種磁碟格式:

raw格式: 直接佔用物理磁碟, 寫入快, 效能優, 但佔用空間
Qcow2格式: 使用多少佔多少磁碟, 支援壓縮、快照、映象
注意:raw不支援快照, Qcow2支援快照, 但兩者檔案型別是可以相互間轉換

無論磁碟是raw qcow2格式,擴充套件思路如下

1.新新增一塊磁碟加入至需要擴容的虛擬主機
2.使用lvm邏輯卷管理方式進行擴充套件

1.檢視當前KVM虛擬機器所使用的虛擬磁碟

[root@test01 ~]# virsh domblklist centos7Target     Source------------------------------------------------vda        /data/centos7.qcow2

2.建立一塊qcow2虛擬磁碟

[root@test01 ~]# qemu-img create -f qcow2 /data/centos7-disk2.qcow2 10G

3.線上新增虛擬磁碟

//線上新增

[root@test01 ~]# virsh attach-disk centos7 /data/centos7-disk2.qcow2 vdb --cache=none --subdriver=qcow2Disk attached successfully

//檢視新增磁碟狀態

[root@test01 ~]# virsh domblklist centos7Target     Source

------------------------------------------------

vda        /data/centos7.qcow2

vdb        /data/centos7-disk2.qcow2

KVM虛擬機器熱新增網絡卡[root@test01 ~]# virsh

                                        
進入virsh命令列模式
virsh # attach-interface cetnos7 --type bridge --source br0
     新增一塊橋接網絡卡
virsh # attach-interface cetnos7 --type bridge --source br0 --model virtio
新增一塊網絡卡,指定模式virtio網絡卡更快
virsh # attach-interface cetnos7 --type bridge --source br0 --model virtio --config
寫進配置檔案,永久生效
virsh # domiflist cetnos7   
                             檢視虛擬機器有多少塊網絡卡
virsh # domblklist cetnos7
     檢視虛擬機器有多少硬碟
virsh # detach-interface cetnos7 --type bridge --mac 52:54:2f:6f:47:8f    分離網絡卡

KVM虛擬機器熱新增記憶體

新增記憶體立即生效,臨時的
virsh setmem test01 1024M 

--config 不會立即不生效,在下一次啟動生效
virsh setmem test01 1024M --config

修改最大記憶體限制
\\關機
virsh shutdown ttest01

\\修改最大記憶體
virsh setmaxmem test01 2048M

\\檢視結果
virsh dominfo test01 | grep -i max

KVM虛擬機器熱新增CPU

 \\cpu的線上個數調整為3個 
[root@test01 ~]# virsh setvcpus CentOS-7.6-X86_64  3  --live      

\\寫到配置檔案 永久
[root@test01 ~ ]# virsh setvcpus CentOS-7.6-X86_64  3  --config     

\\調整CPU最大值
[root@test01 ~]# virsh setvcpus web01 --maximum 4 --config    

#檢視CPU相關資訊
[root@test01 ~]# cat /proc/interrupts  
[root@test01 ~]# cat /proc/cpuinfo 
[root@test01 ~]# lscpu 

KVM虛擬機器快照

1.檢視磁碟格式raw格式需要轉換成qcow2

[root@test01 ~]# qemu-img info /data/centos7.raw image: /data/centos7.rawfile format: rawvirtual size: 10G (10737418240 bytes)disk size: 1.2Gcluster_size: 65536Format specific information:    compat: 1.1

    lazy refcounts: false

2.必須關閉虛擬機器進行磁碟轉換

[root@test01 ~]# virsh shutdown centos7

[root@test01 ~]# qemu-img convert -f raw /data/centos7.raw -O qcow2 /data/centos7.qcow2//convert 將磁碟檔案轉換為指定格式的檔案//-f 指定需要轉換檔案的檔案格式//-O 指定要轉換的目標格式//轉換完成後,將新生產一個目標映像檔案,原檔案儲存

3.修改KVM虛擬機器配置檔案配置檔案

[root@test01 ~]# virsh edit centos7

      <driver name='qemu' type='qcow2'/>

      <source file='/data/centos7.qcow2'/>

4.對虛擬機器當前進行快照拍攝

[root@test01 ~]# virsh snapshot-create centos7    

Domain snapshot 123456 created

5.檢視虛擬機器快照

[root@test01 ~]# virsh snapshot-list  centos7

 Name                 Creation Time             State

------------------------------------------------------------

 123456           2020-07-11 21:01:47 -0400 running

 

 //檢查當前虛擬機器最新快照版本

[root@test01 ~]# virsh snapshot-current centos7|less

//快照xml檔案存放路徑

[root@test01 ~]# ls /var/lib/libvirt/qemu/snapshot/centos7/123456.xml  1234567.xml

6.恢復快照

[root@test01 ~]# virsh snapshot-revert centos7 123456

//確認恢復版本正確

[root@test01 ~]# virsh snapshot-current centos7|grep "123456"

  <name>123456</name>

  <creationTime>123456</creationTime>

7.刪除快照

[root@test01 ~]# qemu-img info /data/centos7.qcow2 image: /data/centos7.qcow2file format: qcow2virtual size: 10G (10737418240 bytes)disk size: 1.8Gcluster_size: 65536Snapshot list:ID        TAG                 VM SIZE                DATE       VM CLOCK1         123456             282M 2018-04-11 21:01:48   00:16:25.4892         1234567             282M 2018-04-11 21:03:56   00:18:29.210Format specific information:

    compat: 1.1

    lazy refcounts: false

//刪除最近一個快照[root@test01 ~]# virsh snapshot-delete centos7 1234567Domain snapshot 1234567 deleted

KVM虛擬機器克隆

//將test01克隆為test02
virt-clone -o test01 -n test02 -f /kvm/store/test02.qcow2 

KVM虛擬機器熱遷移

可參考該篇

https://blog.51cto.com/10802692/2414689