黑群晖DSM-7.X开启NVME缓存的方法

1、群晖在控制面板-终端机与SMNP,启用SSH功能;

2、在电脑的SSH工具,以root登录群晖,输入命令查看nvme的名字:

ls /dev/nvme*

如果只有一个nvme硬盘并且硬盘为空,一般会显示/dev/nvme0n1,如果有两个空的nvme硬盘则显示/dev/nvme0n1和/dev/nvme1n1,只需要记住这些名字就行了;

如果nvme有分区了,还会显示如/dev/nvme0n1、/dev/nvme0n1p1、/dev/nvme0n1p2等,这些分区名字不用理会。

3、输入命令,查看nvme硬盘的ID:

udevadm info /dev/nvme0n1

 

我们要记住自己的nvme所在的位置,比如我的就是0000:00:1d.0,这个数字一定要记下来;

 

3、之所以NVME硬盘黑群晖的空间管理员中无法识别,是因为群晖提前设定了各个机型的NVME所在的PCI位置,这些信息保存在 /lib64/libsynonvme.so.1 这个文件中,而我们需要将这个文件中,关于DS918+机型的NVME所在的PCI位置改为自己机器实际所在的位置就能正确识别了;

4、先备份一下原文件,输入命令:

cp /lib64/libsynonvme.so.1 /lib64/libsynonvme.so.1.bak

 

5、把原文件 libsynonvme.so.1 复制到一个可以供其他电脑下载的共享文件夹中,比如我将其复制到 Download 这个共享文件夹(具体以实际路径为准,请自行更改),输入命令:

cp /lib64/libsynonvme.so.1 /volume1/Download/libsynonvme.so.1

 

6、在电脑访问群晖,将在Download文件中的 libsynonvme.so.1 下载到本地电脑;

7、在电脑上使用 winhex 软件打开刚才下载的 libsynonvme.so.1 文件,按ctrl+F键输入DS918+搜索,在右侧找到如下图字段的原数据为0000:00:13.0和0000:00:13.1,根据第一步查到的本机NVME所在的PCI位置,修改为0000:00:1d.0,顺便把另外一个nvme插槽也该了即0000:00:1d.1,修改后保存;

 

8、将修改后的 libsynonvme.so.1 文件,上传到群晖的 Download 共享文件夹下(以第5步使用的文件夹为准),覆盖原文件。

 

9、返回 ssh 工具,以root账户登录群晖;

 

10、删除群晖系统原文件:

rm /lib64/libsynonvme.so.1

11、把修改好的文件复制到系统(把 /volume1/Download 替换为第5步实际使用的路径):

cp /volume1/Download/libsynonvme.so.1 /lib64/libsynonvme.so.1

12、修改文件权限:

chmod 755 /lib64/libsynonvme.so.1

13、重启群晖,再打开存储管理器,就发现正常识别NVME并可以按照提示进行缓存的设置。

 

 

 


上述内容原文地址:http://www.gebi1.com/thread-299964-1-1.html

 


上面操作,博主在DS918-7.01-42218版本下亲测,是OK的。如果群晖系统型号不是DS918+,而是别的系统型号(比如DS3617xs/DS3622xs+等,除了DS3615xs以外)的DSM7.X版本,那么就不能用上面的方法,需要按照以下流程操作:

1、群晖在控制面板-终端机与SMNP,启用SSH功能;

2、在电脑的SSH工具,以root登录群晖,输入命令查看nvme的名字:

ls /dev/nvme*

 

如果只有一个nvme硬盘并且硬盘为空,一般会显示/dev/nvme0n1,如果有两个空的nvme硬盘则显示/dev/nvme0n1和/dev/nvme1n1,只需要记住这些名字就行了;

如果nvme有分区了,还会显示如/dev/nvme0n1、/dev/nvme0n1p1、/dev/nvme0n1p2等,这些分区名字不用理会。

3、输入命令,查看nvme硬盘的ID:

udevadm info /dev/nvme0n1

 

找到这个nvme硬盘的ID,比如我的就是0000:00:1d.0,这个数字一定要记下来;

 

4、输入命令,修改文件:

vi /etc.defaults/extensionPorts

 

使文件里面的ID与实际nvme硬盘的相匹配,比如我这个要改成(以你实际的ID为准):

[PCI]
pci1="0000:00:1d.0"

 

如果有两个nvme硬盘,则改成(以你实际的ID为准):

[PCI]
pci1="0000:00:1d.0"
pci2="0000:00:1d.1"

 

5、保存退出,重启群晖生效。

点赞
  1. a86455576说道:
    Google Chrome Windows 10
    DS920 使用上面的方法 无法识别开启缓存
  2. Yu说道:
    Google Chrome Windows 10
    918是不是有绑定pci位置的机制,我怀疑pci ID如果超过两个,再修改位置是不是也不生效。例如:P: /devices/pci0000:02/0000:02:04.0/nvme/nvme0/nvme0n1 显示pci0000:02 是不是前面已经识别了两个,是不是第三个以后就不生效啦? 我也遇到这给问题了,还没有解决 @cocoa解决问题了吗?
    1. 博主说道:
      Google Chrome Windows 10
      这个也不叫绑定吧,白群NVME的ID是固定的,所以在系统里面写死了。但是黑群由于各种主板的ID都不一样,所以需要自己改。
  3. 玄雾说道:
    Google Chrome Windows 10
    DSM 7.2-64570 Update 1 ,这个方法已失效。。大神有新方法吗?
    1. 博主说道:
      Google Chrome Windows 10
      你确定失效?每次升级后,NVME补丁都要重新制作一次的。
      1. 玄雾说道:
        Google Chrome Windows 10
        可以了,我操作出错了 :kaixin:
  4. Flynn说道:
    Google Chrome Windows 10
    cat /etc.defaults/extensionPorts 发现已经默认自动添加了M.2的pci,但是存储管理器并没有识别出来。DS918+,7.1.1
    1. 博主说道:
      Google Chrome Windows 10
      又一个不认真看教程的!你搞错了,918系统不是改/etc.defaults/extensionPorts,是改/lib64/libsynonvme.so.1这个文件。3617/3622这些才是改/etc.defaults/extensionPorts。
  5. 天才哟说道:
    Google Chrome Windows 10
    按照你设置的nvme添加缓存成功了,但是dsm7.1无法把nvme缓存建立成存储池来存储文件了。这个有办法吗? 创建存储池的时候显示无法选择硬盘,此硬盘安装在为SSD缓存保留的插槽中
    1. 天才哟说道:
      Google Chrome Windows 10
      https://wp.gxnas.com/10083.html 搞定了,忘记这个教程了 :haha:
      1. 博主说道:
        Google Chrome Windows 10
        好的
  6. 那誰说道:
    Google Chrome Windows 10
    请教一下这个方法如何实现三块SSD呢,照着这个方法可以显示出2块SSD,但是第三块不可以,改参数只能识别出来两块,再添加一块那个地址导致一个都无法识别出来
    1. 博主说道:
      Google Chrome Windows 10
      不知道哦,目前我没有遇到有三个NVME的主板。
  7. 华城过客说道:
    Sogou Explorer Windows 10
    补充下,替换修改后的libsynonvme.so.1文件,磁盘管理里可以看到增加的两个nvme磁盘,详情里显示磁盘状态“不可用”,添加缓存时,系统提示没有可用磁盘。
    1. 华城过客说道:
      Sogou Explorer Windows 10
      似乎找到解决方法了,换了两块SSD问题消失了,也给大家测试了下,升级到UP5,也是可以用楼主的方法的。
      1. 博主说道:
        Google Chrome Windows 10
        好的
  8. 华城过客说道:
    Sogou Explorer Windows 10
    楼主您好,我用的DS918_7.X引导文件(支持7.0.1-42218到7.1.1-42962up5)这个引导,安装的42962-UP5,按照帖子的方法改了m2缓存,2个接口是主板原生的,打完补丁重启后,就提示WebDAV server需要修复,,点击修复,提示无法修复,然后也无法使用Webdav。替换回原来系统的libsynonvme.so.1文件,重启后,WebDAV需要修复的提示就没了,也可以正常使用。请问增加nvme缓存会影响Webdav功能吗?
  9. cocoa说道:
    Google Chrome Mac OS X 10.15.7
    我之前插两根的时候还好好的,现在插一根,从新配置下不行啦,汗 P: /devices/pci0000:02/0000:02:04.0/nvme/nvme0/nvme0n1 N: nvme0n1 E: DEVNAME=/dev/nvme0n1 E: DEVPATH=/devices/pci0000:02/0000:02:04.0/nvme/nvme0/nvme0n1 E: DEVTYPE=disk E: MAJOR=259 E: MINOR=0 E: PHYSDEVBUS=pci E: PHYSDEVDRIVER=nvme E: PHYSDEVPATH=/devices/pci0000:02/0000:02:04.0 E: SUBSYSTEM=block E: SYNO_ATTR_SERIAL=MHN221T002198 E: SYNO_DEV_DISKPORTTYPE=UNKNOWN E: SYNO_INFO_PLATFORM_NAME=apollolake E: SYNO_KERNEL_VERSION=4.4 E: SYNO_SUPPORT_USB_PRINTER=yes E: SYNO_SUPPORT_XA=no E: TAGS=:systemd: E: USEC_INITIALIZED=244321
    1. 博主说道:
      Google Chrome Windows 10
      把原始备份文件复制到电脑,重新按照新的ID改。
      1. cocoa说道:
        Google Chrome Mac OS X 10.15.7
        我从新按照教程修改过,然后遇到这个问题,好奇怪,我只是做了一个U5的升级 :heixian:
      2. cocoa说道:
        Google Chrome Mac OS X 10.15.7
        博主,大神。现在918 U5版本是不是也按照这个教程可以啊?是否有时间尝试验证下??我U4的时候用这没啥问题,升了U5就不好用啦 :lei:
        1. 博主说道:
          Google Chrome Windows 10
          可以用的啊。如果你的系统改好了NVME然后又升级系统,那么需要重新改过文件才可以识别。
          1. cocoa说道:
            Google Chrome Mac OS X 10.15.7
            我现在从新安装,然后我在修改配置文件,我可以确定确实是修改正确了,给了足够的权限并且替换成功,但是还是不显示缓存盘。 PS:另外请教个问题,我从新换成920可以自动识别,但是我想调整下esata端口,但是920不生效,我是用arpl编译里面直接添加修改的参数。
          2. cocoa说道:
            Google Chrome Mac OS X 10.15.7
            918上我确定确实重新修改啦,已经重装了好几遍啦,确实不生效,我是esxi直通的。
          3. 博主说道:
            Google Chrome Windows 10
            不行的话就重装系统,然后把文件导出来重新修改。
          4. cocoa说道:
            Google Chrome Mac OS X 10.15.7
            系统重装啦,按照教程修改依旧不生效,我在U4的时候一切正常,好奇怪。
          5. cocoa说道:
            Google Chrome Mac OS X 10.15.7
            博主,我问个问题,918是不是有绑定pci位置的机制,我怀疑pci ID如果超过两个,再修改位置是不是也不生效。例如:P: /devices/pci0000:02/0000:02:04.0/nvme/nvme0/nvme0n1 显示pci0000:02 是不是前面已经识别了两个,是不是第三个以后就不生效啦?我发现之前我可以用的时候显示的是0.
          6. 博主说道:
            Google Chrome Windows 10
            PCIE转接的NVME不一定能识别,主板原生NVME接口的可以。
          7. cocoa说道:
            Google Chrome Mac OS X 10.15.7
            我用的不是pcie转接的,用的是板载的原装nvme接口。
          8. 博主说道:
            Google Chrome Windows 10
            板载的应该可以的。
      3. yyk628说道:
        Google Chrome Windows 10
        一样的问题,我是升级ESXI8.0后,但我好像定位到问题了, 大神做的9.2引导会自动添加 这个M.2pci值 但自动识别的值是错误的,导致识别不到M.2硬盘。手动改了,重启后也忽悠被自动替换。。。。 但是用DS923+的7.2引导是可以正确识别这个M.2PCI值。要问下大佬arpl做的引导怎么让它不自动添加这个值
        1. STAR说道:
          Google Chrome Windows 10
          我也是和层主同样的问题,也是ESXI 8.0 直通NVME到虚拟的DS918 7.2的系统,查询到的pci地址也是类似这种/devices/pci0000:02/0000:02,而不是之前的/devices/pci0000:00/。但是因为我使用了2308阵列卡,DS920又没有驱动,所以现在都没办法使用nvme做缓存了 :bugaoxing:
    2. STAR说道:
      Google Chrome Windows 10
      不知道最后有没有办法解决?我折腾了一段时间没搞定,暂时放那了,不知道以后引导升级能否修正一下。
  10. cocoa说道:
    Google Chrome Mac OS X 10.15.7
    博主,我DS918 7.1.1 42962 U5,按照教程修改后,不显示缓存盘,什么情况?

发表回复