1. 程式人生 > >virsh常用維護命令

virsh常用維護命令

virsh常用命令

[[email protected] ~]# virsh --help             #檢視命令幫忙

[[email protected] ~]# virsh list               #顯示正在執行的虛擬機器

[[email protected] ~]# virsh list --all         #顯示所有的虛擬機器

[[email protected] ~]# virsh start vm-node1     #啟動vm-node1虛擬機器

[[email protected] ~]# virsh shutdown vm-node1  #關閉vm-node1虛擬機器

[[email protected] ~]# virsh destroy vm-node1   #虛擬機器vm-node1強制斷電

[[email protected] ~]# virsh suspend vm-node1   #掛起vm-node1虛擬機器

[[email protected] ~]# virsh resume vm-node1    #恢復掛起的虛擬機器

[[email protected] ~]# virsh undefine vm-node1  #刪除虛擬機器,慎用

[[email protected] ~]# virsh edit vm-node1      #修改vm-node1的xml配置檔案

[[email protected] ~]# virsh dumpxml vm-node1   #檢視KVM虛擬機器當前配置

[[email protected] ~]# virsh dumpxml vm-node1 > vm-node1.bak.xml        #備份vm-node1虛擬機器的xml檔案,原檔案預設路徑/etc/libvirt/qemu/vm-node1.xml

[[email protected] ~]# virsh autostart vm-node1                         #KVM物理機開機自啟動虛擬機器,配置後會在此目錄生成配置檔案/etc/libvirt/qemu/autostart/vm-node1.xml

[[email protected] ~]# virsh autostart --disable vm-node1               #取消開機自啟動

為虛擬機器增加網絡卡

一個完整的資料包從虛擬機器到物理機的路徑是:虛擬機器-->QEMU虛擬機器網絡卡-->虛擬化層-->核心網橋-->物理網絡卡

KVM預設情況下是由QEMU在Linux的使用者空間模擬出來的並提供給虛擬機器的。

全虛擬化:即客戶機作業系統完全不需要修改就能運行於虛擬機器中,客戶機看不到真正的硬體裝置,與裝置的互動全是由純軟體虛擬的

半虛擬化:通過對客戶機作業系統進行修改,使其意識到自己執行在虛擬機器中。因此,全虛擬化和半虛擬化網絡卡的區別在於客戶機是否需要修改才能執行在宿主機中。

半虛擬化使用virtio技術,virtio驅動因為改造了虛擬機器的作業系統,讓虛擬機器可以直接和虛擬化層通訊,從而大大提高了虛擬機器效能。

[[email protected] ~]# virsh domiflist vm-node1
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      bridge     br0        virtio      52:54:00:40:75:05

[[email protected]-server ~]# virsh attach-interface vm-node1 --type bridge --source br0 --model virtio        #臨時增加網絡卡的方法,關機後再開機新增網絡卡配置丟失
Interface attached successfully

[[email protected]-server ~]# virsh domiflist vm-node1
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      bridge     br0        virtio      52:54:00:40:75:05
vnet1      bridge     br0        virtio      52:54:00:5b:6c:cc

[[email protected] ~]# virsh edit vm-node1 #永久生效的方法,修改配置檔案增加如下內容 <interface type='bridge'> <mac address='52:54:00:11:90:7c'/> <source bridge='br0'/> <target dev='vnet1'/> <model type='virtio'/> <alias name='net1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </interface>

[[email protected] ~]# virsh domiflist vm-node1 #查詢虛擬機器網絡卡的MAC地址 Interface Type Source Model MAC ------------------------------------------------------- vnet0 bridge br0 virtio 52:54:00:40:75:05 vnet1 bridge br0 virtio 52:54:00:84:23:3d [[email protected] ~]# virsh detach-interface vm-node1 --type bridge --mac 52:54:00:84:23:3d --current #根據MAC地址刪除網絡卡,即時生效,如果需要最終生效也要使用virsh edit 來修改配置檔案 Interface detached successfully [[email protected] ~]# virsh domiflist vm-node1 Interface Type Source Model MAC ------------------------------------------------------- vnet0 bridge br0 virtio 52:54:00:40:75:05

虛擬機器增加磁碟

[[email protected] opt]# qemu-img create -f raw /Data/vm-node1-10G.raw 10G
Formatting '/Data/vm-node1-10G.raw', fmt=raw size=10737418240 
[[email protected] ~]# qemu-img info /Data/vm-node1-10G.raw image: /Data/vm-node1-10G.raw file format: raw virtual size: 10G (10737418240 bytes) disk size: 0 [[email protected]-server ~]# virsh attach-disk vm-node1 /Data/vm-node1-10G.raw vdb --cache none #臨時生效,關機再開機後失效 Disk attached successfully

[[email protected] ~]# virsh dumpxml vm-node1 #通過dumpxml找到下段配置檔案
[[email protected] ~]# virsh edit vm-node1 #使用edit命令,把找到的內容加到vda磁碟後面即可 <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source file='/Data/vm-node1-10G.raw'/> <backingStore/> <target dev='vdb' bus='virtio'/> <alias name='virtio-disk1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </disk>
[[email protected] ~]# fdisk -l #資料盤已掛載,可以進行分割槽、格式化、掛載等操作 Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x00009df9 Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886079 41942016 83 Linux Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes

 

一個完整的資料包從虛擬機器到物理機的路徑是:

虛擬機器àQEMU虛擬機器網絡卡à虛擬化層à核心網橋à物理網絡卡

KVM預設情況下是由QEMULinux的使用者空間模擬出來的並提供給虛擬機器的。