最新消息:

惠普gen8系列服务器从nvme硬盘启动的方法

硬件 eben 679浏览 0评论
hp proliant dl360p gen8 with nvidia tesla graphics boot from nvme disk

本人因为最近研究深度学习,需要安装一个较高性能的计算平台,但是身为学生的身份囊中羞涩,并不能支持我购置顶级的硬件,我便把目光投向了性价比极高的老x79平台,其中遇上了不少坑,也前前后后折腾了一个星期,现在把我遇上的坑总结一下,希望能帮到和我遇上类似问题的人

众所周知,intel x79芯片组并不原生支持从nvme启动(华擎等品牌的翻新x79主板可以支持),但是对于服务器平台来说,安装nvme硬盘则需要另寻蹊径

注意,并非x79不支持nvme硬盘,只是不支持从nvme硬盘boot,nvme硬盘作为数据盘的话则可以直接支持

ps:x79平台一般没有nvme m.2接口(华擎除外)安装nvme硬盘从硬件上来说可以走pcie通道,淘宝上花十几块钱买个下图所示转接卡即可(nvme协议本身就走的pcie通道,所以转接卡甚至不需要主控,价格非常低廉)

惠普gen8系列服务器从nvme硬盘启动的方法-1

目前,主流的x79芯片组从nvme启动主要有两种方式:

1.在bios中添加nvme模块,然后烧写bios(华擎的x79主板就类似这种思路,不过人家是自己就开发了添加nvme模块的bios)

2.使用可以正常引导的介质(如U盘,或者sata硬盘)引导启动grub或者clover之类的软件,然后再引导nvme硬盘中的内容

方法1需要改动bios固件,存在风险,而且我的服务器平台官方已经停止维护,故选择方法2

由于我的服务器具体型号为hp proliant dl360p gen8,不仅不支持nvme硬盘启动而且还不支持uefi,而nvme安装系统必须从uefi环境启动,所以我选择clover作为启动环境

clover是一个广泛用于安装黑苹果的工具,它支持legacy boot并且能虚拟出个uefi环境,并且支持nvme模块

安装clover的方法网上教程很多,这里不再赘述,强调几个点

1.安装了clover的U盘每次开机都要插在电脑上,所以尽量准备一个闲置的U盘直接永久接在电脑上(大小500mb以上就够)

2.安装clover到U盘以后,U盘的\EFI\CLOVER\drivers\off目录下有一个名为NvmExpressDxe.efi的文件,该文件为clover支持nvme硬盘的模块,需要手动复制该文件,如果你是legacy boot,则复制到\EFI\CLOVER\drivers\BIOS目录下,如果是uefi boot,则复制到\EFI\CLOVER\drivers\UEFI目录下,如果你不知道你是何种启动方式,你可以在两个目录下都放一份

如果你是家用平台或者安装了常规独显的服务器平台,那本教程就到此为止,你只需要进入pe将nvme硬盘设置为guid格式然后安装Windows(这里建议安装Windows10,因为win10自带nvme驱动),随后从安装了clover的U盘启动,clover就自动能认出来Windows系统,只需按下回车便可启动

如果你从安装了clover的U盘启动遇上了下图这种情况,那么恭喜你遇上了一个巨坑

惠普gen8系列服务器从nvme硬盘启动的方法-2

先在这里说下本人选择的硬件

平台为惠普dl360p gen8 1u服务器

cpu为两颗志强e5-2689,8c16t ,单核3.6多核3.3,价格只需要70块钱,非常合适

显卡为nvidia tesla p10

重点来了,这颗GPU是nvidia出的专业计算卡,本身并不支持图像输出,没有任何图像输出接口,系统也不会把它认为是一块可以输出图像的显卡,所以,我的显示器是接在主板集成显卡上的

相信不少人使用服务器并不会给服务器配置独立显卡,显示器接在集成显卡上的并不是少数,所以,如果你们使用惠普gen8平台,大概率会和我遇上一样的问题

总之,我一开始以为是引导出了问题,因为本平台是不支持uefi启动的,而我怀疑我的clover版本不支持legacy启动,所以我尝试了数十个版本,但是无一例外都失败了(这里吐槽一下服务器平台,开机自检要整整4分钟,折腾启动问题频繁重启真的是精神污染,而且自检过程中风扇转速极快,声音和机场似的)

最后,我几乎翻遍了全网也没找到和我相似的问题,直到我在github上翻找clover的源码时(对,我到这个时候依然坚信我没有成功以legacy模式启动clover)在issues里发现了这样一篇求助

惠普gen8系列服务器从nvme硬盘启动的方法-4

虽然型号不一样但是同属一代服务器,我如同抓住救命稻草一般点了进去

惠普gen8系列服务器从nvme硬盘启动的方法-5惠普gen8系列服务器从nvme硬盘启动的方法-6惠普gen8系列服务器从nvme硬盘启动的方法-7

看来,问题就出在这个集成显卡上,于是,我去借了个亮机卡,接上

出现了clover的启动菜单

惠普gen8系列服务器从nvme硬盘启动的方法-8

老泪纵横啊,折腾了一个星期,走了太多的弯路

但是,问题并没有圆满解决

先给大家看一下此服务器的布局

惠普gen8系列服务器从nvme硬盘启动的方法-9

此服务器riser卡提供两个pcie插槽,一个16x一个8x

其中,红圈为Tesla p4显卡,绿圈为nvme硬盘

我成功在亮机卡的帮助下安装了Windows10以后,我便换上了Tesla显卡,然后开机

此时由于集显无法使用,此电脑没有任何视频输出接口,只能通过Windows远程桌面链接,于是出现的一个新的问题:

系统能成功启动,但是Windows远程桌面无法链接

问题所在比较明显,Tesla显卡并非常规显卡,不支持显示输出功能,也不会被系统认为是一个视频输出设备

所以,这台机器上,没有任何的显卡

换句话说,如果要显示画面,必须再接一个亮机卡,但是仅有的两条pcie插槽都占用了,貌似无路可走了

俗话说天无绝人之路,在研究的过程中,我又发现了一个帖子

惠普gen8系列服务器从nvme硬盘启动的方法-10

此贴看上去似乎与我目前的困境毫无关联,但是嗅觉敏锐的同学已经注意到了游戏二字

不是说特斯拉显卡不支持显示输出吗?如何支持游戏?

研究了一下,原来,Tesla阉割的OpenGL和directx是软件阉割,只需要更改注册表,就可以让Windows把Tesla显卡作为显示输出途径

具体做法:注册表中的:

计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318 中

AdapterType 的值修改为0

EnableMsHybrid 的值修改为1

那么问题来了,此操作需要同时安装硬盘,特斯拉显卡,亮机卡,然后给特斯拉打驱动再更改注册表。。。貌似又是死路一条?

不不不,都到这一步了岂有放弃的道理

最后的解决方案非常暴力:

  1. 先插上Tesla显卡和一个常规的sata固态,以传统的legacy模式在sata固态里面安装系统
  2. 安装系统后安装Tesla显卡的驱动,然后更改注册表,直到系统把Tesla显卡作为显示输出
  3. 插上亮机卡和nvme硬盘,插上sata固态,进入pe,将已经装好系统的nvme硬盘的c盘分区直接格式化(注意不是清空磁盘,efi引导分区千万不能丢)
  4. 直接把sata固态里面的c盘所有文件丢到nvme硬盘的c盘分区里面

注意:两次安装系统应该使用完全相同的镜像

IMG_20220422_171815147.jpg

等复制完成,拔下sata固态,然后从cloverU盘启动(希望你没有忘记打卡远程桌面链接23333)

随后通过远程桌面连接服务器:

10.png

111.png

惠普gen8系列服务器从nvme硬盘启动的方法-14

惠普gen8系列服务器从nvme硬盘启动的方法-15

惠普gen8系列服务器从nvme硬盘启动的方法-16

可见,非常完美的运行在了nvme硬盘上,速度也跑满了该硬盘的极限

至于现在此显卡有了一定的游戏性能,也可以跑一下相关的测试

惠普gen8系列服务器从nvme硬盘启动的方法-17

234.jpg

问题较为完美的解决了,此平台一共花了不到2500人民币(甚至还是狂潮中的价格,此显卡我花费1200人民币购入,实际最低值价格大约在800人民币),性能在同价位中绝对算佼佼者了,希望能帮到有类似需求的人

最后,附上我的配置单,想组类似平台的可以直接抄作业23333:

主板:惠普 hp proliant dl360p gen8

处理器:英特尔 Xeon E5-2689@2.60GHZ 八核*2

显卡:英伟达 Tesla P4 8GB

硬盘:Samsung MZVLB256HAHQ-000H1


本文用到的工具(包括clover制作工具,Tesla p4驱动,配套cuda和cudnn)

注意,英伟达提供的最新驱动无法按照本文的方法改动,可以下载我提供的

链接:https://pan.baidu.com/s/1mbthtpPwunfhUJSV5UImdg?pwd=gscv

提取码:gscv


确实便宜,不过这种服务器是不是挺吵的。/如果一张卡可以挂个电源挂在普通台式机,基本不用花钱,2张卡上x99,x299之类的,比较安静


确实比较吵,但是Tesla系列显卡是被动散热,需要服务器风道辅助散热,上家用平台得自己改水冷,我并不想失去这张卡的保修,所以选择了服务器平台,x99确实是更好的选择,拥有更多现代化的功能

转载请注明:落伍老站长 » 惠普gen8系列服务器从nvme硬盘启动的方法

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址