使用Microsoft Hyper-V Server 2016作为HPE ProLiant MicroServer Gen10的主系统——流水账篇

去年年底近圣诞节的时候,看CU上Gen 10的价格不错,就买了一台。

一路到手已经快过年了,陆陆续续折腾到现在,想起来写点东西做点贡献,因为这方面的中文资料实在比较匮乏。

需求

小小的机器,4个3.5寸盘位,8G DDR4 ECC内存,AMD带集显的高效服务器U,低功耗,低噪音。就等内存降价后扩容了。

对我来说是一台完美的家用服务器。

硬件安装

到手后装了4块硬盘,其中3块3.5寸仓库盘,1块SSD系统盘128G。

对了,安装SSD有个小坑,需要自己准备一条小4PIN公转SATA的电源线。

其他没啥要动的,自己创意一下SSD的摆放位置就好。

操作系统

单说纯虚拟化,作为Gen 10的主操作系统,我纠结了挺久。网上一般两种主流:ESXi(vSphere Hypervisor)和Hyper-V Server。

ESXi之前没用过,用VMware时感觉资源占用率比较高,而且网上看可能会有驱动兼容性的问题,最终我就选择了Hyper-V。

Hyper-V安装很简单,就不说了,装完后设置一下网络防火墙开启远程连接就能断开显示器玩了(Gen 10没了iLO的缺憾)。

Hyper-V管理器

设置Hyper-V远程管理有个小插曲。

按网上教程指导(微软官方),我的Hyper-V管理器(另一台电脑Windows 10中的)始终看不到远程服务器(Gen 10)信息,然后在网上又找了一圈,发现是网络安全的问题。

有两个解决方案:

一是需要加入域。为了一台主机建个域,有点浪费,有点繁琐。

二是使用WORKGROUP工作组,局域网中保证登陆用户的用户名密码相同。这个比较简单,还能少记一个密码:)

问题至此解决,Hyper-V管理器可以正常管理Gen 10中的虚拟机了。

Hyper-V中的虚拟机

然后是装虚拟机,目前规划了3个:

第一个,自然是NAS系统,仓库盘直通过去使用。

第二个,数据应用服务系统,考虑到资源消耗情况,以及后续其他应用的需要,装的是Arch Linux。

第三个,Windows系统,偶尔开启使用一下。

规划好之后,通过Hyper-V管理器,可以进行虚拟机的安装和管理。注意设置好虚拟机代数/UEFI等内容。没什么大问题。

还有一个注意点就是设置好虚拟机自动启动操作和自动停止操作里的内容,非常实用。

AMD集显的驱动

装完Windows系统后想看看显卡性能,就装了一下AMD的显卡驱动。

AMD官网下载,服务器版本AMD_Chipset_Graphic_Driver_for_WS2016,安装的时候还有GUI,点点鼠标就完事了。

装完以后Hyper-V管理器里可以在”物理GPU”栏里看到对应的显卡信息,我的是Gen 10丐版,GPU显示为”AMD Radeon R5 Graphics”。

然后增强会话模式里也可以设置了。

简单测试了一下,远程桌面过去播放720P很流畅,1080P比较卡。不知道是U的问题还是软件的问题还是我的问题了。反正也没啥实际应用场景。等以后有HTPC需求的适合再研究。

双网卡共享上网

Gen 10自带双千兆网卡,性能强悍,不用浪费。

我的台式机和Gen 10放在一起,原来还有个WD My Cloud,需要额外加个交换设备来共享网络。现在My Cloud退役,只剩Gen 10和台式机需要接网线。那么Gen 10自然是直接接上房间的网口,千兆交换到主路由器;台式机通过Gen 10的第二个网口共享上网即可。

为了使NAS系统的网络性能最优,采用的方案是将第二个网口直通给Arch Linux,通过Arch Linux分享网络。

本来是想用网桥的,折腾半天没成功。

时间就是金钱,换NAT方案。

直接看Arch Linux官方文档就搞定了,主要就是配置iptables,注意设置好自动启动,参考官方文档

外接UPS

前两年买的UPS,正好用上。型号是APC BK650-CH。UPS的USB数据线接上Gen 10好像自动就装上驱动了,应该是Hyper-V Server的一大优势吧。

使用Windows自带的驱动时,UPS会被识别为一块电池,类似笔记本的模式。当外部交流电断开,UPS工作会给出信号,Windows(Hyper-V Server)进入电池工作模式(直流供电)。

因此设置好电源计划即可实现断电自动关机。

PowerShell中用get-wmiobject win32_battery可以看到UPS的详细信息。使用下面两行命令分别设置关键级别电池水平(40%)和对应的操作(关机),电源方案GUID用powercfg /L可以查到。

powercfg /setdcvalueindex 电源方案GUID sub_battery batlevelcrit 40

powercfg /setdcvalueindex 电源方案GUID sub_battery batactioncrit 3

微软社区的帖子里还有两种方案,一种是安装APC商业版的软件,要小折腾一下,因为core系统没有gui无法直接装;还有一种是写脚本,VB/PS脚本都有,也是折腾。

鉴于Hyper-V Server的新版本功能比较完善,关机可以自动保存虚拟机的状态,那么用系统自带的功能就够了。

 

Windows 10 禁止驱动自动更新

Win 10 (专业版) 版本为10586,已安装1511更新。设置之前可以先通过”设备管理器”选择回滚驱动程序。保持当前驱动程序正确的情况下再进行以下 设置:

打开组策略管理(Win+R,运行gpedit.msc),本地计算机策略–>计算机配置–>管理模板–>系统–>设备安装–>设备安装限制。

打开”阻止安装与下列任何设备ID相匹配的设备”。

选择”已启用”,在选项中点击”显示…”,并输入相应设备的硬件ID,设备的硬件ID具体如何获取下面会接着说。”也适用于匹配已安装的设备”不要勾选。然后点”应用”或”确认”就可以了。

最后可以重启一下电脑。

硬件ID的获取方法:

打开”设备管理器”,找到相应的设备,并双击显示属性,打开”详细信息”标签页,”属性”下拉选择”硬件 Id”,然后在”值”栏中就会显示这个设备的”硬件 Id”了,可能会有多个,可以都填入上面的策略设置中。