1. KVM虚拟化学习

2023-05-16

1. 什么是虚拟化

虚拟化,通过模拟计算机的硬件,来实现同一台计算机上运行多个不同的操作系统的既技术

2. 为什么要使用虚拟化

为了充分利于资源,软件运行环境的隔离,只要有虚拟化才能实现。
虚拟化提高了资源的利用率,服务的安全性隔离,解决了系统和硬件之间的依赖。

3. kvm虚拟化软件的安装

curl -o  /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum -y install libvirt virt-install qemu-kvm  virt-manager 

virt-install  命令行安装工具
virt-manager   图形界面安装工具
qemu-kvm  磁盘管理

systemctl start libvirtd
systemctl enable libvirtd

相关工具

  1. VNC:远程的桌面管理工具

  2. libvirt 作用:虚拟机管理软件

  3. libvirt:kvm,xen,qemu,lxc…

  4. virt virt-install virt-clon 作用:虚拟机的安装工具和克隆工具

  5. qemu-kvm qemu-img 作用:管理虚拟机的虚拟磁盘

虚拟机软件

  1. qemu 软件纯模拟全虚拟机软件,特别慢!AIX,兼容性好

  2. xen(半)性能特别好,需要使用专门修改后的内核,兼容性差!

  3. KVM(linux)全虚拟机,他有硬件支持CPU、基于内核,而且不需要使用专门的内核,性能较好、兼容性好。

4.安装一台kvm虚拟机

下载软件TghVNC或者VNC viewer 4.exe 用于远程连接虚拟机

#创建虚拟机磁盘镜像格式
[root@localhost opt]# qemu-img create -f raw /opt/CentOS-7.4-x86_64.img 10G
#创建虚拟机磁盘镜像 qcow2 格式
[root@localhost opt]# qemu-img reate -f qcow2 /opt/test01.qcow2 10G
[root@localhost opt]# virt-install --os-type=linux --os-variant rhel7  --name test01 --memory 512,maxmemory=1024 --vcpus 1,maxvcpus=10 --cdrom=/kvm/disk/CentOS-7-x86_64-DVD-1810.iso --disk path=/kvm/disk/test.qcow2  --network bridge=br0  --graphics vnc,listen=0.0.0.0 --noautoconsole
开始安装......
域安装仍在进行。您可以重新连接
到控制台以便完成安装进程。

virt-instal  	#命令安装工具
--virt-type kvm		#指定创建类型
--os-type=linux    #操作系统类型
--os-variant rhel7  #操作系统具体类型
--name test01 	#虚拟机名称
--memory 512,maxmemory=1024		#内存大小
--vcpus 1,maxvcpus=10		#cpu内核数量
--cdrom=/kvm/disk/CentOS-7-x86_64-DVD-1810.iso		#指定镜像源
--disk path=/kvm/disk/test.qcow2		#磁盘路径
--network bridge=br0 	--network network=default 	#指定网卡类型   桥接模式  默认网卡类型
--graphics vnc,listen=0.0.0.0   #启用图像化加载,vnc监听地址。 默认端口号5900 会一次累加
 --noautocnsole   #支持console连接
  1. –virt-type kvm 虚拟化的类型(qemu)
  2. –so-type=linux 系统类型
  3. –os-variat rhel7 系统版本
  4. –name centos 虚拟机的名字
  5. –memory 1024 虚拟机的内存
  6. –vcpu 1 虚拟机的核数
  7. –disk /opt/centos2.raw,format=raw,size=10
  8. –cdrom

磁盘类型
raw: 10G 不支持做快照,性能好
qcow2:支持快照

5. kvm虚拟机的virsh日常管理和配置

说明命令
查看当前运行的虚拟机virsh list (-all 查看所有主机)
开机virsh start 【虚拟机名称】
关机virsh shutdown 【虚拟机名称】
重启虚拟机virsh reboot 【虚拟机名】
强制关机virsh destroy 【虚拟机名称】
挂起虚拟机virsh suspend 【虚拟机名称】
恢复挂起的虚拟机virsh resume 【虚拟机名称】
虚拟机重名命virsh domrename 【old虚拟机名称】【new虚拟机名称】
导出虚拟机xml文件virsh dumpxml 【虚拟机名】> 【xml文件名】
删除虚拟机virsh undefine 【虚拟机名】
导入虚拟机virsh define 【xml文件名】
修复虚拟配置xmlvirsh edi 【虚拟机名】
创建快照virsh snapshot-create 【虚拟机名称】
创建快照并命名virh snapshot-create-as 【虚拟机名称】 【快照名称】
查看快照virsh snapshot-list 【快照名称】
还原快照virsh snapshot-revert 【虚拟机名称】 【快照名称】
删除快照virsh snapshot-delete 【虚拟机名称】【快照名称】
虚拟机克隆virt-clone --auto-clone -o 【虚拟机名】】 -n 【新虚拟机名】
自动加载虚拟机virsh autostart【虚拟机名称】
查询虚拟机vnc端口号virsh vncdisplay 【虚拟机名】
使用console方式连接virsh console 【虚拟机名】

qemu-img命令

说明命令
创建虚拟机磁盘文件qemu-img create 【磁盘名】
调整虚拟机磁盘容量大小qemu-img -d 【磁盘名】+5G 或者修改为指定大小 10G
查看磁盘信息qemu-img info 【磁盘名】

6.kvm虚拟机开机启动和console登录

6.1 kvm虚拟机开机自启动 前提systemctl enable libvirtd

#添加开机自启动
virsh autostart 【虚拟机名】
#取消开机自启动
virsh  autostart --disable 【虚拟机名】

6.2 centos7的kvm虚拟机console口

#在虚拟机执行
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"

reboot 重启虚拟机


宿主机连接kvm虚拟机

[root@kvm opt]# virsh console centos7 
连接到域 centos7
换码符为 ^]							//按住ctrl+] 退出

[root@localhost ~]# 

7.kvm虚拟机磁盘格式转换和快照管理

7.1虚拟磁盘格式转换

raw:裸格式,占用空间较大,不支持快照功能,性能较好
qcow2:cow (copy on write) 占用空间小,支持快照,性能比raw差一点

qcow2安装模式

virt-install --virt-type- kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpu 1 disk /data/web02.qcow2  --cdrom=/opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole   

raw安装模式

virt-install --virt-type- kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpu 1 disk /data/web02.raw  --cdrom=/opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole   

7.2qemu-img常用命令

说明命令
创建qcow2磁盘文件qemu-img create -f qcow2 【磁盘名】 5G
创建raw格式磁盘文件qemu-img create -f raw 【磁盘名】 5G
调整虚拟机磁盘容量大小qemu-img resize 【磁盘名】+5G 或者修改为指定大小 10G
查看磁盘信息qemu-img info 【磁盘名】

不管是什么格式的虚拟磁盘,都不要缩容!

convert 磁盘转换格式
#qemu-img convert -f raw -O qcow2 test.raw test.raw.pcow2

<emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/data/centos7.qcow2'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>

7.2 快照管理

说明命令
创建快照virsh snapshot-create 【虚拟机名称】
创建快照并命名virh snapshot-create-as 【虚拟机名称】 【快照名称】
查看快照virsh snapshot-list 【快照名称】
还原快照virsh snapshot-revert 【虚拟机名称】 【快照名称】
删除快照virsh snapshot-delete 【虚拟机名称】【快照名称】

8.虚拟机的克隆

8.1 完整克隆

virt-clone --auto-clone -o  虚拟机名 -n 新虚拟机名

8.2 手动克隆:

复制磁盘文件
cp web00.qcow2 web01.qcow2
virsh dumpxml centos7 > web01.xml
vim web01.xml

<name>web01</name>		//修改
  <uuid>f859d86f-351b-4291-9cc0-469 e853c0006</uuid>   //删除
  <source file='/data/web01.qcow2'/>		//修改
<mac address='52:54:00:bc:dd:5b'/>		//删除
​	导入到虚拟机并进行启动测试

virsh define web01
virsh start web01

8.3 链接克隆

#1.基于原磁盘文件,创建连接磁盘文件
qemu-img create -f qcow2 -b 原磁盘文件 创建磁盘文件
#2.导入虚拟机并进行启动测试
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web02 --memory 512,maxmemory=3000 --vcpus 1,maxvcpus=10 --disk 磁盘名称 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

9.kvm虚拟机网络

默认的虚拟机网络是NAT模式网段是192.168.122.0/24

(1)用户模式(NAT):这种方式是默认网络,数据包由NAT方式通过主机的接口进行传送,可以访问外网,但是无法从外网访问虚拟机网络

(2)桥接模式(Bridge):这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的主机可以直接访问到虚拟机内部

9.1 第一次安装选择的网卡模式

默认NAT模式

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web02 --memory 512 --vcpus 1 disk /data/web02.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

桥接模式

[root@kvm ~]# virsh iface-bridge ens33 br0  #创建桥接

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web02 --memory 512 --vcpus 1 disk /data/web02.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

9.2 修改网卡桥接模式

#创建桥接网卡 ens33为真实网卡
[root@kvm ~]# virsh iface-bridge ens33 br0  #创建桥接

#此时br0就会占用ens33网络的ip地址 
[root@kvm ~]# ifconfig br0
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.154.131  netmask 255.255.255.0  broadcast 192.168.154.255
        inet6 fe80::20c:29ff:fee5:a571  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e5:a5:71  txqueuelen 1000  (Ethernet)
        RX packets 20464  bytes 1603615 (1.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15324  bytes 2169921 (2.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


[root@kvm ~]# virsh iface-unbridge ens33 br0	//删除命令

#查看虚拟交换绑定情况
[root@kvm ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.000c29e5a571	yes		ens33
virbr0		8000.52540000e202	yes		virbr0-nic
							vnet1
							vnet2
							vnet3

#取消桥接网卡 
iface-unbridge br0

#更改虚拟机配置文件为桥接模式
<interface type='bridge'>
  <mac address='52:54:00:56:48:53'/>
  <source bridge='br0'/>
  
#在宿主机上,重启虚拟机生效

9.3. 创建多个 virbrn虚拟网卡

编写虚拟机网卡xml文件
vim virbrn3.xml

<network>
  <name>192.168.20.0</name>    ##虚拟机网卡名称
  <uuid>66010a76-cfed-4ab7-9b0f-5a00e7549b14</uuid>   ## UUId 必须唯一
  <bridge name='virbr3' stp='on' delay='0'/> ##修改 必须唯一
  <mac address='52:54:00:35:30:44'/>       ##修改
  <ip address='192.168.20.1' netmask='255.255.255.0'>  
    <dhcp>
      <range start='192.168.20.129' end='192.168.20.254'/>
    </dhcp>
  </ip>
</network>

创建

virsh net-create --file virbrn3.xml  ## 创建虚拟网卡
virsh net-start 192.168.20.0
virsh net-autostart 192.168.20.0
virsh net-list          ##查看当前虚拟机网卡

10.热添加技术

10.1 kvm虚拟机在线添热添加硬盘

10.1.1 热添加磁盘命令

#先创建磁盘

qemu-img create -f qcow2 add01.qcow2 5G   

#临时生效

virsh attach-disk web01 /data/oldboy.qcow2 vdb --subdrver qcow2

#永久生效

virsh attach-disk web01 data/oldboy.qcow2 vdb --subdrver qcow2   --config   //重启后才会生效
virsh attach-disk web01 /kvm_disk/web01.vdb.qcow2 vdb --cache none --subdriver qcow2

#磁盘分离

virsh detach-disk centos7 vdb

10.1.2 添加磁盘后对虚拟机磁盘进行扩容流程

#1.取消虚拟机磁盘挂载
[root@web02 ~]# umount -lf /data

#2.对虚拟机磁盘进行分离
[root@kvm kvm_disk]# virsh detach-disk web02 vdb

#3.扩容磁盘
[root@kvm kvm_disk]# qemu-img resize web02.vdb.qcow2 +5G

#4.查看磁盘容量信息
[root@kvm kvm_disk]# qemu-img info web02.vdb.qcow2

#5.重新添加磁盘到虚拟机
[root@kvm kvm_disk]# virsh attach-disk  web02 /kvm_disk/web02.vdb.qcow2 vdb --subdriver qcow2

#6.虚拟机查看磁盘信息
[root@web02 ~]# fdisk -l
磁盘 /dev/vdb:16.1 GB, 16106127360 字节,31457280 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

#7.虚拟机重新挂载磁盘
[root@web02 ~]# mount -a

#8.虚拟机查看容量大小发现磁盘容量没有改变 
[root@web02 ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/vdb                xfs        10G   33M   10G    1% /data

#9.刷新虚拟机磁盘容量
xfs_growfs	/data		

#10.再次查看磁盘容量发现你以改变
[root@web02 ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/vdb                xfs        15G   33M   15G    1% /data


10.1.3 根分期扩容

#1.关闭虚拟机
[root@kvm kvm_disk]# virsh destroy web02

#2.扩容磁盘
[root@kvm data]# qemu-img resize web02.qcow2 +5G

#3.启动虚拟机并对磁盘添加分期  
[root@kvm data]# virsh  start web02

#4.修改虚拟机分区
[root@web02 ~]# fdisk -l

#5.重启虚拟机
[root@web02 ~]# reboot 

#6.刷新磁盘
xfs格式:xfs_growfs /dev/sda1
ext4	resize2fs	/dev/sda1

10.2 kvm虚拟机在线添加网卡

10.2.1 操作命令

#临时添加网卡

virsh attach-interface web01 --type bridge --source br0 --model virtio

#永久添加网卡

virsh attach-interface web01 --type bridge --source br0 --model virtio --config

#删除网卡

virsh detach-interface web01 bridge --mac 52:54:00:ea:fa:77 

#查看虚拟机网卡信息

[root@kvm ~]# virsh domiflist web01
接口     类型     源        型号      MAC
vnet0      bridge     br0        virtio      52:54:00:56:eb:b4
vnet2      bridge     br0        virtio      52:54:00:07:20:36

10.3 kvm虚拟机在线添加内存

第一次安装需要添加参数:

–memory 512,maxmemory=2048 //分配容量与最大分配内存容量

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web01 ---vcpus 1 --disk --memory 512,maxmemory=2048 /data/web01.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

#临时热添加内存

virsh setmem web01 1024M --live

#永久增大内存

virsh setmem web01 1024M --config

10.4 kvm虚拟机在线添加cpu

第一次安装需要添加参数:

–vcpus 1,maxvcpus=10 //分配cpu与最大使用内核数量

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web01 --memory 512,maxmemory=2048 --vcpus 1,maxvcpus=10 --disk /data/web01.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

#临时添加cpu核数

setvcpus web01 4 --live

#永久添加cpu核数

setvcpus web01 4 --config

11.kvm热迁移

在这里插入图片描述

热迁移条件:

kvm热迁移需要将磁盘文件进行文件共享nfs

为什么要热迁移

1.尽可能停机实践短!

服务安全等级

11.1 操作案例

要求:将kvm01中的test01虚拟机热迁移至web01系统

11.1.1 准备环境

kvm01 192.168.10.1 192.168.154.1

kvm02 192.168.10.2 192.168.154.2

nfs—server 192.168.10.3 192.168.154.3

11.1.2 nfs-server 操作

[root@nfs-server ~]# yum -y install nfs-utils
[root@nfs-server ~]# mkdir -p /kvm/disk
[root@nfs-server ~]# echo "/kvm/disk 192.168.10.0/24(rw,no_root_squash,all,squash)"  >/etc/exports

#启动nfs
[root@nfs-server ~]# systemctl start rpcbind
[root@nfs-server ~]# systemctl enable nfs

11.1.3 kvm01操作

#安装nfs
[root@kvm02 ~]#  yum -y install nfs

#挂载nfs共享文件
[root@kvm02 ~]#  echo "192.168.10.3:/kvm/disk /kvm/disk nfs defaults 0 0 "

#安装kvm
[root@kvm02 ~]#  yum -y install libvirt virt-install qemu-kvm -y

#1创建磁盘
[root@kvm02 ~]#  qemu-img create -f raw /opt/CentOS-7.4-x86_64.img 10G

#安装kvm虚拟机
[root@kvm02 ~]#  virt-install --name test01 --memory 512,maxmemory=1024 --vcpus 1,maxvcpus=10 --cdrom=/kvm/disk/CentOS-7-x86_64-DVD-1810.iso --disk path=/kvm/disk/test.qcow2  --network bridge=br0  --graphics vnc,listen=0.0.0.0 --noautoconsole

#将虚拟机迁移至web02
[root@kvm02 ~]# virsh migrate test01 qemu+ssh://192.168.10.6/system --unsafe
--unsafe         即使不安全也要强制迁移
--persistent     目的地中的持久 VM
--undefinesource  在源中取消定义 VM
--copy-storage-all  使用全磁盘复制的非共享存储进行迁移

11.1.3 web01操作

此时web01中已经存在虚拟机test01 并且是运行状态 中间迁移只丢1个包

[root@web01 disk]# virsh  list --all

 Id    名称                         状态

 5     test03                         running
 6     test01                         running


11.1.4 图形界面操作

需要安装vnc软件于和桌面环境

yum -y groupinstall GNOME 桌面

#安装vnc软件
[root@web01 ~]# yum -y install tigervnc-server
[root@web01 ~]# vncserver :10

在这里插入图片描述

11.2 EXSI虚拟化到kvm虚拟机迁移

流程

首选导出ESXI中的的虚拟机为ova格式copy到kvm虚拟机中进行格式转换

#安装转换格式组件
[root@kvm02 ~]# yum -y install virt-v2v

#将ova转换为qcow2格式 
[root@kvm02 ~]# virt-v2v -i ova centos-dev-test01-v2v.ova -o local -os /opt/test.qcow2 -of qcow2 

#创建虚拟机并启动
[root@kvm02 ~]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web01 --memory 512,maxmemory=2048 --vcpus 1,maxvcpus=10 --disk /opt/test.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1. KVM虚拟化学习 的相关文章

  • KVM下Ubuntu18.04打开设置注销问题

    问题描述 xff1a 在KVM中创建Ubuntu18 04 xff0c 打开系统设置 xff0c 发现直接注销 xff08 不是锁屏 xff0c 因为所有程序都退出 xff09 解决思路 在google上搜索发现大多数都是指向显卡问题 xf
  • Ubuntu20 + KVM虚拟机

    1 命令汇总 span class token comment 查看一下linux是32位还是64位 xff1a span span class token function file span bin ls span class toke
  • kvm虚拟机利用virsh查看ip

    1 virsh dumpxml win7 grep mac 查看win7虚拟机mac 2 arp a 显示mac与ip对应关系 示例 xff1a root 64 localhost virsh dumpxml ubuntu yusen gr
  • KVM 配置虚拟机实际使用的cpu个数

    如图所示 要修改物理cpu个数的话 还需要手动设置cpu拓扑 否则 不管配置文件或本地主机配置了几个cpu 实际上虚拟机只能使用一个cpu 用 cat proc cpuinfo grep cores uniq 这条命令可以查询虚拟机上实际使
  • kvm故障-虚拟机通过镜像创建虚后无法加载eth0网卡,显示网卡为ens3

    虚拟机通过镜像创建虚后无法加载eth0网卡 显示网卡为ens3 一 首先创建eth0网卡文件配置好 cd etc sysconfig network scripts TYPE Ethernet PROXY METHOD none BROWS
  • 24 KVM管理虚拟机-配置VNC-TLS登录

    文章目录 24 KVM管理虚拟机 配置VNC TLS登录 24 1 概述 24 2 操作步骤 24 KVM管理虚拟机 配置VNC TLS登录 24 1 概述 VNC服务端和客户端默认采用明文方式进行数据传输 因此通信内容可能被第三方截获 为
  • QEMU-KVM基本操作

    本文主要介绍KVM虚拟机的一些基本实践操作 对KVM虚拟机的管理操作主要是基于libvirt的命令行工具virsh进行的 一 安装与启动 1 KVM模块检查 1 查看当前Linux系统核心是否包含KVM模块 Linux内核2 6 20及以上
  • oVirt engine安装手册

    oVirt Engine安装需求 硬件需求 Resource Minimum Recommended CPU 双核CPU 四核或者多个双核CPU 内存 4G内存 不安装warehouse并且内存不被其他程序使用 16G 硬盘 25G可用空间
  • 再论KVM超量使用

    转载自 http www sohu com a 111248295 251444 KVM超量使用一直是热门话题 前段时间发的文章 群讨论 虚拟机能否使用32个CPU 又引去了群友的激烈讨论 本文为群友根据自己的经验总结投稿 感谢这位热心的群
  • 59 KVM Skylark虚拟机混部-概述、架构及特性

    文章目录 59 KVM Skylark虚拟机混部 概述 架构及特性 59 1 Skylark概述 59 1 1 问题背景 59 1 2 总体介绍 59 2 架构及特性 59 2 1 总体实现框架 59 2 2 功耗干扰控制 59 2 3 L
  • KVM和QEMU

    原文地址 KVM和QEMU 作者 embeddedlwp 目录 1 硬件虚拟化技术背景 2 KVM的内部实现概述 2 1 KVM的抽象对象 2 2 KVM的vcpu 2 3 KVM的IO虚拟化 2 3 1 IO的虚拟化 2 3 2 Virt
  • kvm虚拟机读取宿主机usb设备

    1 查看usb设备 用lsusb查看宿主机usb设备信息 2 在kvm虚拟机的xml文件中添加如下
  • KVM添加文件夹存储

    创建基于文件夹的存储池 1 定义一个存储池 virsh pool define as kvm images dir kvm images 2 查看创建的存储池信息 virsh pool list all 3 建立基于文件夹的存储池 virs
  • kvm-ovirt-vdsm安装记录

    小技巧 1 fedaro 19自动查找最快yum源 yum install yum fastestmirror 2 libvirt启动sasl添加用户 saslpasswd2 c a libvirt admin 3 查看kvm模块 lsmo
  • KVM MMU EPT内存管理

    转载请注明 转载自博客xelatex KVM 并附本文链接 谢谢 注 文章中采用的版本 Linux 3 11 https www kernel org pub linux kernel v3 x linux 3 11 tar gz qemu
  • qemu-guest-agent windows下的监控开发

    windows下的qemu guest agent 简称qga 的名字叫做qemu guest agent win32 目前最新版的版本号是qemu guest agent win32 0 12 1 2 2 355 el6 4 9 x86
  • 陷阱标志(TF)和监视器陷阱标志之间的区别?

    像 GDB 这样的调试功能通过设置 eflags 寄存器的 TF 标志来工作 这会在处理器每次执行指令后引发异常 让 gdb 等工具控制调试 当我们运行虚拟机 Ex 时 在 kvm 的情况下执行以下操作同样 您需要设置一个名为 MONITO
  • libvirtError:XML 错误:预期单播 mac 地址,发现多播

    我正在通过 ansible 设置 KVM 自动化 并且我有一个虚拟机一直给我这个错误 libvirtError XML 错误 预期的单播 mac 地址 发现多播 53 54 00 b4 ad 81 我不认为这是一个可靠的问题 因为其他几个虚
  • Android Studio:/dev/kvm 设备权限被拒绝

    当我尝试在模拟器上运行 Android 应用程序时 出现以下错误 dev kvm 权限被拒绝 我检查了权限并将当前登录的用户添加到 kvm 组中 怎么了 正如评论中提到的 从乌班图18 04 and Linux 薄荷塔拉你需要先sudo a
  • QEMU和KVM在虚拟机I/O中扮演什么角色?

    我发现 QEMU 和 KVM 之间的界限非常模糊 我发现有人说虚拟机是qemu进程 而另一些人说是kvm进程 究竟是什么 而QEMU和KVM在虚拟机I O中扮演什么角色呢 比如一个vm做PIO MMIO的时候 是qemu还是kvm会把它困住

随机推荐

  • C++中vector的用法详解

    文章目录 构造函数增加函数删除函数遍历函数判断函数大小函数交换函数赋值函数改变空间 构造函数 span class token comment vector 创建一个空vector span vector span class token
  • 华为技术面

    文章目录 手撕代码流程题目描述方法介绍面试官评价思维扩展 项目描述技术问题内存说明下C 43 43 的内存分配情况 xff0c 栈和队列的区别以及程序员如何分配回收内存 xff1f C 43 43 程序员和Java程序员有一个很大的区别 x
  • 华东师范大学计算机学硕2023考研经验贴

    文章目录 1 个人经历1 1 一战1 2 二战1 3 心态 2 初试2 1 政治2 2 英语2 3 数学2 4 408 3 复试3 1 机试A 数字猜想B 特殊质数C 最小字符串D 数字排序E 整数分解 3 2 英语面试3 3 综合面试 1
  • Go后端部署服务器

    go后端部署服务器方式一 xff1a xff08 最简单 xff09 和暑假做重点场所项目部署一样 xff0c 简单 xff0c 无脑 xff0c 手动 xff0c 麻烦 span class token number 1 span spa
  • 数据分析实用python程序

    文章目录 1 pdf转txt2 判断txt文件是否为空3 获取txt文件每一行4 获取文件夹所有文件名5 读写xlsx表格6 遍历txt每个字符7 字符串中字符替换 1 pdf转txt span class token comment de
  • 51单片机之数码管

    1 静态数码管原理图 LED数码管根据LED的不同接法分为两类 xff1a 共阴和共阳 为了显示数字或字符 xff0c 必须对数字或字符进行编码 七段数码管加上一个小数点 xff0c 共计8段 因此为LED显示器提供的编码正好是一个字节 共
  • 银行排队模拟(队列)

    银行排队模拟程序 队列类Queue ifndef span class token constant QUEUE H span define span class token constant QUEUE H span struct Rec
  • C/C++中struct和class的区别

    目录 struct class struct和class的区别 struct struct是描述一个数据结构的集合 xff0c 像一周有七天 xff0c 你可以把一周看成是一个结构体 xff0c 然后在结构体里面定义一个数组来存放这个七天
  • java枚举(enum)使用详解

    文章目录 前言一 枚举类型定义二 访问成员三 遍历四 在switch xff08 xff09 中使用枚举五 方法1 内置方法1 1 ordinal 用于返回成员的索引1 2 compareTo 用于比较枚举类型中两个成员的索引值1 3 va
  • 分析url从输入到展过程中的页面优化、performance

    浏览器会开启一个线程处理URL请求 url从输入到展示页面的过程 1 输入网址 2 DNS解析 3 建立tcp连接 xff08 请求队列queuing 请求等待stalled 4 客户端发送HTPP请求 5 服务器处理请求 6 服务器响应请
  • 双重锁单例模式

    不忘初心 xff0c 思考梦开始的地方 普通的懒汉式和饿汉式都不用管 简单实现一下线程安全的方式 span class token keyword public span span class token keyword class spa
  • VScode神仙插件,程序员必备

    前言 Visual Studio Code VS Code 是微软2015年推出的一个轻量但功能强大的源代码编辑器 xff0c 基于 Electron 开发 xff0c 支持 Windows Linux 和 macOS 操作系统 它内置了对
  • 【Java】使用Java实现爬虫

    文章目录 使用Java实现爬虫一 HttpClient实现模拟HTTP访问1 1 HttpClient1 2 引入依赖1 3 创建简单的请求操作1 3 1 创建实例1 3 2 Jsoup应用 1 4 爬取过程中可能出现的问题1 4 1 JS
  • STM32 HAL库+ESP8266+华为云物联网平台

    文章内容 xff1a STM32 HAL库通过串口发送AT指令完成与ESP8266的控制实现接入华为云物联网平台 xff0c 并完成基本通信与控制 xff0c 包括设备属性上报和命令下发解析与响应 文末获取 STM32 HAL库 43 ES
  • MySQL事务篇

    文章目录 说明 xff1a 事务篇一 事务隔离级别是怎么实现的 xff1f 二 MySQL 可重复读隔离级别 xff0c 完全解决幻读了吗 xff1f 说明 xff1a 此类文章是为小林coding的图解MySQL xff0c 所简写 xf
  • Android studio TCP网络调试助手应用开发(支持TCP Server与Client切换)

    在前几篇的文章中带大家完成了基于TCP的物联网安卓应用开发 xff0c 教程内容是创建了一个TCP客户端并连接服务器完成数据通信的过程 xff0c 后不久又发布了一个ESP8266创建TCP 服务器与安卓的客户端进行通信的一个文章 xff0
  • 【FreeRTOS】中断管理

    在介绍本文之前 xff0c 向大家推荐个非常容易入门的人工智能学习网站 xff0c 建议点击收藏 目录 xff1a 1 前言2 内核提供两套API2 1 优点2 2 缺点2 3 常用API函数列表2 4 pxHigherPriorityTa
  • 【嵌入式基础】内存(Cache,RAM,ROM,Flash)

    1 前言 最近在看赛普拉斯的一款芯片CYW8019规格书 xff0c 里面有好几个内存的关键字 xff08 如下图的右上方 xff09 xff0c 本文将聊它们的含义和作用 2 Cache Cache是集成在CPU内部的极高速缓存 一般来讲
  • 使用Promise解决多个请求数据并发问题

    首先引用一下阮一峰大佬的一段话 xff1a Promise xff0c 简单说就是一个容器 xff0c 里面保存着某个未来才会结束的事件 xff08 通常是一个异步操作 xff09 的结果 从语法上说 xff0c Promise是一个对象
  • 1. KVM虚拟化学习

    1 什么是虚拟化 虚拟化 xff0c 通过模拟计算机的硬件 xff0c 来实现同一台计算机上运行多个不同的操作系统的既技术 2 为什么要使用虚拟化 为了充分利于资源 xff0c 软件运行环境的隔离 xff0c 只要有虚拟化才能实现 虚拟化提