前言
前段时间社团的NAS坏了之后,在寻找新的方案时看上了浪潮的SA5212M4,想在这台机子上装ESXi后搞黑群晖。首先简单介绍一下SA5212M4,这台机子能装两个Xeon E5-26XX V3/V4 系列的CPU,最高支持1024GB(单条最高64GB)DDR5 ECC内存,前置12个3.5寸硬盘位,后置四个2.5存硬盘位,2个或4个Intel I350千兆网卡,支持IMPI管理,准系统的价格在350块钱左右(单电源,不含后置的硬盘笼)。
直通方式
在ESXi上安装黑群晖有两种添加硬盘的方式:
1. 不直通:在ESXi数据存储上创建一个vmdk文件,添加该文件至群晖系统。
优点:可以不关机创建快照(备份虚拟机)。
缺点:需要格式化磁盘,群晖系统无法读取SMART等信息,无法休眠硬盘,数据安全性不高,添加磁盘或移除磁盘需要重新配置。
2. RDM直通:将硬盘映射为一个vmdk文件,添加该文件至群晖系统。
优点:可以不关机创建快照(备份虚拟机),无需格式化磁盘。
缺点:群晖系统无法读取SMART等信息,无法休眠硬盘,添加磁盘或移除磁盘需要重新配置直通。
3. PCI直通:将硬盘的SATA控制器直通进群晖系统,由群晖系统直接管理该控制器下的所有硬盘。
优点:群晖系统可以读取SMART等信息,可以休眠硬盘,无需格式化磁盘,添加磁盘或移除磁盘不需要重新配置。
缺点:不支持开机状态下创建快照(备份虚拟机),需要宿主机有多个SATA控制器。
第一种方式建议直接忽略;第二种方式也是建议能避免就尽量避免;第三种方式要求有两个及以上的SATA控制器,如果满足这点的话请无脑选这个(没有这么多控制器的话也是建议买个PCIe转SATA的硬件)。
方案确定
对于SA5212M4,它后置4位硬盘笼使用的SATA口是一个控制器,前置的12位硬盘笼使用的是LSI SAS3008作为控制器,所以我们可以将后置的硬盘位安装系统盘和虚拟机数据盘,前置硬盘笼全部直通进群晖的系统内。
通过该方案我们能在700块钱左右的价格(不含硬盘)获得一个9盘位的黑群晖(为什么是9盘位在后面解释)以及一个能运行其他虚拟机的ESXi服务器。
搭建
ESXi安装
由于ESXi对硬件兼容性有较高的要求,所以在安装ESXi之前需要选择正确的版本,在安装及选购硬件之前建议先在 VMware Compatibility Guide 上检查支持的ESXi版本,同时如果有厂商定制的镜像,建议安装定制镜像。对于SA5212M4,最高支持到ESXi 7.0 U3,它的下载地址可以在这里找到。
将ISO文件放在U盘等安装介质上,选择U盘引导,然后按照提示安装就行了,挺无脑的。
这里有个小坑,就是ESXi安装的时候是需要获取IP地址的,如果网卡不支持是直接无法安装的;对于SA5212M4这台服务器,BIOS内可能关闭了后置的两个网卡,导致找不到网卡设备。
获取引导
首先下载最新版本的 wjz304/rr 引导,建议下载带4rb的版本,它的意思是该镜像分配的空间更大一些,因为驱动多了之后占用的空间也更多了,不带4rb的版本会后续扩容。
解压该文件,得到img文件。
然后下载安装 StarWind V2V Image Converter ,用于将img文件转换成ESXi使用的vmdk格式。
打开StarWind V2V,选择Local file,然后选择img文件,最后勾选VMware ESX server image,剩下的一路next就行了。
然后我们得到rr_4GB-flat.vmdk和rr_4GB.vmdk(不要修改文件名)。
设置直通
登录ESXi网页,在 管理 ->硬件 -> PCI设备 界面找到你要直通的SATA控制器,如果直通列下显示的是禁用的话,要勾选该设备,点击切换直通
,然后重新引导主机
。当直通列下显示的是活动就代表配置好了。
创建虚拟机
创建新的虚拟机
名称随意填写,客户机操作系统系列选Linux
,版本选择其他 5.x 或更高版本的Linux(64位)
存储随意选一个
首先再添加一个SATA控制器
然后CPU随意,内存需要大于2G;硬盘用于安装群晖系统,所以大小不用很大,硬盘置备随意选(精简置备意思是用多少占多少,厚置备意思是先把分配的空间全部分给虚拟机),控制器选SATA控制器 0
以及SATA(0:1)
然后删除SCSI控制器及其他多余的硬件,并添加PCI设备,选择上一步中设置了直通的设备。一切无误后应该是这个样子
最后关闭安全引导
完成添加虚拟机。
添加引导
打开数据存储浏览器,在上一步创建的虚拟机目录下上传rr_4GB-flat.vmdk和rr_4GB.vmdk两个文件,两个都上传上去后会自动合并成一个vmdk文件。
然后修改刚刚创建的虚拟机配置,将刚刚上传的vmdk文件添加到虚拟机中
然后将该硬盘的控制器位置修改成 SATA控制器 0
和 SATA(0:0)
然后将另一块磁盘的控制器位置修改成 SATA控制器 1
和 SATA(1:0)
保存配置
修改引导配置
编译引导
开启虚拟机电源,进入引导的配置界面
在终端中输入menu.sh或者浏览器内访问http://<ip>:7681进入管理界面(下面的图片是已经配置了的,没有配置过的选项不太一样)
首先选择型号,我这里选择DS3622XS+,这个型号最多支持12个盘位并且支持HBA卡(DT型号不支持HBA卡,也就是说如果你要用LSI SAS3008一类的卡,只能选择非DT型号);如果你是迁移其他NAS盘到这台机子上的话,可以在这里检查一下不同型号之间HDD迁移支持情况。还可以通过选择兼容性判断,查看不同型号对当前硬件的兼容性(需要此时已经把相关硬件配置到虚拟机内了)。
然后选择版本,这里就选择7.2
然后选择编译引导
编译结束后,先别急着启动,继续修改一下Cmdline参数。
Cmdline参数
首先需要明确自己连接了哪些硬盘,打开 高级设置 -> 显示SATA(S) ,这里的三个SATA控制器就分别对应了我们在虚拟机配置内添加的SATA控制器 0
、SATA控制器 1
和LSI SAS3008
。下面这样就代表了0控制器上连接了一块硬盘(即rr_4GB.vmdk那个文件);1控制器上也连接了一块硬盘(即添加的用于装系统的盘);LSI SAS3008下连接了3块硬盘(前置硬盘笼内的硬盘)。
然后进入正题来介绍一下需要配置的两个参数,SataPortMap
和DiskIdxMap
。
SataPortMap是每个SATA控制器下的硬盘数,如果有两个控制器,这个参数的值就有2位;因为每一位只能是0~9中的某一个数,所以对于群晖系统,单个SATA控制器下最多支持连接9块硬盘,这就是为什么SA5212M4前置有12个硬盘位,但是也只能最多识别9块硬盘的原因。
DiskIdxMap是每个SATA控制器下硬盘的起始下标,一个控制器对应两位16进制数字。
上面这么解释有点抽象,来看个具体的例子:
上面的图这样设置就代表了这个设备有三个SATA控制器(就是在显示SATA(S)
内显示的三个设备),其中第一个控制器下面有一个磁盘,这个磁盘的下标是5A(即十进制的90);第二个控制器下有两个硬盘,这两块硬盘的下标分别是00和01(即十进制的0和1);第三个控制器下有九个硬盘,这些硬盘的下标分别是02 03 04 05 06 07 08 09 0A(即十进制的2至10)。
你可能会觉得奇怪,为什么我这里第一个控制器的下标给了个90,为什么这么大?这是因为我们知道,这块盘对应的是rr_4GB.vmdk这个引导文件,我们肯定不想在群晖系统内看到这块盘,更不想让这块盘占群晖系统的一个盘位,所以这里只需要将下标设置到大于这个型号盘位数量的值上即可隐藏这块磁盘。我这里设置的型号是一个12盘位的机器,所以只需要大于等于十六进制的0C就能让这块磁盘隐藏。这也是为什么我创建了两个SATA控制器,一个用于引导,一个用于安装系统。
需要注意的是,设置的参数不一定是现在就连接了这么多硬盘,后续添加硬盘后会根据这两个参数设定硬盘的下标。
理解这两个参数后就能在 设置Cmdline -> 添加/编辑 cmdline 参数 内添加设置了,如下图所示
配置插件
首先打开高级设置内的 HDD排序
,这是避免重启后SATA盘顺序改变(使用HBA卡连接的盘顺序还是会改变,因为HBA卡是没有连接顺序的)。
然后在 插件 -> 添加插件 内按需求添加插件。下面是我添加的插件,建议至少加上hdddb以扩展群晖能识别的HDD硬盘型号。
添加好之后,再次选择 编译引导,等待编译结束后选择 启动。之后这个界面就不能操作了,会开始启动群晖的内核。
安装DSM
等待一两分钟后,浏览器内打开http://<ip>:5000,将出现DSM的安装界面(网上找的图,型号不对应)。
然后是安装DSM,这里可以选择自动下载(网上说会卡进度条,但是我没遇到),也可以选择从计算机上传文件。如果是手动上传的话,点击下面的 从Synology下载中心下载DSM补丁 即可跳转到下载界面;这里有一点需要注意,你在引导内选择的是什么版本,这里就需要下载什么版本,下载错了是不能正常进系统的。例如我在上面的教程内选择的是7.2,那么这里就需要选择DSM 7.2 系列
。
如果磁盘不是空的话,会弹出格式化提示,这里一定注意它显示的磁盘对不对(如果你上面的两个参数跟我的设置一样,这个磁盘就应该是磁盘1或者磁盘2)。
然后等待读条。
到这步后四分钟以内应该就会跳出群晖的登录界面了。
注意事项
在增加或移除硬盘后,如果群晖系统开机时的硬盘数量大于等于当前插入的硬盘数,当前插入的盘可以正常识别;但如果群晖系统开机时的硬盘数量小于当前插入的硬盘数,将只能识别系统开机时连接的硬盘数量的硬盘,需要重启群晖系统后才能识别全部的硬盘(ESXi不用重启)。
SA5212M4的前置硬盘笼支持热插拔,但在热插拔之前需要在群晖系统内停用硬盘,避免硬盘损坏。
哪个社团,感觉好酷啊
科学技术协会,部员们一起写代码搞硬件啥的🥰
我也使用的DS3622XS+型号,请问你前置面板的卡是SAS还是SATA的,我是SAS的,主板只有一个SATA控制器上有6个口均无硬盘后期考虑往上插,PCI插了个LSI2308上面接了8个SAS盘.我想通过修改cmdline那三个参数实现把8块SAS盘排在前面,目前8块sas盘从硬盘7拍到硬盘14,看着不太舒服,但是参考设置cmdline好像不能达到目的
我前置面板的卡应该是SAS和SATA通用的,但是我现在插的都是SATA硬盘,没研究过插SAS硬盘有啥不一样的地方。按理来说应该修改cmdline的参数是可以修改硬盘顺序的,不管是SATA控制器还是SAS控制器