[TOC] 注意!! hyperv 运行游戏串 由于技术比较复杂,遇到问题可以一起探讨,不保证每个人一定能成功,本公司不对自己操作错误导致的系统或硬件损坏负责 # 硬件软件需求 宿主机 windows server 2016 虚拟机 windows 10 主板需要支持虚拟化技术 宿主机至少需要两个显卡,一个自用(可以是核显),其他独立PCI显卡直通给虚拟机 宿主机需要保证电源功率足够,双显卡推荐额定功率650W,三显卡900W 主板和显卡不能太老,理论上要2015年以后的型号,已确认的最低配为显卡1050Ti,主板B250M # 宿主机BIOS设置 开启集显 BIOS内开启HyperV 显卡直通相关选项 intel 虚拟化 开启 VT-D 开启 支持SR-IOV 单根IO虚拟化 ASPM 开启 让OS管理PCI设备电源,切断宿主BIOS和PCI设备间的管理关系 如果suverydda依然报错,那么尝试开启主板上其他和PCI-E相关的高级功能。 完成BIOS后需要关闭电源重新冷启动 # windows2016 设置 为了让宿主机也可以出租,需要进行以下设置 设置账户和密码不过期 Win + R或CMD,「netplwiz」,如图,去掉『要使用本机,用户必须输入用户名和密码』对勾。应用、输入账户密码即可。 Win + R或CMD,「compmgmt.msc」打开『计算机管理』,『本地用户和组』、『用户』,双击『Administrator』,属性中选中『密码永不过期』。 Win + R或CMD,「gpedit.msc」。「计算机配置 - windows配置 - 安全设置 - 本地策略 - 安全选项」,『交互式登录:无须按ctrl+alt+del』,选中『已启用』。 网卡显卡驱动 有线网卡,进设备厂商“Intel”里找到“Intel(R) Ethernet Connection I219-LM”即可 打开了 添加角色和功能向导,一直默认下一步到左边功能处,勾选DirectPlay 这一项,往下拉 再勾选 无线LAN服务 , 媒体基础(重要) 以及 优质WINDOWS音频视频体验 本地服务器 关闭IE增强设置(这会导致PS4无法登陆) # 安装HypderV及win10虚拟机 打开了 添加角色和功能向导, 添加HyperV服务 并安装win10虚拟机 # 切换PCI设备直通到VM上 Dismount-VMHostAssignableDevice -force -locationpath "path" Add-VMAssignableDevice -locationpath "path" -vmname vmname path可以进设备管理器查看 # 虚拟机声音设置 安装VBCABLE虚拟声卡驱动,否则游戏串无声音 下载地址: 链接: https://pan.baidu.com/s/19Ml0SjLAAg3Abc9a9vU_Fw 提取码: m7ti # 虚拟机安装显卡驱动 如果直通nvidia显卡,需要在虚拟机上安装特殊的破解版驱动 关闭 安全启动 (否则进不了testsign 模式) bcdedit -set testsigning on 安装破解版nvidia 驱动 新版驱动(419.67)适用于2018年以后的显卡 https://pan.baidu.com/s/1XU45LXshO8um4ix9kKI5nA 提取码: cnby 旧版驱动 https://pan.baidu.com/s/1o5FbPXoAbygiTDI3iMzWZg 使用gpedit.msc 禁止安装驱动更新:依次选择计算机配置—管理模板—系统—设备安装—设备安装限制,选定禁止安装未由其他策略设置描述的设备,启用 # 虚拟机显示设置 需要给直通后的显卡插上显示器或者虚拟显示器 从hyverV控制台,打开虚拟机windows 10,会发现现在有两个显示器 我们把HyperV的虚拟显示器称为1号显示器 把直通显卡的显示器称为2号显示器 下面有两种方案来设置 ## 将2号显示器设置为首要显示器 这样平时可以通过hyperv控制台远程管理,但记住游戏串一定要通过2号显示器来启动(或者开机自动启动) ## 只输出画面到2号显示器 进入显示设置,强制输入画面到第二个显示器 此后从hyverV控制台将无法获取到虚拟机画面,建议安装teamviewer远程管理 # 安装虚拟共享存储 ## 直接使用Windows文件共享 大部分游戏实际上是支持从共享盘启动的,直接拿NAS或者单独的一台主机作为共享盘主机就行了。 ## 使用HyperV共享驱动器来实现文件共享(太复杂不推荐) 如果有两台宿主机(实体主机),可以实现一个小型的集群虚拟共享存储,改善游戏安装配置升级的复杂度 总体架构是ISCSI存储+故障转移集群(基于WorkGroup)+集群共享卷+HyperV共享驱动器 (将来可采用横向伸缩文件服务器SOFS) 首先说存储方面,我选择的是廉价的ISCSI方案(相对于SAS,和Fiber Channel, 单纯的SATA接口是不支持作为集群共享卷的),windows server 2016 自带了iscsi target,基本纯软件就搞定了,唯一问题是2016自带的ISCSI独立服务器似乎不能与故障转移集群共存,所以最好选用其他免费的iscsi服务端。注意ISCSI虚拟磁盘文件类型要选固定大小,否则扩容时性能很低,ISCSI物理磁盘应选用SSD,否则速度非常慢。 其次故障转移集群,这个配置起来坑比较多,我选择了不基于活动目录,而是基于WorkGroup的方案,网上有教程,主要步骤,设置私有网络,私有DNS,私有域名后缀,每台集群主机设置相同的用户名密码。另外集群主机需要设置一下 TrustedHosts,用cmd 控制台 winrm set winrm/config/client @{TrustedHosts="*.hyperv.test"} 再次集群共享卷,选择一台主机使用ISCSI发起程序连接ISCSI网络盘,然后这个盘就能添加到集群磁盘了。并创建集群共享卷了,创建好以后位置在C:\ClusterStorage\Volume1 最后就可以给每台集群的HyperV虚拟机添加共享驱动器了,虚拟磁盘文件主要必须保存在集群共享卷。磁盘文件可选动态大小。 理论上,也可以在集群共享卷基础上创建SOFS横向伸缩文件服务器,实现局域网的任意HyperV主机都能用共享驱动器,但是实际操作过程中发现,最后添加虚拟机时有个权限问题,暂时放弃,以后有机会再研究。 TBD