首页 > 虚拟机

虚拟机怎么直连显卡

本文目录一览I、VMwareWorkstation网卡模式详解小刚接触系统集成的时候,因为身边资源有限,所以只能在VMware虚拟环境上做一些测试。 现在最新VMwareWorkstationV8已经发布了,此次更新不仅在原版安装文件上进行精简,保了原有的品质,而且完美支32位和64位系统,在功能和易用性方面有了很大提升。
虚拟机安装完成之后,VMware会在主机上虚拟出两块网卡来,在windows2003的网络属性中可以看到多了VMwareNetworkadapterVMnet1(host-only)和VMwareNetworkadapterVMnet8(NAT),这两块网卡就是虚拟机与主机通讯的桥梁,我们可以想象为主机上的一块网卡,是与虚拟机相连的。
host-only:模式相当于网卡直连
bridged:模式相当于通过hub
NAT:相当于通过路由。
VMwareWorkstation里有以下几种网卡模式:

1.birdged:桥接模式
VMwareWorkstation上的虚拟机就像是网络上的一台独立主机,可以访问网络上任何一台机器,有自己独立的IP,甚至可以通过gateway,route访问其他网络上的机器。
2.NAT:地址转换模式
VMwareWorkstation上的虚拟机可以与主机共享一个IP
3.host-only:主机模式

VMwareWorkstation上的只能与主机通讯(就相当于两台机器通过双绞线互联)
4.custom:自定义模式
小试着使用了host-only和bridged两种方式,以下分别说明:
一、在VMwareWorkstation中将网络设置为host-only

1.在虚拟机linux系统上设置网卡的IP为192.168.0.10
2.在宿主机windows2003中设置VMwareNetworkadapterVMnet1(host-only)的IP为192.168.0.11
3.将windows2003和linux重启,便可以通信了

二、在VMwareWorkstation中将网络设置成bridged
1.在虚拟机linux系统上设置网卡的IP为192.168.0.10
2.在宿主机windows2003中设置物理网卡IP为192.168.0.11
3.将windows2003和linux重启,便可以通信了
在bridged模式北街还测试了同一网段中的其它服务器也可以访问VMwareWorkstation的linux系统,同样linux也可以访问域网的其它服务器。
看到这里,我相信各位可以把VMwareWorkstation的网络搞定了。

II、虚拟机ubuntu能用gpu吗可以。 在虚拟机ubuntu中,可以通过使用虚拟显卡的方式来实现gpu的使用。 例如,当在Win11作为主系统的电脑上使用VMware+ubuntu22.04时,可以通过显卡直连或者使用虚拟显卡的方式来让ubuntu使用gpu。 因此虚拟机ubuntu能用gpu。

III、KVM的虚拟机与宿主机通过vethpair直连

过程复现如下:
1、建立VM,装centOS,过程略
2、建立vethpair

3、利用virt-manager给VM创建一个网卡,接到veth-centOS上,其它啥都不用配置,都默认

4、在虚拟机centOS里配置realtekethernet这个网络的IP地址,192.168.1.101/24,很奇怪为啥叫realtekethernet。 关于为什么会出现realtekethernet,好像是跟KVM或者QEMU有关系,后来我再用以上的方式添加网络,名字成了PCIethernet!先不管了吧。


然后ifconfig看到以下景象:

为啥叫ens9!!很奇怪!!全都是问题!!!

5、接着奇迹发生了!ping192.168.1.100!通了!结果如下:

6、总结
为啥会这样?需要进一步研究,或许这只是表象,还有许多问题啊!

然后,果然!出现问题了!!!
过程复现如下:
1、建立第二个虚拟机VM2,装的redhat
2、建立vethpair

3、然后重复上面第一部分的相关作,虚拟机ip设为192.168.1.103/24
4、在虚拟机redhat里ping192.168.1.102,然不通!然后ping192.168.1.100,也不通!好吧,我承认我的网络基础知识太差了,可我真的没法理解


5、接着,我又回到centOS里,ping192.168.1.102,通了!无语。 。 这究是为啥?!

为了阅读起来清晰,我决定把上面全部推翻再来!
过程复现如下:


1、创建3个VMs,分别安装centOS、redhat、ubuntu
2、创建3个vethpairs,配在不同的网段里,如下:

3、给VMs分别添加NIC,连接到VM对应的veth上,这次devicemodel选virtio,貌似这样网速快
4、开始测试网络连通情况,结果如下


veth0←→centOS通
veth1←→redhat通
veth2←→ubuntu通

其他连接均无法ping通
这个结果还是比较满意的
5、总结
为什么要配在不同的网段里?想不通

这次尝试和第三次尝试类似,只不过宿主机的veth不设置ip地址了,具体过程如下:
1、创建虚拟机过程就略过了
2、配置vethpairs

3、在虚拟机centOS里配置新加入的两个网卡的IP,分别设为192.168.4.3/24和192.168.5.3/24


4、在虚拟机中ping上面两个IP同网段的地址,例如192.168.4.5和192.168.5.4
5、在宿主机中利用wireshark抓包,看veth3、veth4的收包情况,截图如下。 结果是,收到ARP包了。
ping192.168.4.4的结果,在veth3抓包

ping192.168.5.4的结果,在veth4抓包

6、总结
虚拟机的ARP请求直接通过vethpair发送到宿主机了,就是这么回事

返回顶部