黑群晖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. 范老师说道:
    按照博主方式成功增加pciem2 为存储空间,但是重启后,存储就掉了,只剩下缓存。请问怎么修复,7.2版本 918
    1. 博主说道:
      Google Chrome Windows 10
      建议使用主板原生NVME硬盘
  2. TuYaaaa说道:
    Safari iPhone iOS 16.2
    大佬,我用的你网盘里的:DS918+i225+i226_7.X引导文件(支持7.0.1-42218到7.1.1-42962up4),这个引导,安装的42962,按照这个帖子的方法改了m2缓存,接口是主板原生的,打完补丁重启后群晖就变得很卡,是什么原因呢,感谢回复 :hehe:
    1. 博主说道:
      Google Chrome Windows 10
      具体不清楚哦,至少我亲自做了几十台,没有卡的。
  3. 海马说道:
    Google Chrome Windows 10
    博主你好,主板自带nvme插口插了一条,在bios和PE下能看到固态硬盘,在黑群DS918+ 7.1.1-42962里面,SSH连接root后,ls/dev/nvme*敲了显示No such file or directory,求助一下是哪里问题呢
    1. 博主说道:
      Google Chrome Windows 10
      需要先打NVME补丁,才能显示出来
      1. 犬夜叉说道:
        Google Chrome Windows 10
        请问7.1有补丁吗,我也是ssh到黑群上后 ls/dev/nvme*敲了显示No such file or directory
  4. haiqing说道:
    Google Chrome Windows 10
    博主:esxi8 直通nvme 3647 7.1(网盘内的,含阵列卡驱动那个版本),按照您的方法,ssh里面识别出来的信息如下:p:那一行也识别出来id了,但是和您的对比,少了一组id数值,我编辑文件用的0000:03:01.0,但是系统无法识别nvme,请教是哪里的问题,我添加1个直通nvme 和3个,都可以正常ls出来,但是id 都是缺少一组,应该是没有识别出来真实的id,导致我系统无法识别。 root@mydsm:~# ls /dev/nvme* /dev/nvme0 /dev/nvme0n1 root@mydsm:~# udevadm info /dev/nvme0 P: /devices/pci0000:03/0000:03:01.0/nvme/nvme0(就这一行 对比 少了一组id) E: MAJOR=250 E: MINOR=0 E: PHYSDEVBUS=pci E: PHYSDEVDRIVER=nvme E: PHYSDEVPATH=/devices/pci0000:03/0000:03:01.0 E: SUBSYSTEM=nvme E: SYNO_INFO_PLATFORM_NAME=broadwell E: SYNO_KERNEL_VERSION=4.4 E: SYNO_SUPPORT_USB_PRINTER=yes E: SYNO_SUPPORT_XA=no E: USEC_INITIALIZED=21202
    1. 博主说道:
      Google Chrome Windows 10
      你这个是不是直通NVME控制器,然后是不是主板原生的NVME插槽,不是通过PCIE转接的。
      1. haiqing说道:
        Google Chrome Windows 8.1
        主板原生nvme 2个,pcie转接1个,都是这样的问题
        1. 博主说道:
          Google Chrome Windows 10
          主板原生nvme应该没有问题的啊
          1. haiqing说道:
            Google Chrome Windows 8.1
            所以很奇怪,识别出来的id 少了一组
          2. haiqing说道:
            Google Chrome Windows 8.1
            难道是没有nvme驱动吗
          3. 博主说道:
            Google Chrome Windows 10
            敲命令能看到NVME硬盘的话应该不是驱动问题啊
          4. 入梦听涛说道:
            Google Chrome Windows 10
            有920+ 解决方案吗
          5. 博主说道:
            Google Chrome Windows 10
            如果你用ARPL做引导安装920,NVME会自动识别出来。如果不是就按照本教程手动修改系统文件。
    2. cocoa说道:
      Google Chrome Mac OS X 10.15.7
      我也是esxi8.0 2B直通控制器,我的情况跟你一样,我主板原生两个NVME,但是识别的时候直接从P: /devices/pci0000:02/0000:02:04.0/nvme/nvme0开始,我也按照这个ID进行了修改,但是结果群辉还是不显示。你解决了么?怎么搞得?
  5. xcyhxx说道:
    Google Chrome Windows 10
    大佬,我3622的7.0.1上,两块NVme硬盘,识别出来的ID怎么是一样的?这样怎么填写?写一个还是2个 root@xxx:~# udevadm info /dev/nvme0n1 P: /devices/pci0000:00/0000:00:1b.4/0000:08:00.0/nvme/nvme0/nvme0n1 N: nvme0n1 root@xxx:~# udevadm info /dev/nvme0 P: /devices/pci0000:00/0000:00:1b.4/0000:08:00.0/nvme/nvme0 N: nvme0
    1. 博主说道:
      Google Chrome Windows 10
      你这两个NVME硬盘不是插在主板原生的NVME插槽吧?是不是PCIE转接的?主板原生的可以用,PCIE转接的不一定能用。
    2. 胖虎说道:
      Google Chrome Mac OS X 10.15.7
      兄弟我和你情况是一样的,我也是pcie转接卡转了两个m2, 免拆分的 请问解决了么
  6. 爱吃大锅饭说道:
    Google Chrome Windows 10
    DVA3221 能否用M.2缓存? 我看设备介绍里面支持M.2 但是直通过去又没有。
    1. 博主说道:
      Google Chrome Windows 10
      DVA3221的缓存盘只支持SATA协议的,不支持NVME协议。
  7. Tobacco说道:
    Google Chrome Windows 10
    大神,有几个问题向请教一下。 1.我在初始化按装群晖DSM的时候,就已经把SSD硬盘插上了(原想作为黑群系统盘用),现在已经插上了其它的数据硬盘。这个时候能否拆下SSD,会不会影响黑群系统? 2.若想用SSD当做黑群的缓存盘,是否也需要像设置nvme这样来操作? 3.有的回复还没有编辑好我就点了发表,我自己能删掉吗? :weiqv:
    1. 博主说道:
      Google Chrome Windows 10
      1、群晖没有系统盘之说,你接多个硬盘安装群晖,硬盘建立好存储空间以后,每个硬盘都会有系统,除了缓存盘以外的任何一个存储硬盘都启动进入群晖系统的桌面。2、U盘不管是USB2.0还是3.0对系统运行速度没有影响。3、U盘坏了可以重新刷,但是不可以用复制或者克隆的方式进行备份。
      1. Tobacco说道:
        Google Chrome Windows 10
        多谢解答!
  8. Tobacco说道:
    Google Chrome Windows 10
    大神,有个几个问题,还要请教一下。
  9. fyc858说道:
    Google Chrome Windows 10
    用了这个办法黑群不能升级了呢,升级以后就算重新修改了libsynonvme.so.1存储池出来了,但是还是得重新执行命令分区格式化,数据就没有了
    1. 博主说道:
      Google Chrome Windows 10
      用NVME的建议不要更新系统
  10. end.说道:
    Google Chrome Windows 10
    博主问一句,是不是要加nvme硬盘才能用ls /dev/nvme*看到硬盘
    1. 博主说道:
      Google Chrome Windows 10
      对啊,你不放硬盘上来怎么可能看到有硬盘呢

发表回复