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 等,这些分区名字不用理会
root@OneNas:\~# ls /dev/nvme\*
/dev/nvme0 /dev/nvme0n1p1 /dev/nvme1n1
/dev/nvme0n1 /dev/nvme1 /dev/nvme1n1p1
# 需要用到的硬盘
/dev/nvme0n1 /dev/nvme1n1
3、输入命令,查看 nvme 硬盘的 ID:
udevadm info /dev/nvme0n1
显示结果
root@OneNas:~# udevadm info /dev/nvme0n1 P: /devices/pci0000:00/0000:00:1b.0/0000:01:00.0/nvme/nvme0/nvme0n1 N: nvme0n1 E: DEVNAME=/dev/nvme0n1 E: DEVPATH=/devices/pci0000:00/0000:00:1b.0/0000:01:00.0/nvme/nvme0/nvme0n1 E: DEVTYPE=disk E: MAJOR=259 E: MINOR=0 E: PHYSDEVBUS=pci E: PHYSDEVDRIVER=nvme E: PHYSDEVPATH=/devices/pci0000:00/0000:00:1b.0/0000:01:00.0 E: SUBSYSTEM=block E: SYNO_ATTR_SERIAL=CPDU01910404600 E: SYNO_DEV_DISKPORTTYPE=CACHE 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=873800
0000:00:1b.0
root@OneNas:~# udevadm info /dev/nvme1n1 P: /devices/pci0000:00/0000:00:1d.0/0000:04:00.0/nvme/nvme1/nvme1n1 N: nvme1n1 E: DEVNAME=/dev/nvme1n1 E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/0000:04:00.0/nvme/nvme1/nvme1n1 E: DEVTYPE=disk E: MAJOR=259 E: MINOR=2 E: PHYSDEVBUS=pci E: PHYSDEVDRIVER=nvme E: PHYSDEVPATH=/devices/pci0000:00/0000:00:1d.0/0000:04:00.0 E: SUBSYSTEM=block E: SYNO_ATTR_SERIAL=AA000000000000004925 E: SYNO_DEV_DISKPORTTYPE=CACHE 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=874726
0000:00:1d.0
我们要记住自己的 nvme 所在的位置,比如我的就是 0000:00:1d.0,这个数字一定要记下来
-
之所以 NVME 硬盘黑群晖的空间管理员中无法识别,是因为群晖提前设定了各个机型的 NVME 所在的 PCI 位置,这些信息保存在 /lib64/libsynonvme.so.1 这个文件中,而我们需要将这个文件中,关于 DS918+ 机型的 NVME 所在的 PCI 位置改为自己机器实际所在的位置就能正确识别了;
-
先备份一下原文件,输入命令:
cp /lib64/libsynonvme.so.1 /lib64/libsynonvme.so.1.bak
-
把原文件 libsynonvme.so.1 复制到一个可以供其他电脑下载的共享文件夹中,比如我将其复制到 Download 这个共享文件夹(具体以实际路径为准,请自行更改),输入命令:
cp /lib64/libsynonvme.so.1 /lib64/libsynonvme.so.1.bak
-
在电脑访问群晖,将在 Download 文件中的 libsynonvme.so.1 下载到本地电脑;
-
在电脑上使用 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,修改后保存;
-
将修改后的 libsynonvme.so.1 文件,上传到群晖的 Download 共享文件夹下(以第 5 步使用的文件夹为准),覆盖原文件。
-
删除群晖系统原文件:
rm /lib64/libsynonvme.so.1
-
把修改好的文件复制到系统(把 /volume1/Download 替换为第 5 步实际使用的路径):
cp /volume1/Download/libsynonvme.so.1 /lib64/libsynonvme.so.1
-
修改文件权限:
chmod 755 /lib64/libsynonvme.so.1
-
13、重启群晖,再打开存储管理器,就发现正常识别 NVME 并可以按照提示进行缓存的设置。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于