KVM虚拟化技术介绍以及相关操作

article/2025/10/14 14:53:59
一、KVM架构
  • KVM功能,是以扩展虚拟化CPU为硬件基础(如Intel-VT,AMD-V),利用CPU虚拟化技术。

  • KVM作为内核的一个模块,来提供虚拟化功能。如果系统需要虚拟化功能,则KVM模块可以被linux内核按需动态加载到内存运行。如果不需要的KVM功能,可以动态卸载该模块。

  • QEMU是一套模拟CPU的开源软件。KVM作为内核的一个模块,可以通过QEMU提供的模拟方式,来使用处理器。这样,KVM就提供了一个模拟的(虚拟的)硬件层,虚拟机就运行在这个模拟的硬件层之上。

二、KVM软件安装
1、查看CPU是否支持VT技术
2、清理环境:卸载KVM
yum remove `rpm -qa | egrep 'qemu|virt|KVM'` -y && rm -rf /var/lib/libvirt/ /etc/libvirt
3、安装软件
yum -y install  *qemu* *virt* librbd1-devel
qemu-KVM:主包
libvirt:API接口
virt-manage:图形管理程序
  • 在所谓的kvm技术中,应用到的其实有2个东西: qemu+kvm
  • kvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备;
  • qemu是模拟Io设备(网卡,磁盘》,kvm加上qemu之后就能实现真正意义上服务器虚拟化。
  • 因为用到了上面两个东西,所以一般都称之为qemu-kvm。
  • libvirt则是调用kvm虚拟化技术的接口用于管理的,用7ibvirt管理方便.
4、启动libvirtd
systemctl start libvirtd && systemctl enable libvirtd
5、查看KVM模块加载
lsmod | grep KVM
6、四种安装GuestOS方式
先通过安装飞机驾驶舱方式安装
yum install -y cockpit && systemctl start cockpit && systemctl enable cockpit
7、查看9090端口是否启用
netstat -lpnt
8、关闭防火墙
systemctl stop firewalld
setenforce 0
[root@localhost ~]# vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

9、浏览器访问:服务地址:9090
飞机驾驶舱cockpit安装完毕

1、使用图形方式安装GuestOS
#打开虚拟系统管理器
virt-manager
选择新建虚拟机
然后开始进入安装界面

2、使用命令行模式安装
虚拟机组成部分
1、虚拟机配置文件
[root@localhost ~]# ls /etc/libvirt/qemu
networks  vm1.xml
2、存储虚拟机的介质
[root@localhost ~]# ls /var/lib/libvirt/images/
vm1.qcow2
[root@localhost ~]#
根据配置文件配置虚拟机
1.需要拷贝之前的磁盘镜像文件
[root@localhost qemu]# cd /var/lib/libvirt/images/
[root@localhost images]# cp vm1.qcow2 vm2.img
[root@localhost images]# ll
总用量 10487812
-rw-------. 1 root root 5369757696 5月   2 11:11 vm1.qcow2
-rw-------  1 root root 5369757696 5月   2 11:19 vm2.img

2.需要拷贝之前的配置文件
[root@localhost ~]# cd /etc/libvirt/qemu/
[root@localhost qemu]# cp vm1.xml vm2.xml
[root@localhost qemu]#

3.配置文件需要修改必要的内存
[root@localhost images]# vim /etc/libvirt/qemu/vm2.xml
4.创建虚拟机
[root@localhost images]# virsh define /etc/libvirt/qemu/vm2.xml
定义域 vm2(从 /etc/libvirt/qemu/vm2.xml)

[root@localhost images]#
5.重启一下kvm服务
[root@localhost images]# systemctl restart libvirtd
[root@localhost images]#
6.宿主机开启路由转发
#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1    #添加这一行

保存退出后,启动
[root@localhost images]# sysctl -p
net.ipv4.ip_forward = 1
[root@localhost images]#

7.验证
#打开虚拟系统管理器
virt-manager
查看是否显示创建的虚拟机vm2?
打开虚拟机查看是否可用
结果:命令行创建的虚拟机可用并且可以ping通外网,如果ping不通记得激活一下网卡

升级虚拟机配置
添加磁盘镜像
[root@localhost images]# vim /etc/libvirt/qemu/vm1.xml    #添加一下信息<disk type='file' device='disk'><driver name='qemu' type='qcow2'/><source file='/var/lib/libvirt/images/vm1-1.qcow2'/><target dev='vdb' bus='virtio'/><address type='pci' domain='0x0000' bus='0x00' slot='0x17' function='0x0'/></disk>

创建新的空磁盘卷
[root@localhost images]# qemu-img create -f qcow2 /var/lib/libvirt/images/vm1-1.qcow2 2G
Formatting '/var/lib/libvirt/images/vm1-1.qcow2', fmt=qcow2 size=2147483648 encryption=off cluster_size=65536 lazy_refcounts=off
[root@localhost images]#

重新定义
[root@localhost images]# virsh define /etc/libvirt/qemu/vm1.xml                                  
定义域 vm1(从 /etc/libvirt/qemu/vm1.xml)
[root@localhost images]#
查看vm1有没有添加硬盘成功
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0              11:0    1 1024M  0 rom  
vda             252:0    0    5G  0 disk
├─vda1          252:1    0    1G  0 part /boot
└─vda2          252:2    0    4G  0 part├─centos-root 253:0    0  3.5G  0 lvm  /└─centos-swap 253:1    0  512M  0 lvm  [SWAP]
vdb             252:16   0    2G  0 disk
[root@localhost ~]#

添加成功

三、KVM存储
概念
  • KVM必须要配置一个目录当作它存储磁盘镜像(存储卷)的目录,我们称这个为存储池
默认存储池
/var/lib/libvirt/images
1、存储池管理
1.创建基于文件夹的存储池(目录)
[root@localhost ~]# mkdir -p /data/vmfs
2.定义存储池与其目录
[root@localhost ~]# virsh pool-define-as vmdisk --type dir --target /data/vmfs
定义池 vmdisk[root@localhost ~]#

3.创建以定义的存储池
1)创建已定义的存储池
[root@localhost ~]# virsh pool-build vmdisk
构建池 vmdisk
[root@localhost ~]#
2)查看已定义的存储池
[root@localhost ~]# virsh  pool-list --all
名称               状态     自动开始
-------------------------------------------
default              活动     是       
root                 活动     是       
vmdisk               不活跃  否       

[root@localhost ~]#
4.激活并设置自动启动存储池
 [root@localhost ~]# virsh pool-start vmdisk
池 vmdisk 已启动     [root@localhost ~]# virsh pool-autostart vmdisk
池 vmdisk 标记为自动启动[root@localhost ~]# virsh pool-list --all  
名称               状态     自动开始
-------------------------------------------
default              活动     是       
root                 活动     是       
vmdisk               活动     是  

5.在存储池中创建虚拟机存储卷
[root@localhost ~]# virsh vol-create-as vmdisk kvm1.qcow2 3G --format qcow2
创建卷 kvm1.qcow2
[root@localhost ~]#
注意:
1:KVM存储池主要是体现一种管理方式,可以通过挂载存储目录,lvm逻辑卷的方式创建存储池,虚拟机存储卷创建完成后,剩下的操作与无存储卷的方式无任何区别了。
注2:KVM存储池也要用于虚拟机迁移任务。
[root@localhost ~]# ll /data/vmfs -h
总用量 196K
-rw------- 1 root root 193K 5月   2 14:56 kvm1.qcow2
[root@localhost ~]#
6.存储池相关管理命令
(1)在存储池中删除存储卷
[root@localhost ~]# virsh vol-delete --pool vmdisk kvm1.qcow2
卷 kvm1.qcow2 被删除
(2)取消激活存储卷
[root@localhost ~]# virsh pool-destroy vmdisk
销毁池 vmdisk
(3)删除存储池定义的目录
[root@localhost ~]# virsh pool-delete vmdisk
池 vmdisk 被删除
(4)取消定义存储池
[root@localhost ~]# virsh pool-undefine vmdisk
池 vmdisk 已经被取消定义
到此KVM存储池配置与管理操作完毕
2、生产环境中添加lvm和远程·存储即可
添加lvm和远程存储即可
3、磁盘格式
3.1.磁盘镜像文件格式
raw
原始格式,性能最好
qcow2
性能上还是不如raw,但是raw不支持快照,qcow2支持快照。
qed
现在默认安装好的用的是raw格式,所有做快照要把他转换成qcow2格式
什么叫写时拷贝?
raw立刻分配空间,不管你有没有用到那么多空间
qcow2只是承诺给你分配空间,但是只有当你需要用空间的时候,才会给你空间。最多只给你承诺空间的大小,避免空间浪费
3.2.创建磁盘文件
建立qcow2格式磁盘文件
[root@localhost ~]# qemu-img create -f qcow2  /var/lib/libvirt/test.qcow2 3G               
Formatting '/var/lib/libvirt/test.qcow2', fmt=qcow2 size=3221225472 encryption=off cluster_size=65536 lazy_refcounts=off
[root@localhost ~]#

建立raw格式磁盘文件
[root@localhost ~]# qemu-img create -f raw  /var/lib/libvirt/test.img 2G
Formatting '/var/lib/libvirt/test.img', fmt=raw size=2147483648

查看已经创建的虚拟磁盘文件
[root@localhost ~]# ll -h /var/lib/libvirt/
-rw-r--r--   1 root root    2.0G 5月   2 15:59 test.img    #raw直接分配了内存空间
-rw-r--r--   1 root root    193K 5月   2 15:58 test.qcow2    #qcow2没有直接分配了内存空间
[root@localhost libvirt]# qemu-img info test.img    
image: test.img
file format: raw
virtual size: 2.0G (2147483648 bytes)
disk size: 0
4、挂载磁盘
  • 当虚拟机无法启动,而磁盘文件没有损坏时,可以将虚拟机的主分区挂载,拷贝重要信息出来
  • 使用Libguestfs,首先需要使用Libvirt。Libvirt是一个管理接口,可以和KVM、Xen和其他一些基于Liunx的虚拟机相互连接。
  • Libguestfs的功能更加强大,可以打开Windows虚拟机上的文件。但是首先你需要将虚拟机迁移到libguestfs可用的环境当中,也就是Linux环境。
查看磁盘分区信息
[root@localhost ~]# virt-df -h -d vm1文件系统                            大小 已用空间 可用空间 使用百分比%
vm1:/dev/sda1                            1014M       100M       914M   10%
vm1:/dev/centos/root                      3.5G       974M       2.5G   28%
[root@localhost ~]#[root@localhost ~]# virt-filesystems -d vm1
/dev/sda1
/dev/centos/root

挂载磁盘镜像分区
[root@localhost ~]# guestmount -d vm1 -m /dev/centos/root --rw /mnt
[root@localhost ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  4.8G     0  4.8G    0% /dev
tmpfs                   tmpfs     4.8G     0  4.8G    0% /dev/shm
tmpfs                   tmpfs     4.8G   13M  4.8G    1% /run
tmpfs                   tmpfs     4.8G     0  4.8G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        44G   20G   25G   45% /
/dev/sda1               xfs      1014M  213M  802M   21% /boot
tmpfs                   tmpfs     967M     0  967M    0% /run/user/0
/dev/fuse               fuse      3.5G 1007M  2.6G   29% /mnt
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

取消挂载
[root@localhost ~]# guestunmount /mnt/
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
[root@localhost mnt]#

四、KVM基本管理
1.KVM管理
查看 启动 关闭 重启 重置 查看
查看虚拟机
[root@localhost ~]# virsh list --all
Id    名称                         状态
----------------------------------------------------
-     vm1                            关闭
-     vm2                            关闭

[root@localhost ~]#
查看KVM虚拟机配置文件
[root@localhost ~]# virsh dumpxml vm1
<domain type='kvm'><name>vm1</name><uuid>6b10e3d2-7cb5-4827-8f3e-efe33703e5c1</uuid><memory unit='KiB'>1048576</memory><currentMemory unit='KiB'>1048576</currentMemory><vcpu placement='static'>1</vcpu><os><type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type><boot dev='hd'/></os>

将vm1虚拟机的配置文件保存至vm6.xml:
virsh dumpxml vm1 > /etc/libvirt/qemu/vm6.xml
使用edit修改配置文件,如果直接用vim编辑器修改配置文件,需要重启libvirtd服务
[root@localhost ~]# virsh edit vm1
暂停虚拟机
[root@localhost ~]# virsh suspend vm1
域 vm1 被挂起
恢复虚拟机
[root@localhost ~]# virsh resume vm1
域 vm1 被重新恢复
关闭虚拟机
方法一
[root@localhost ~]# virsh shutdown vm1
域 vm1 被关闭方法二
[root@localhost ~]# virsh destroy vm1

重启虚拟机
[root@localhost ~]# virsh reboot vm1
域 vm1 正在被重新启动
重置虚拟机(比重启的启动速度快)
[root@localhost ~]# virsh reset vm1
重新设定域 vm1
[root@localhost ~]#
删除虚拟机
[root@localhost ~]# ll /etc/libvirt/qemu
总用量 24
drwx------. 3 root root   42 5月   1 17:08 networks
-rw-------  1 root root 4592 5月   3 12:01 vm1.xml
-rw-------  1 root root 4590 5月   2 11:39 vm2.xml
-rw-r--r--  1 root root 4642 5月   3 11:52 vm6.xml
[root@localhost ~]# virsh undefine vm1
域 vm1 已经被取消定义
[root@localhost ~]# ll /etc/libvirt/qemu
总用量 16
drwx------. 3 root root   42 5月   1 17:08 networks
-rw-------  1 root root 4590 5月   2 11:39 vm2.xml
-rw-r--r--  1 root root 4642 5月   3 11:52 vm6.xml
[root@localhost ~]#

[root@localhost ~]# ll /var/lib/libvirt/images/
总用量 10488020
-rw-r--r--  1 root root       9286 5月   2 11:58 route
-rw-r--r--  1 root root     197120 5月   2 12:43 vm1-1.qcow2
-rw-------. 1 qemu qemu 5369757696 5月   3 13:27 vm1.qcow2
-rw-------  1 root root 5369757696 5月   2 12:22 vm2.img
[root@localhost ~]#
注意:虚拟机在开启的情况下undefine是无法删除的, 只会删除配置文件,磁盘镜像还在 ,但是如果在destroy会直接删除
[root@localhost ~]# virsh destroy vm1
域 vm1 被删除
[root@localhost ~]#
设置虚拟机开机启动
[root@localhost ~]# virsh autostart vm2
域 vm2标记为自动开始
[root@localhost ~]# ls /etc/libvirt/qemu/autostart/    #此目录默认不存在,设置开机启动后自动创建
vm2.xml
[root@localhost ~]#
取消虚拟机开机启动
[root@localhost ~]# virsh autostart --disable vm2
域 vm2取消标记为自动开始
[root@localhost ~]#
查看所有开机自启的gues os
[root@localhost ~]# ll /etc/libvirt/qemu/autostart/
总用量 0
[root@localhost ~]# virsh list --all --autostart
Id    名称                         状态
----------------------------------------------------
[root@localhost ~]#
2、字符终端

创建快照
[root@localhost ~]#   virsh snapshot-create-as vm2 vm2.snap
已生成域快照 vm2.snap
[root@localhost ~]#
查看镜像格式
[root@localhost ~]# qemu-img info /var/lib/libvirt/images/vm2.img
image: /var/lib/libvirt/images/vm2.img
file format: qcow2
virtual size: 5.0G (5368709120 bytes)
disk size: 5.0G
cluster_size: 65536
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
1         vm2.snap                  0 2022-05-03 14:37:36   00:00:00.000
Format specific information:compat: 1.1lazy refcounts: true
[root@localhost ~]#
查看创建的快照
[root@localhost ~]# virsh snapshot-list vm2
名称               生成时间              状态
------------------------------------------------------------
vm2.snap             2022-05-03 14:37:36 +0800 shutoff[root@localhost ~]#

创建磁盘
[root@localhost qemu]# qemu-img create -f raw /var/lib/libvirt/images/vm2-1.raw 2G
Formatting '/var/lib/libvirt/images/vm2-1.raw', fmt=raw size=2147483648
将磁盘添加到vm2虚拟机上面
  
  <disk type='file' device='disk'><driver name='qemu' type='raw'/><source file='/var/lib/libvirt/images/vm2-1.raw'/><target dev='vdb' bus='virtio'/><address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/></disk>

重新加载文件
[root@localhost qemu]# virsh define vm2.xml
定义域 vm2(从 vm2.xml)[root@localhost qemu]#

启动vm2虚拟机
[root@localhost qemu]# virsh start vm2
域 vm2 已开始
[root@localhost qemu]#
尝试给raw格式的磁盘镜像做快照
[root@localhost qemu]# virsh snapshot-create-as vm2 vm2.snap1
错误:不支持的配置:存储类型 vdb 不支持磁盘 raw 的内部快照
[root@localhost qemu]#
失败
raw格式转换成qcow2
[root@localhost qemu]# qemu-img convert -O qcow2 /var/lib/libvirt/images/vm2-1.raw /var/lib/libvirt/images/vm2-1.qcow2
[root@localhost qemu]# #查看是否转成功
[root@localhost qemu]# ll /var/lib/libvirt/images/ -h
总用量 11G
-rw-r--r--  1 root root 9.1K 5月   2 11:58 route
-rw-r--r--  1 root root 193K 5月   2 12:43 vm1-1.qcow2
-rw-------. 1 root root 5.1G 5月   3 13:29 vm1.qcow2
-rw-r--r--  1 root root 193K 5月   3 15:07 vm2-1.qcow2
-rw-r--r--  1 qemu qemu 2.0G 5月   3 14:54 vm2-1.raw
-rw-------  1 qemu qemu 5.1G 5月   3 15:07 vm2.img
[root@localhost qemu]#

[root@localhost qemu]# #查看是否转成功
[root@localhost images]# qemu-img info vm2-1.qcow2
image: vm2-1.qcow2
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:compat: 1.1lazy refcounts: false
[root@localhost images]#

将虚拟机的硬盘只想转换后的qcow2.img
[root@localhost images]# vim /etc/libvirt/qemu/vm2.xml <disk type='file' device='disk'><driver name='qemu' type='qcow2'/><source file='/var/lib/libvirt/images/vm2-1.qcow2'/><target dev='vdb' bus='virtio'/><address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/></disk>

重新加载配置文件
[root@localhost images]# virsh define /etc/libvirt/qemu/vm2.xml
定义域 vm2(从 /etc/libvirt/qemu/vm2.xml)
[root@localhost images]#
创建快照
[root@localhost images]# virsh snapshot-create-as vm2 vm2.snap2
已生成域快照 vm2.snap2
[root@localhost images]#
查看添加的硬盘
给虚拟机创建第三个快照vm2.snap3
[root@localhost images]# virsh snapshot-create-as vm2 vm2.snap3
已生成域快照 vm2.snap3
[root@localhost images]#
恢复到快照vm2.snap3(注意先将虚拟机关机)
[root@localhost images]# virsh snapshot-revert vm2 vm2.snap3
产看虚拟机快照
[root@localhost images]# virsh snapshot-list vm2
名称               生成时间              状态
------------------------------------------------------------
vm2.snap             2022-05-03 14:37:36 +0800 shutoff
vm2.snap2            2022-05-03 15:34:11 +0800 running
vm2.snap3            2022-05-03 15:44:07 +0800 running[root@localhost images]#

删除虚拟机快照
[root@localhost images]# virsh snapshot-delete --snapshotname vm2.snap3 vm2
已删除域快照 vm2.snap3
[root@localhost images]#
再次查看快照
[root@localhost images]# virsh snapshot-list vm2
名称               生成时间              状态
------------------------------------------------------------
vm2.snap             2022-05-03 14:37:36 +0800 shutoff
vm2.snap2            2022-05-03 15:34:11 +0800 running[root@localhost images]#


一、KVM网络管理
NAT网络拓扑
显示虚拟网卡机口
[root@localhost images]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.5254000fa76a       yes             virbr0-nicvnet0

删除虚拟网卡
[root@localhost images]# brctl delif virbr0 vnet0
[root@localhost images]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.5254000fa76a       yes             virbr0-nic
[root@localhost images]#

添加虚拟网卡
[root@localhost images]# brctl addif virbr0 vnet0   
[root@localhost images]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.5254000fa76a       yes             virbr0-nicvnet0
[root@localhost images]#

1.创建虚拟机vm2虚拟网卡的配置文件
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# vim ifcfg-br0 
DEVICE=br0
ONBOOT="yes"
BOOTPROTO=static
DEFROUTE=yes
IPADDR=192.168.124.225
GATEWAY=192.168.126.2
NETMASK=255.255.255.0
DNS1=192.168.0.1
DNS2=8.8.8.8

修改宿主机网卡配置文件
[root@localhost network-scripts]# vim ifcfg-ens33
DEVICE="ens33"
ONBOOT="yes"
BRIDGE=br0
重启网络服务
[root@localhost network-scripts]# systemctl restart libvirtd
[root@localhost network-scripts]# systemctl restart network

删除桥接网卡步骤:
1.删除br0的配置文件
[root@localhost network-scripts]# rm -rf ifcfg br0
[root@localhost network-scripts]# rm -rf ifcfg-ens33
2.修改正常网卡的配置文件
[root@localhost network-scripts]# mv ifcfg-ens33.back ifcfg-ens33
[root@localhost network-scripts]#

3.重启服务
[root@localhost network-scripts]# systemctl restart libvirtd    #重启KVM服务
[root@localhost network-scripts]# systemctl restart network    #重启网卡
[root@localhost network-scripts]#

2 .配置文件方式创建nat网络
[root@localhost ~]# cp /etc/libvirt/qemu/networks/default.xml  /etc/libvirt/qemu/networks/nat1.xml        
[root@localhost ~]# cd  /etc/libvirt/qemu/networks/
[root@localhost networks]# vim nat1.xml    #修改nat网络配置文件
<network><name>nat1</name><uuid>f567528c-40fa-4f10-b19a-349b09d1361b</uuid><forward mode='nat'/><bridge name='virbr1' stp='on' delay='0'/><mac address='52:54:00:0f:a8:61'/><ip address='192.168.120.1' netmask='255.255.255.0'><dhcp><range start='192.168.120.2' end='192.168.120.254'/></dhcp></ip>
</network>

重启服务
[root@localhost networks]# systemctl restart libvirtd
如果是图形化界面就可以选择刚创建的网卡nat1
3 .配置文件方式创建isolated网络
[root@localhost networks]# cp default.xml isolated200.xml
[root@localhost networks]# vim isolated200.xml
<network><name>isolated200</name><uuid>f567528c-40fa-4f10-b09b-349b09d1361b</uuid><bridge name='virbr2' stp='on' delay='0'/><mac address='52:54:00:0f:a9:6b'/><ip address='192.168.121.1' netmask='255.255.255.0'><dhcp><range start='192.168.121.2' end='192.168.121.254'/></dhcp></ip>
</network>

#重启服务
[root@localhost networks]# systemctl restart libvirtd
#查看所有网络
[root@localhost networks]# virsh net-list
名称               状态     自动开始  持久
----------------------------------------------------------
default              活动     是           是
nat1                 活动     否           是
#启动网络
[root@localhost networks]# virsh net-start isolated200
网络 isolated200 已开始
#开机自启动
[root@localhost networks]# virsh net-autostart isolated200      
网络isolated200标记为自动启动
#查看所有网络
[root@localhost networks]# virsh net-list
名称               状态     自动开始  持久
----------------------------------------------------------
default              活动     是           是
isolated200          活动     是           是
nat1                 活动     否           是

创建网卡之后,添加即可,添加方式与nat1网卡添加上一致

http://chatgpt.dhexx.cn/article/cMxwRac6.shtml

相关文章

KVM(虚拟化平台)概念及部署

KVM&#xff08;虚拟化平台&#xff09;概念及部署 一、虚拟化技术二、虚拟化技术发展三、虚拟化特性优势&#xff1a;劣势&#xff1a; 四、KVM架构及原理&#xff08;一&#xff09;KVM虚拟化架构/三种模式&#xff08;二&#xff09;KVM原理总结&#xff1a;&#xff08;三&…

KVM 虚拟化

kvm虚拟化 Kvm的安装、KVM下的虚拟机安装和相互访问约束 推荐下载TightVNC 也可以使用 VNCSever 一、虚拟化产品介绍 linux类的虚拟化软件: qemu&#xff0c;软件纯模拟全虚拟化软件&#xff0c;特别慢!xen(半)&#xff0c;性能特别好&#xff0c;需要使用专门修改之后的内…

Linux KVM 虚拟化技术

一 、 KVM 介绍 &#xff1b; KVM 全称是 基于内核的虚拟机&#xff08;Kernel-based Virtual Machine&#xff09;&#xff0c;它是Linux 的一个内核模块&#xff0c;该内核模块使得 Linux 变成了一个 Hypervisor&#xff1a; ① 、它由 Quramnet 开发&#xff0c;该公司于…

KVM 虚拟化详解

服务器虚拟化是云计算最核心的技术&#xff0c;而KVM是当前最主流的开源的服务器虚拟化技术。从Linux2.6.20起&#xff0c;KVM作为内核的一个模块 集成到Linux主要发行版本中。从技术架构&#xff08;代码量、功能特性、调度管理、性能等&#xff09;、社区活跃度&#xff0c;以…

KVM 虚拟化技术(理论详解+实战)

文章目录 前言什么是虚拟化为什么要用虚拟化虚拟化技术的优势KVM简介关于KVM关于Virtual Machine Manager其他虚拟化软件 KVM虚拟化平台部署 前言 什么是虚拟化 在计算机技术中&#xff0c;虚拟化&#xff08;技术&#xff09;或虚拟技术&#xff08;英语&#xff1a;Virtual…

虚拟化技术之KVM,搭建KVM(详细)

首先说一下&#xff0c;KVM是基于硬件辅助的开源全虚拟化解决方案 一、KVM&#xff08;基于内核的虚拟机&#xff09;【刚开始是一家以色列的公司开发的&#xff0c;后来红帽觉得KVM很有前景&#xff0c;就把KVM收购了】。 二、KVM包含了一个内核加载模块&#xff0c;是一个.…

KVM虚拟化

文章目录 虚拟化介绍kvm简介Qemu-KVM虚拟化部署kvmKVM管理界面安装 虚拟化介绍 虚拟化&#xff1a;在一台计算机上虚拟出多个逻辑的计算机&#xff0c;而且每个逻辑计算机 它可以是不同操作系统 虚拟化技术&#xff1a;可以扩大硬件容量&#xff0c;单个cpu模拟出多个cpu并行…

虚拟化技术KVM入门学习

目录 一、虚拟化技术概述二、主流虚拟化介绍1、虚拟化技术主要分类2、平台虚拟化技术分类 三、KVM虚拟化技术简介1、KVM架构及解析 四、KVM软件安装1、环境准备2、查看CPU是否支持VT技术3、清理环境&#xff0c;卸载原有KVM4、安装软件5、启动服务6、查看kvm模块加载 五、Guest…

KVM虚拟化技术

KVM虚拟化技术 Qemu-kvm kvm virt-manager VNC Qemu-kvm创建和管理虚拟机 一.KVM简介 KVM&#xff08;名称来自英语&#xff1a;Kernel-basedVirtual Machine的缩写&#xff0c;即基于内核的虚拟机&#xff09;&#xff0c;是一种用于Linux内核中的虚拟化基础设施&#xff0c;可…

KVM虚拟化(一)

一、KVM虚拟化架构 1、主流虚拟机架构 图中对比了几种主流虚拟化技术架构&#xff1a;ESXi、Xen与KVM&#xff0c;其主要差别在与各组件&#xff08;CPU、内存、磁盘与网络IO&#xff09;的虚拟化与调度管理实现组件有所不同。在ESXi中&#xff0c;所有虚拟化功能都在内核实现…

虚拟化技术-KVM详解

一、 KVM概述 1.1 KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机。 KVM&#xff0c;是一个开源的系统虚拟化模块&#xff0c;自 Linux 2.6.20 之后集成在 Linux 的各个主要发行版本中。它使用 Linux 自身的调度器进行管理&#xff0c;所以相对于Xen&#xff0c;其核心…

盘点腾讯后台开发各级工程师(T1-T9)需要具备哪些能力

作为一个程序员&#xff0c;不管是初入职场的菜鸟还是做开发多年的老鸟&#xff0c;都希望有机会能进大厂&#xff0c;最近有不少小伙伴问腾讯好不好进&#xff1f;需要的技术栈是怎么样的&#xff1f;本文就给大家普及一下腾讯后台开发各级工程师&#xff08;T1-T9&#xff09…

大华热成像摄像头整合web 后台开发

大华热成像摄像头整合web 后台开发 项目背景&#xff1a;需要web后台主动抓拍/自动监控上报到web后台&#xff0c;通过百度智能云人脸识别。并推送到微信公众号 涉及平台&#xff1a;web后台&#xff0c;大华ndk&#xff0c;百度人脸识别 1、大华热成像ndk 包及 demo解析说明本…

微信公众号后台开发总结

微信公众号后台开发总结 一、项目简介 当前需要做一个公众号后台&#xff0c;前期需要实现的功能有&#xff1a; &#xff08;1&#xff09; 在用户关注公众号时便获取用户的信息同时还要将用户信息存入数据库。 &#xff08;2&#xff09; 在用户给公众号发送消…

c/c++后台开发前景到底如何?该如何提升?

最近听到很多人都在讲&#xff1a;在这个Java热火朝天&#xff0c;人工智能高能吹捧的市场&#xff0c;c/c开发人员还有人要&#xff1f; 小编想说的是&#xff1a;有&#xff0c;而且很多企业都是有在招c/c开发人才。 只是IT这个行业&#xff1a;普遍高端稀缺&#xff0c;中端…

程序员告诉你:C/C++后台开发需要学习哪些技能书

前言&#xff1a;后台开发工程师主流使用的编程语言有C、Java、PHP以及目前慢慢流行的Golang等。小编就将以C的角度&#xff0c;讲讲如何学习和准备后台开发的岗位。 一、语言基础 无论是C开发还是Java开发&#xff0c;对于一个码农而言&#xff0c;最重要的就是对于编程语言的…

c++后台开发适合入坑吗?就业前景如何?

一、什么是c后台开发&#xff1f; c后台开发也可以叫c后端开发&#xff0c;其实从技术上来说并无不同。 c后台开发就是基于linux环境和C语言的服务器程序开发&#xff0c;像qq服务器、微信服务器、王者荣耀服务器等等。虽然现在各种高级语言大火&#xff0c;但是在高性能这一…

后台开发之常用工具

最近windows电脑系统又莫名地崩了&#xff0c;重装了系统&#xff0c;其他磁盘文件还保留着&#xff0c;发现大部分软件之前装载D盘&#xff0c;还是可以继续用的&#xff0c;只需要将路径配置到环境变量即可。 趁着每个软件重新配置的机会&#xff0c;再来梳理一下平时开发过…

微信公众号后台开发

最近公司要做微信工作号开发&#xff0c;觉得有趣&#xff0c;便接了这单活。 1.首先已经申请了微信工作号&#xff0c;打开微信公众号平台 https://mp.weixin.qq.com/ AppId是这个公众号的唯一识别码&#xff0c;相当于登录名 AppSecret 是公众号的开发者密码&#xff0c;就相…

C++后台开发技术栈

目录 岗位要求 Linux C开发&#xff08;vivio&#xff09; C后台开发技术栈 岗位要求 Linux C开发&#xff08;vivio&#xff09; 熟悉掌握多线程/多进程 网络编程 常见RPC框架 设计模式 gdb调试等技术 计算框架mpi、tensorflow的研究与优化&#xff0c;不断提升性能…