前言:群晖升级7.01之后很多之前不支持nvme的机器开始支持nvme了,具体您的黑群晖支持不支持可以查看点这里。不过现在没有无脑补丁只能手动修改比以前的那种无脑替换麻烦多了,虽然有nvmecache自动处理插件但是有概率不生效,在不生效的时候可以手动删除nvmecache插件,以下操作不建议太过小白,需要一点动手能力,普通人难度等级一般(稍微懂点的电脑知识的难度等于零),只要按着教程步骤来一定都能替换成功。
先解释一下原理,修改 /lib64/libsynonvme.so.1 文件中 关于群晖机型 NVME默认的PCIE 序号ID,RR/ARPL引导使用
下载工具
只提供win平台软件:https://tank.lanzouo.com/b0aghtwlg
操作前准备
RR/ARPL有开启nvmecache插件(自动配置NVME缓存参数的插件)但是不生效的兄弟需要删除插件后再操作。在RR/ARPL管理菜单之后,最外层菜单里面有一个插件,选择删除插件,进去后找到nvmecache插件删除掉即可(这个插件每次开机 都会自动修改它检测到的参数,不生效的时候就自动改掉你修改好的参数导致无法正常修改,所以操作前需要先删除掉此插件)。没有开启这个插件的建议先开启尝试让机器自动化处理。在不生效的前提下再手动按下面教程操作。
创建临时共享文件夹
你可以按着图片操作即可
要建立在 存储空间1 名称 tmp 如果不愿意照做或者没有条件,一会的命令你要改成自己的路径名称。
后面的对话框直接全部下一步即可
开启群晖的SSH功能
打开控制面板
进入 终端机和SNMP 这个图标
勾选 SSH功能,注意用完之后记得回来关掉,如果不打算关建议设置成一个非22的端口,这个端口很容易攻击
打开SSH工具,我用putty你随意 小白你不要问跟着我操作即可
使用SSH工具连接你的群晖
输入你群晖的ip,注意刚刚打开ssh时旁边的22端口要一样 下边选SSH,然后点 打开
输入群晖管理员的账号
输入你的密码,注意输入密码的时候窗口是不会有任何反馈的,打完直接按回车就行
进去之后是这样的
获取ROOT权限先用sudo -i获取root权限,注意会提示输入密码,但是密码不会有任何字符提示,操作完成后绿色的用户名会变成root
sudo -i
复制libsynonvme.so.1文件
复制一个到前面建立的tmp文件夹 命令 cp /lib64/libsynonvme.so.1 /volume1/tmp/libsynonvme.so.1
注意你的文件路径是不是和教程一样如果不一样请自行修改
cp /lib64/libsynonvme.so.1 /volume1/tmp/libsynonvme.so.1
原地备份一个文件,就是原地复制一个加了bak的后缀防止改错了可以恢复 后面如果改出问题来,只要SSH还能用使用 cp /lib64/libsynonvme.so.1.bak /lib64/libsynonvme.so.1 还原回去然后reboot 重启一下就可以满血复活
cp /lib64/libsynonvme.so.1.bak /lib64/libsynonvme.so.1
查询NVME ID
使用下边的命令
ls /dev/nvme*
如果只有一个nvme硬盘并且硬盘为空,一般会显示/dev/nvme0 /dev/nvme1 /dev/nvme2之类的
如果nvme有分区了,还会显示如/dev/nvme0n1、/dev/nvme0n1p1、/dev/nvme0n1p2等,这些分区名字不用理会。
输入命令,查看nvme硬盘的ID 有多个就分别多查几次:
udevadm info /dev/nvme0
找到这个nvme硬盘的ID,比如我的就是0000:00:17.0,注意是最中间的这节,这个串字符一定要记下来;
修改libsynonvme.so.1文件
再回到File Station
找到tmp文件夹,进去之后把里面的文件下载下来
打开WinHex
打开刚刚下载的libsynonvme.so.1
直接点搜索按键,输入DS918 确认(非DS918的型号自行搜索自己的型号),再点搜索结果就可以快速定位到(其实后面还有其它型号的,这个看你机型修改对应的机器)
参考我这个把原来的0000:00:13.1改成前面记下来参数(我的是0000:00:01.1),如果有多个NVME硬盘可以把后边的0000:00:13.2也改成正确对应的参数。
改完点一下保存
把libsynonvme.so.1文件替换回去
把刚刚保存好的文件拖回去tmp文件夹里面去
覆盖文件
使用SSH工具文件复制回去
注意复制完之后你的群晖WEB页面很大概率会访问不了,这个是正常的跟着教程继续往下操作即可。
cp /volume1/tmp/libsynonvme.so.1 /lib64/libsynonvme.so.1
回车
赋予libsynonvme.so.1 644权限
输入命令
chmod 644 /lib64/libsynonvme.so.1
回车
此为给修改后的文件赋予权限,切记,一定要执行此步骤。
重启机器完成操作
使用reboot重启机器
reboot
回车重启群晖 等个几分钟,很大可能性重启完成之后搜索不到机器。这个是正常的。多等等十分钟。直接强制断电重启即可
检查成果
再重新到存储管理器里面就可以看到NVME缓存盘了。
教程完毕
DS920 版本的黑裙 libsynonvme.so.1里面 搜索不出来没办法进行更改
这个只能改两条nvme哎,如果有4条改怎么编辑
同问
我这个主板只有一个nvme接口,第一次按照攻略已经识别使用了,但是我最近买了一个pcie转接卡转接另外一张nvme,然后操作完两个都不识别了,想问问怎么处理,Thanks♪(・ω・)ノ
同问同问,我是直接直通第4插槽的pcie拓展卡上的2个nvme,使用ssh看不到nvme硬盘的ID
UNRAID直通好像无法使用的,试试SA6400的镜像看看