virsh常用维护命令

virsh常用命令

[root@kvm-server ~]# virsh --help             #查看命令帮忙

[root@kvm-server ~]# virsh list               #显示正在运行的虚拟机

[root@kvm-server ~]# virsh list --all         #显示所有的虚拟机

[root@kvm-server ~]# virsh start vm-node1     #启动vm-node1虚拟机

[root@kvm-server ~]# virsh shutdown vm-node1  #关闭vm-node1虚拟机

[root@kvm-server ~]# virsh destroy vm-node1   #虚拟机vm-node1强制断电

[root@kvm-server ~]# virsh suspend vm-node1   #挂起vm-node1虚拟机

[root@kvm-server ~]# virsh resume vm-node1    #恢复挂起的虚拟机

[root@kvm-server ~]# virsh undefine vm-node1  #删除虚拟机,慎用

[root@kvm-server ~]# virsh edit vm-node1      #修改vm-node1的xml配置文件

[root@kvm-server ~]# virsh dumpxml vm-node1   #查看KVM虚拟机当前配置

[root@kvm-server ~]# virsh dumpxml vm-node1 > vm-node1.bak.xml        #备份vm-node1虚拟机的xml文件,原文件默认路径/etc/libvirt/qemu/vm-node1.xml

[root@kvm-server ~]# virsh autostart vm-node1                         #KVM物理机开机自启动虚拟机,配置后会在此目录生成配置文件/etc/libvirt/qemu/autostart/vm-node1.xml

[root@kvm-server ~]# virsh autostart --disable vm-node1               #取消开机自启动

为虚拟机增加网卡

一个完整的数据包从虚拟机到物理机的路径是:虚拟机-->QEMU虚拟机网卡-->虚拟化层-->内核网桥-->物理网卡

KVM默认情况下是由QEMU在Linux的用户空间模拟出来的并提供给虚拟机的。

全虚拟化:即客户机操作系统完全不需要修改就能运行于虚拟机中,客户机看不到真正的硬件设备,与设备的交互全是由纯软件虚拟的

半虚拟化:通过对客户机操作系统进行修改,使其意识到自己运行在虚拟机中。因此,全虚拟化和半虚拟化网卡的区别在于客户机是否需要修改才能运行在宿主机中。

半虚拟化使用virtio技术,virtio驱动因为改造了虚拟机的操作系统,让虚拟机可以直接和虚拟化层通信,从而大大提高了虚拟机性能。

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

[root@kvm-server ~]# virsh attach-interface vm-node1 --type bridge --source br0 --model virtio        #临时增加网卡的方法,关机后再开机新增网卡配置丢失
Interface attached successfully

[root@kvm-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

[root@kvm-server ~]# 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>

[root@kvm-server ~]# 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 [root@kvm-server ~]# virsh detach-interface vm-node1 --type bridge --mac 52:54:00:84:23:3d --current #根据MAC地址删除网卡,即时生效,如果需要最终生效也要使用virsh edit 来修改配置文件 Interface detached successfully [root@kvm-server ~]# virsh domiflist vm-node1 Interface Type Source Model MAC ------------------------------------------------------- vnet0 bridge br0 virtio 52:54:00:40:75:05

虚拟机增加磁盘

[root@kvm-server opt]# qemu-img create -f raw /Data/vm-node1-10G.raw 10G
Formatting '/Data/vm-node1-10G.raw', fmt=raw size=10737418240 
[root@kvm-server ~]# 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 [root@kvm-server ~]# virsh attach-disk vm-node1 /Data/vm-node1-10G.raw vdb --cache none #临时生效,关机再开机后失效 Disk attached successfully

[root@kvm-server ~]# virsh dumpxml vm-node1 #通过dumpxml找到下段配置文件
[root@kvm-server ~]# 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>
[root@vm-node1 ~]# 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的用户空间模拟出来的并提供给虚拟机的。

猜你喜欢

转载自www.cnblogs.com/cyleon/p/9816989.html