黑群晖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 Windows 10
    按照方案已经添加主板上面的M.2做缓存,pcie口也插了一根m.2,没有识别到,请问怎么查看这个口对应的地址呢?
    1. 博主说道:
      Google Chrome Windows 10
      PCIE转接的群晖不一定能认哦,估计转接卡需要驱动!主板自带就能认。
      1. 小汤圆说道:
        Google Chrome Windows 10
        单独插主板缓存,或者单独pcie转接缓存,都能正常识别,说明转接卡能正常工作。一起插就不能同时识别。
  2. Zane说道:
    Google Chrome Windows 10
    ssh“udevadm info /dev/nvme0n1”提示: “Unknown device, --name=, --path=, or absolute path in /dev/ or /sys expected.” 已经添加nvme控制器,请问是什么问题?谢谢!
    1. zk说道:
      Google Chrome Windows 10
      udevadm info /dev/nvme0n1 你输错了,,复制试下
  3. 猫毛说道:
    QQbrowser Windows 10
    大佬 按照流程来,卡到了libsynonvme.so.1 文件 用winhex 软件打开这步,"右侧找到如下图字段,DS918+"右侧都是乱码, 怎么解决啊?
    1. 博主说道:
      Google Chrome Windows 10
      这不叫乱码,文件是十六进制显示就那样,显示是正常的,你就按照教程搜索十六进制的ID就行了。
  4. fengyeblade说道:
    Safari iPhone iOS 15.2
    各位老大,求教,怎么把nvme作为存储盘?我不需要缓存,我需要高性能的存储空间。给虚拟机用。。。
    1. 博主说道:
      Google Chrome Windows 10
      1、先打补丁,让系统识别nvme硬盘。2、参考教程(https://wp.gxnas.com/10083.html),用root进入SSH下敲命令建立存储池和存储空间。
      1. fengyeblade说道:
        Google Chrome Windows 10
        嘿嘿 真成了。 参考隔壁的一个文章。命令行完成了存储空间的建立。
        1. Chous说道:
          Chrome iPhone iOS 14.8
          你是在黑群7.01下用nvme做存储盘么?
  5. ck呵呵说道:
    Google Chrome Windows 10
    请问一下这我这张主板有3个M.2插槽在群晖里面设置CPU直连的SSD正常但另问两个从NB出来的M.2PCI位置一样都是0000:00:01.2,修改完无法两个槽都无法识别SSD怎麽办?M2B 0000:00/0000:00:01.2/0000:01:00.0/0000:02:02.0/0000:04:00.0 M2C 0000:00/0000:00:01.2/0000:01:00.0/0000:02:01.0/0000:03:00.0 M2A(CPU) 0000:00/0000:00:01.6/0000:09:00.0
    1. 博主说道:
      Google Chrome Windows 10
      估计位置不对,不可能ID地址一样的。
  6. 你生气为说道:
    Google Chrome Windows 10
    大佬我按你这设置了,但是只显示一个NVME硬盘呢,用nvme list命令是显示出2个NVme的:root@NAS:~# nvme list Node SN Model Namespace Usage Format FW Rev ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- -------- /dev/nvme0n1 S346NY0J102721 SAMSUNG MZVPW256HEGL-00000 1 256.06 GB / 256.06 GB 512 B + 0 B CXZ7500Q /dev/nvme0n1p1 S346NY0J102721 SAMSUNG MZVPW256HEGL-00000 1 256.06 GB / 256.06 GB 512 B + 0 B CXZ7500Q /dev/nvme1n1 S346NB0J302179 SAMSUNG MZVPW256HEGL-00000 1 256.06 GB / 256.06 GB 512 B + 0 B CXZ7500Q /dev/nvme1n1p1 S346NB0J302179 SAMSUNG MZVPW256HEGL-00000 1 256.06 GB / 256.06 GB 512 B + 0 B CXZ7500Q
    1. 博主说道:
      Google Chrome Windows 10
      2个nvme就要改两处,请参考教程修改。
      1. 你生气为说道:
        Google Chrome Windows 10
        2处都改了,我的ID是0000:00:17.0,所以改的和0000:00:17.0 0000:00:17.1
        1. 博主说道:
          Google Chrome Windows 10
          不清楚你那么什么情况,我自己改过2个vnme,是可以正常识别的。
          1. 你生气为说道:
            Google Chrome Windows 10
            找到原因了,我用FTP把文件拖进去的不行,用你教程的命令就可以了
  7. 北瓜君说道:
    Google Chrome Windows 10
    博主,我按照你的方法修改了代码,重启还是没有显示,是板载网卡nvme协议固态。你这个修改后那个图片跟你写的不一样0000:00:1d:0 这个最后0前面是冒号还是点,跟你修改后的不一样。能不能在详细点吗 :haha:
    1. 博主说道:
      Google Chrome Windows 10
      就是把原来文件默认值13的3,改成敲命令查出实际位置1d的d,我是单nvme,所以就改动一个字符!如果是双nvme,那就改两处。别的不改!
  8. asussmart说道:
    Google Chrome Windows 10
    黑裙用的pci转nvme,想玩玩傲腾加速盘。不知道这个教程可以不?
    1. 博主说道:
      Google Chrome Windows 10
      默认不支持PCI转接卡,只支持主板原生的nvme。
      1. asussmart说道:
        WebView Android 12
        经过测试,支持pcie转nvme 傲腾加速盘,目前两条16G识别成功。 主板是华硕b460m plus,自带两个m2,但是用的是pcie转接卡
        1. 博主说道:
          Google Chrome Windows 10
          好的
        2. xgzgy说道:
          QQbrowser Android 10
          用的什么牌子型号的pcie转nvme板卡,求购买链接。我的是实体黑群晖 918+机型。
  9. 您好呀说道:
    Google Chrome Windows 7
    大哥 我导出的 libsynonvme.so.1 文件 用winhex 软件打开乱码
    1. 博主说道:
      Google Chrome Windows 7
      你先搞清楚什么叫做乱码!
  10. hanxane说道:
    Google Chrome Windows 10
    大佬第一个命令输出是这个咋办呀 Unknown device, --name=, --path=, or absolute path in /dev/ or /sys expected. 我用lspci命令找到了设备位置,但是改完没起作用 :lei:
    1. 博主说道:
      Google Chrome Windows 7
      你这个具体是什么原因我就不知道了,我没有亲测过。这篇文章我转摘隔壁网论坛的,文章下方有原文链接,你可以去论坛留言给作者咨询看看。
1 2 3 8

发表回复