<domain type="kvm">
// domain 是一个所有虚拟机都需要的根元素,type定义使用哪个虚拟机管理程序,
<name>$vmUuid</name>
// name定义了一个名字
<uuid>$vmUuid</uuid>
// id唯一的标示一个运行的虚拟机
<memory unit="KiB">$vmMemory</memory>
// memory 定义客户端启动时可以分配到的最大内存
<vcpu placement="static">$vmVcpu</vcpu>
// vcpu的内容是为虚拟机最多分配几个cpu,值处于1~maxcpu之间 //placement参数指定一个domain的cpu的分配模式,static、auto
<os>
<type arch="x86_64" machine="pc-i440fx-trusty">hvm</type>
// type参数指定了虚拟机 *** 作系统的类型 // arch指定虚拟机的CPU架构,machine指定机器的类型 // hvm表明需要全虚拟化
<boot dev="hd" />
// boot:指定启动设备,hd表示从硬盘启动
</os>
<features>
// Hypervisors所有的特性都在fearures元素中
<acpi />
// 用于电源管理
<apic />
// 是装置的扩充组合用来驱动 Interrupt 控制器
<pae />
// 扩展物理地址模式,使32位的客户端支持大于4GB的内存
</features>
<clock offset="utc" />
// 客户端的时间初始化来自宿主机的时间 // 大多数 *** 作系统期望硬件时钟保持UTC格式,UTC也是默认格式 // 当一个客户端的OS触发lifecycle时,它将采取新动作覆盖默认 *** 作 // 具体状态参数如下:
<on_poweroff>destroy</on_poweroff>
// 当客户端请求poweroff时执行特定的动作 // destroy:domain将会被完全终止,domain的所有资源会被释放
<on_reboot>restart</on_reboot>
// 当客户端请求reboot时执行特定的动作 // restart: domain会被终止,然后以相同的配置重新启动
<on_crash>restart</on_crash>
// 当客户端崩溃时执行的动作 // restart: domain会被终止,然后以相同的配置重新启动
<devices>
// 所有的设备都是一个名为devices元素的子设备
<emulator>/usr/bin/kvm-spice</emulator>
// emulator元素指定模拟设备二进制文件的全路径
<disk type="file" device="disk">
// 所有的设备看起来就像一个disk、floppy、cdrom等 // 他们通过一个disk元素指定。 // disk是一个描述disks的容器,这个disk的type是file
<driver name="qemu" type="qcow2" />
// driver允许更进一步的指定hypervisor driver的 // 相关细节。如果hypervisor支持多个后端驱动程序, // name属性选择一个主要的后端驱动的名称, // type参数可以指定一个子类型,qcow2 写时拷贝2
<source file="$imagePath" />
// source元素:在disk的type是file时,file属性 // 指定一个合格的全路径文件映像作为客户端的磁盘
<target dev="sda" bus="virtio" />
// 将磁盘暴露给客户机时的总线类型和设备名称。 // target元素:控制总线设备在某个磁盘被选为客户 // 端的OS时,dev属性表明本地磁盘在客户端上的实际 // 名称,因为实际设备的名称指定并不能保证映射到 // 客户端OS上的设备。 // bus属性指定了哪种类型的磁盘被模拟 // virtio 半虚拟化
</disk>
#foreach($!disk in $!diskList) // 循环创建虚拟硬盘
<disk type="file" device="disk">
<driver name="qemu" type="$!disk.diskDTO.diskFormat.value" />
<source file="$!disk.diskDTO.diskPath" />
<target dev="$!disk.devName" bus="usb" />
</disk>
#end // 控制器=====
<controller type="usb" index="0" model="ich9-ehci1">
<address type="pci" domain="0x0000" bus="0x00" slot="0x07" function="0x7" />
</controller>
<controller type="usb" index="0" model="ich9-uhci1">
<master startport="0" />
<address type="pci" domain="0x0000" bus="0x00" slot="0x07" function="0x0" multifunction="on" />
</controller>
<controller type="pci" index="0" model="pci-root" />
<controller type="ide" index="0">
一:修改KVM的配置文件1.查看KVM的xml配置文件
KVM的配置文件存放在/etc/libvirt/qemu目录下
使用vi进行编辑 下面的这个KVM是重定向了一个PIC控制器
添加的代码如下
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</source>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
</hostdev>
登录后复制
2.使用virsh命令
list --all
登录后复制
使用list --all可以查看服务器下的虚拟机
使用 edit + 虚拟机名称 进行编辑
edit vm6u437944
登录后复制
然后再在对应的位置 添加对应的代码
二 查看PCI信息
查看USB控制器
lspci -vnn | grep USB
登录后复制
找到需要重定向的USB控制器,可以在前面看对应的控制器名称 如:01:00:0
然后将改设备写入到KVM中
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</source>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
</hostdev>
bus对应的就是01 slot对应的就是第二项 00 function对应的就是0 这三项分别对应了控制器名称 其他可以不做改变,直接复制进去
PCI
属羊人要“睡不着”了,2023年跟住这个人,别分开,是你的福气
麦玲玲仅供娱乐
广告
kvm-gpu:通过KVM进行GPU直通的实用程序
1下载·0评论
2021年5月9日
使用SR-IOV创建KVM虚拟机报错“host doesn’t support passthrough of host PCI devices”解决
3089阅读·0评论·0点赞
2022年3月9日
openstack 开发step-by-step
144阅读·0评论·0点赞
2015年5月5日
KVM详解,太详细太深入了,经典
4.9W阅读·4评论·45点赞
2016年9月29日
kvm控制服务器上传文件,KVM简单使用 | leon的博客
625阅读·0评论·0点赞
2021年8月13日
Ubuntu Server 20.04 LTS使用KVM创建虚拟机和指定显卡直通
1434阅读·0评论·2点赞
2022年6月7日
限时2年0利率,0压力提新车,电马新能源车全新价24.99万元起!
00:17
电马新能源车
广告
linuxPci驱动获取指定设备bus、device以及devfn数据方式
4002阅读·0评论·1点赞
2017年11月17日
主机pci设备直通
5718阅读·0评论·0点赞
2014年3月6日
pci设备的初始化
2666阅读·0评论·0点赞
2016年12月2日
如何用命令的方式在KVM上创建虚拟机
6804阅读·0评论·0点赞
2018年10月24日
虚拟媒介技术服务器,Raritan Dominion KXⅡKVM 配置虚拟媒体
173阅读·0评论·0点赞
2021年8月11日
KVM设备透传与重定向
2613阅读·0评论·3点赞
2019年12月18日
简单KVM安装+桥接模式
1416阅读·0评论·3点赞
2020年1月12日
06、KVM 中给虚拟机添加磁盘
954阅读·0评论·2点赞
2020年9月17日
kvm libvirt: hostdev passthrough support 解决加密狗冲突问题
3899阅读·0评论·1点赞
2013年9月15日
基于KVM的SRIOV直通配置及性能测试
1728阅读·0评论·3点赞
2022年1月7日
kvm如何实现pci设备的物理穿透?
352阅读·0评论·0点赞
2020年12月10日
KVM+显卡直通(passthrough)配置方法及问题说明
4.3W阅读·19评论·6点赞
2018年12月24日
Ubuntu20.04.3 KVM+显卡直通(passthrough)配置方法
5238阅读·0评论·0点赞
2022年3月31日
kvm安装虚拟机命令详解
[图片上传中...(image-fdd922-1624513875059-3)] [图片上传中...(image-3b6ec-1624513875059-2)]
虚拟机分配的CPU为的8 但是 实际系统只有2核
关闭虚拟机,编辑/etc/libvirt/qemu/下的虚拟机配置文件,如:win10.xml
<domain type='kvm' id='1'>
...
<vcpu placement='static'>8</vcpu>
...
<cpu mode='host-passthrough'>
</cpu>
...
</domain>
其中,<vcpu placement='static'>16</vcpu>是在KVM创建虚拟机的页面上设置的CPU核数
<topology sockets='1' cores='8' threads='2'/>是设置的CPU拓扑信息,CPU核数=socket cores thread
设置完保存退出,并重新启动KVM(保险起见):systemctl restart libvirtd
然后重启虚拟机就OK了。
此种方案 可能会对其他虚拟机有影响 暂不采用
[图片上传中...(image-d88fda-1624513875059-1)]
[图片上传中...(image-c48a7c-1624513875059-0)]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)