黑群晖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. 爱吃大锅饭说道:
    Google Chrome Mac OS X 10.15.7
    目前只有一条1T SSD ESXI上面分了1个10G系统盘,两个400G盘 能不能用这两个400G做 缓存读写盘? /dev/nvme0 /dev/nvme0n1 /dev/nvme0n2 群晖下查了一下只有0n1 是不是只能识别1个SSD? 虚拟的盘不能作为缓存吗?
    1. 博主说道:
      Google Chrome Windows 10
      虚拟盘不可以做群晖的缓存盘。
  2. 大馒头说道:
    Google Chrome Mac OS X 10.15.7
    OK 已经解决
  3. 大馒头说道:
    Google Chrome Mac OS X 10.15.7
    你好,为什么我用winhex打开也是乱码的状态?
  4. wt说道:
    Google Chrome Windows 10
    请教大佬,3617系统,我输入vi /etc.defaults/extensionPorts命令后, 下面显示“vi /etc.defaults/extensionPorts”【new】,然后里面内容是空的,这是新建了这个文件么?
    1. wt说道:
      Google Chrome Windows 10
      才发现是我Ports的P用了小写。。。多谢大佬了
  5. xgzgy说道:
    QQbrowser Android 10
    实体黑群晖,主板没有m.2插槽,方案1:想通过主板的pcie转双m.2板卡后安装m.2硬盘来增加缓存硬盘.方案2:主板有8个sata位,还有三个sata空缺没有,通过添加2.5的sata的ssd来增加缓存磁盘。这两个方案那种合适或者投入更少?
    1. 博主说道:
      Google Chrome Windows 10
      用SSD和用NVME做缓存盘,个人用户从使用上没有感觉到有明显的差异。其实你可以用SSD做缓存。
      1. xgzgy说道:
        WebView Android 10
        博主的意思是直接添加两块2.5的ssd来做缓存吗?其实这也也简单易操作,不用更改代码。
        1. 博主说道:
          Google Chrome Windows 10
          对啊
          1. xgzgy说道:
            WebView Android 10
            但是博主可能没想到,ssd的售后是有写入限制的,到期无法续保,而傲腾就不会这样,所以,nvme还是首选吧。个人看法。
          2. 博主说道:
            Google Chrome Windows 10
            除非你用来挖矿,否则群晖正常使用不可能把SSD写入量写到爆!
  6. 郑工说道:
    Google Chrome Windows 10
    在改NVME 地址的那一步,只有1个NVME插槽的不要跟着教程两个地址都改,我摸索好半天
    1. 博主说道:
      Google Chrome Windows 10
      只有一个硬盘,就改一个位置就行啊
  7. 双目林说道:
    Google Chrome Windows 10
    不是恢复在这里的,不好意思!
  8. liangddyy说道:
    Google Chrome Windows 10
    3615xs,DMS7.0.1-42218,PCIe转接卡接的m2 ssd,windows下正常使用,但是群晖 ls /dev/nvme* 啥也看不到~有没有人有解决办法的?
    1. 博主说道:
      Google Chrome Windows 10
      换成3617-7.X试一下看看
      1. liangddyy说道:
        Google Chrome Windows 10
        嗯嗯,明天试下后来反馈。
  9. fairy说道:
    Google Chrome Windows 10
    请教博主大神 我原来是ESXI虚拟黑群6.2 直通了sata控制器 由于esxi上的存储是是用的nvme ssd 所以以前一直是建两个虚拟磁盘进黑群当ssd缓存用 升级7.0后 现在存储池没啥问题 但是这个nvme缓存就翻的很厉害了 以前虚拟磁盘是用vmware scsi控制器的 这个控制器在dsm7不识别硬盘了 网上搜了一圈也没有pvscsi dsm7的ko驱动 sata控制器带虚拟磁盘的话 全部显示hdd 无法做缓存 nvme控制器 如果用一个nvme控制器带两块虚拟磁盘 无论如何都只能识别到一块做缓存 用udevadm看 两个盘的pci id是一样的 如果开两个nvme控制器 各挂一块盘 直接引导卡死 无法进系统 但是第二个nvme控制器不挂盘 第一个nvme控制器挂盘 可以进系统 识别到一块盘 不知道这种时候还有没有解 让我能用上ssd缓存..
    1. 博主说道:
      Google Chrome Windows 10
      想要用NVME硬盘做DSM7.X的缓存盘,必须要直通NVME控制器给群晖,然后按照本文内容修改系统文件才可以用。
      1. fairy说道:
        Google Chrome Windows 10
        在github找到了vmpvscsi.ko的驱动 insmod加入开机脚本后 暂时可以用scsi控制器挂缓存了
  10. 花式吹瓶少年说道:
    Google Chrome Android 12
    大佬,如果有3个nvme需要怎么设置呢?
    1. 博主说道:
      Google Chrome Windows 10
      918默认只支持2个NVME硬盘哦,如果是3615/3617/3622这些,可以按照第二种方法修改ID,看看能不能识别三个硬盘。
      1. 花式吹瓶少年说道:
        Google Chrome Android 12
        晕,我是918系统,投机取巧在winhex中加入第三个nvme的硬盘id,结果系统进不去了,显示2、8、9、10硬盘有问题,sata端口被占用,2是sata固态,8、9、10是nvme,群晖内还有5块机械,现在要如何恢复系统呢
        1. 博主说道:
          Google Chrome Windows 10
          DSM7要求SATA1口必须接硬盘,你看一下主板SATA1口。

发表回复