原文链接:http://www.gebi1.com/thread-82810-1-1.html
如前所说,我组这个黑群的主要目的,就是挂多硬盘,提供局域网内的文件服务。硬件方面,我也准备妥当,并且总共挂了9块硬盘和一个硬盘抽取盒。但是,这9块硬盘中,除了我专门为这个NAS新够的两块红盘,是用于安装DSM系统之外,其余的7块硬盘都是我存着高清电影的,硬盘是NTFS系统的。NTFS系统挂进来,DSM是不能够识别的:
HDD列表中能够显示有硬盘,但是状态是“未初始化”:
而在外接设备中,只有USB,没有eSATA设备:
下面就来想办法修改系统参数,让NTFS硬盘能够被系统直接识别。
一般用Windows系统的,可以用WinSCP来修改,或者直接Telnet来修改。修改之前,记得要先进入DSM的系统-控制面板,把SSH、Telnet开关打开:
开关打开之后,就可以通过SSH连接到DSM系统去修改参数了。因为我是使用Mac系统的,正好那两个教程里面没有提到Mac系统下如何修改,我就用Mac系统来做个示例吧。
打开Mac应用程序的“其他”:
选择“终端”:
进入到终端面板:
输入“ssh root@192.168.1.198”(这里的IP地址是你的NAS的实际值),回车:
输入root用户密码(与admin密码一致),输入过程中,屏幕不会有任何显示,不要奇怪,输入完毕后按回车:
如果你是第一次用ssh登陆你的DSM,会跳出一段英文,然后要你输入一个“yes”(注意,不是输入Y,而是要输入完整的yes),然后回车。如果你之前已经成功登陆过,那会直接跳出以你的DSM系统机器名开头的引导符(例如我的时MyNAS >):
输入“vi /etc.defaults/synoinfo.conf”,回车(注意vi和后面的/之间有一个半角的空格):
屏幕上会显示出这个配置文件的内容:
把光标向下移动(移动到接近底部的位置),你会看到有esataportcfg="0xfff000",往下14行,有internalportcfg="0xfff",我们就是要修改这两个参数值:
你需要先去计算一下,这两个值要修改成什么样。首先解释一下,这两个参数,esataportcfg定义的是eSATA口的数量和端口号,internalportcfg定义的是sata口的数量和端口号。这两个参数是使用“0x”+16进制数的表示方法,所以,你把这两个参数的值,去掉前面的“0x”,后面的那个16进制数转换成2进制数,这一组2进制数就是反应的20位的端口状态顺序号,从后向前分别是1号、2号、3号,以此类推。
但是大家一定会有些奇怪,可能你的主板上只有4个sata口,这个参数为什么会有20位这么多呢?其实你要明白,你现在修改的参数是DSM系统的参数,并不是你的主板的参数,而你安装的DSM系统是群晖的3612XS的固件,3612XS是内置12个sata硬盘口的,所以它的默认参数就是12个sata口,外加8个外置eSATA口(下表第一行就是这个默认值),这个跟你主板上的实际接口状况是没有任何关系的。这一点,在前面我提到的那两个帖子里面并没有说清楚,所以容易让大家产生误解。
知道了这一点,还需要知道要怎么根据自己主板上sata接口的情况来修改这个参数表才行。你可以把这个参数表从最底下一行往上看,最底下一行表示所有的接口都是esata接口,倒数第二行,则表示,接口1是sata,其余全部是esata,以此类推。如果你的主板是4个sata接口,那么倒数第5位往前,可以全部是“1”,后面4位则是用来配置你最终保留几个sata口、几个esata口的;如果你的主板是6个sata接口,那么类似的,最后6个数字,用来配置接口类型。像我的主板有12个sata接口,则完全是跟3612xs一样,后面12个数字,都可以用来配置接口类型。

一般来说,主板上的sata接口,和系统参数的位置号是有对应关系的,而且通常主板上的sata1,对应的是这组数字的最后一位,sata2,对应的是倒数第2位,以此类推。所以,如果你想保留1个sata接口,其余全部是esata,那使用上表倒数第二行的参数就可以,如果你想保留2个sata接口,其余全部是esata,那使用上表倒数第三行的参数就可以。
但是这块主板有两个特殊性的地方:第一,扩展口的8个口印刷线路的先后顺序反了,所以板子上印出来的sata5-8和sata9-12要对换一下,即sata5实际上是SATA9,sata6实际上是sata10,以此类推;
第二,sata1、sata2在DSM会认作是磁盘1、磁盘3,而sata3、sata4插口,DSM会认是磁盘5、磁盘6,无论插在哪个SATA口,都不会被识别为磁盘2、磁盘4。而在sata3、sata4没有接硬盘的时候,sata9(实际为sata5)、sata10(实际为sata6)会被识别为磁盘5、磁盘6,但如果sata3、4连接磁盘后,会占用了“磁盘5”、“磁盘6”,这时候扩展的8个口,就会变成磁盘7-磁盘14。由于系统默认的13位以上都是eSATA,所以,这时候最后两个硬盘会被系统直接识别为eSATA盘。
经与厂家确认,第一个原因确实是他们印刷线路先后顺序反了,不过这个不影响使用,你只要知道这个情况,并且知道对应关系就好了。第二个的原因是CPU原生支持6个sata口,但是主板上的南桥芯片只支持4个口,所以把sata2、sata4端口给屏蔽掉了。这样在使用的时候要注意,sata3、4口是否插盘,对扩展口的盘位号是有影响的。个人建议,如果不是非要插满12个盘,可以把sata3、4口空出来。
从这张图可以看出来,无论怎么插硬盘,盘位2、4都是空的:

从磁盘信息中也不会看到有“硬盘2”、“硬盘4:

知道这个情况,你在修改参数的时候就知道对应关系了。
至于我之前碰到的,同一个sata口,每次启动都可能显示的盘位号不同的现象,经证明是我那块主板的个例,厂家给我免费更换了一块主板,没有发现类似情况,其他购买同款主板的,也没有发现类似情况
我们继续修改参数。根据前面的描述,在那张表中,你可以查出,根据你希望配置的接口类型,所需要设定的参数(如果你的参数不是这种从后往前设置sata口,而是希望把sata口的位置放在中间的,可以自行修改参数表,并用“常用进制转换工具”去转换成16进制数,然后在16进制数之前加上“0x”即可。
使用Mac终端ssh到DSM下,修改的方法是,把鼠标移动到你要修改的位置,按键盘上的“i”键,这是就切换到“插入”状态,然后输入正确的参数,把两个参数都修改完毕,检查正确后,按“Esc”键。

然后输入“:wq”,回车:

输入“exit”,退出ssh连接:

重新启动NAS后,再进入存储空间,你会发现系统状态中,只会把sata口的硬盘显示出来:


而查看外接设备,则除了USB设备之外,还多出来的eSATA设备:

到外接设备列表中可以看到这些NTFS硬盘:


到File Station中,可以看到硬盘中的内容:

在“共享文件夹”中,也看到自动添加了esata的共享链接(不能够为eSATA硬盘去新增共享文件夹,系统会自动把eSATA硬盘根目录设置为共享文件夹):

配置好共享文件夹的访问权限之后,我从Mac电脑就能够访问到这些共享文件夹了:

文章评论
大佬,请问一下,我的pve安装了DS918+(DSM7.2.1),然后插上usb移动硬盘,在pve页面的硬件中,将usb添加到虚拟机的群晖上,群晖不显示usb存储,咋回事啊?试过了ext4和ntfs都不行
@zhou090221liang 如果你的USB硬盘是格式化NTFS并且是4K的簇,那么直接打开群晖File Station应该可以看到有名字写有USB开头的文件夹,就是你的USB硬盘。
@博主 大佬,我现在不是这个问题,我是usb从pve添加到群晖虚拟机后,虚拟机根本识别不到这个设备,“fdisk -l”也找不到这个硬盘,web页面右上角也没有“usb设备”。但是我在宿主机用“qm set 100 --sata1 /dev/sdc”后,就可以在黑群的虚拟机中识别到,识别的也不是“usb设备”。
@zhou090221liang 你操作不对啊,PVE添加USB硬盘不是用qm set命令啊。
@博主 我知道啊,我是pveweb页面上,对群晖虚拟机的硬件设置里,添加USB设备,然后选择了我的移动硬盘;这样操作的话就是我上面说的,群晖虚拟机识别不到这个硬盘,fdisk -l找不到,页面也不提示有usb设备。我试过HDD也试过SSD,试过各种磁盘格式,都是不行!
@zhou090221liang 建议你装个Win虚拟机,把USB硬盘添加给Win虚拟机,看看在Win里面能不能认出来。
@博主 win虚机测试过,pve硬件设置,添加usb,这样是可以识别到的。
@zhou090221liang 用Disksgenius打开你的USB硬盘分区,查看簇大小是写2048还是4096?群晖要想正常认出来,簇大小必须是4096才可以。
@博主 确认过了,就是4096 :lei:
博主,我也有同样的问题,请问,918+ 和920+都能用这个方法来修改吗?我用的是RR的引导,从tank陈那里买的引导U盘,ARPL_i18n_23.10.4_boot_DS918 和920
@深蓝 DSM7想用这个方法挂载NTFS硬盘的话,你需要事先获取esataportcfg和internalportcfg这两个参数,然后把对应参数写死到arpl的配置文件进行编译。920不支持此方法,918可以。
大佬 我的黑群晖里面装了两块硬盘 但是系统只识别出来一块硬盘 另外一块硬盘识别成外接设备了 怎么让群辉把两块硬盘都识别出来?我修改DiskIdxMap、SataPortMap、SasIdxMap这三个参数怎么修改,删除都不行啊
@迪士尼在逃皮卡丘 不知道你做了什么,这个问题没法回答。
@博主 可能是我没表达清楚,昨晚问了卖家我的主板上没有sata接口,只有一个8087接口分出来了四根SATA线,系统盘插在SATA1可以正常识别硬盘安装系统,然后我用你的引导直接就成功了安装了7.1的系统,装完系统我又插上了一块硬盘,不管插在SATA2还是SATA3系统都会识别成外部设备,储存池不显示硬盘,右上角显示的USB硬盘,我想把SATA2还是SATA3上的硬盘也识别成储存池
@迪士尼在逃皮卡丘 你加了硬盘,没改引导盘的SataPortMap和DiskIdxMap这两个参数吗?
@博主 修改了啊 不管怎么修改或者删除都不行 我用pocopico大神做的引导查出来是SataPortMap=2和DiskIdxMap=00,按这个修改都没用 就是一直识别成USB硬盘
请问有没有7.1.1挂载usb移动硬盘的方法啊?