在 DS918+ 上将 M.2 SSD 用作独立存储池
引言
在 Synology NAS 上,M.2 NVMe SSD 通常被用作 SSD 缓存,以提升 HDD 阵列的随机 I/O 性能。
但对于已经全部使用 SSD(SATA 或 NVMe)组成的存储池,直接将 M.2 做为存储盘(storage pool)往往能带来更灵活的容量管理、快照与数据隔离能力。本文将介绍:
- 为什么在部分场景下优先考虑将 M.2 做存储而非缓存
- 如何在 DS918+ 上借助第三方脚本开启 M.2 存储池支持
- 脚本运行日志及关键步骤解析
- 注意事项与风险提示
一、为什么要用 M.2 做存储而不是缓存
容量与分区灵活性
- SSD 缓存只能作用于已存在的存储池,并且容量格局固定;若要在 M.2 上存多个卷或分离不同业务数据,仅做缓存则无法实现。
- 将 M.2 直接做存储池,可按需分配多个卷(Volume),支持 Btrfs 快照、LUN、iSCSI 等更丰富的功能。
性能持续性与可靠性
- 缓存模式下,写入先落在 NVMe 再异步刷回后端,若意外断电或缓存失效,可能造成数据一致性风险。
- 作为存储池,数据写入即刻持久化到相应分区,依赖于 RAID 保护(如 RAID1)及文件系统快照,更易保证数据可靠性。
更全面的功能支持
- Btrfs 快照、文件夹配额、数据压缩等高级特性仅在存储卷上可用;SSD 缓存模式下仅做 I/O 加速,没有这些功能。
- 将 M.2 纳入存储池后,可单独调整热备、扩容或迁移,而不会影响后端其它卷。
场景区分
- SSD 缓存:推荐用于 HDD 阵列,大幅提升随机小文件访问性能。
- M.2 存储池:适用于对全 SSD 存储环境下需要独立分区、快照和灵活管理的场景,如轻量型虚拟机、数据库、容器化存储等。
二、前期准备
机型与系统版本
- Synology DS918+;DSM 7.2 及以上。
硬件
- 两块型号和容量一致的 M.2 NVMe SSD(建议至少 500 GB)。
下载脚本
- 访问:https://github.com/007revad/Synology_enable_M2_volume/releases
- 下载最新版本的 Source code (zip),将 ZIP 文件保存到非 M.2 卷(如
/volume1/scripts/
)。 - 在 DSM 中解压到相应目录,得到
syno_enable_m2_volume.sh
脚本及相关文件夹。
三、安装与运行脚本
1. 启用 SSH 并切换到 root
# DSM 控制面板 → 终端机与 SNMP → 勾选“启用 SSH 功能”
# 使用 PuTTY 等工具登录 NAS(用户名:admin),执行:
sudo -i
2. 运行脚本并重启
cd /volume1/scripts/Synology_enable_M2_volume-1.1.22/
chmod +x syno_enable_m2_volume.sh
# 以 root 身份执行脚本,自动修改系统并重启
./syno_enable_m2_volume.sh
脚本选项:
-c, --check
:仅检查并备份,不做修改-r, --restore
:还原之前的备份-n, --noreboot
:修改后不自动重启- 更多帮助:
./syno_enable_m2_volume.sh -h
3. 脚本运行日志示例
root@RainNAS:~# sudo -s /volume3/docker/Synology_enable_M2_volume-1.1.22/Synology_enable_M2_volume-1.1.22/syno_enable_m2_volume.sh
Synology_enable_M2_volume v1.1.22
DS918+ DSM 7.2.2-72806-3
StorageManager 1.0.0-00502
Using options:
Running from: /volume3/docker/Synology_enable_M2_volume-1.1.22/Synology_enable_M2_volume-1.1.22/syno_enable_m2_volume.sh
Backup successful.
Checking file.
193146 = 2f27a
0002f27a: 803E 00B8 0100 0000 7524 488B
Editing file.
Checking if file was successfully edited.
193146 = 2f27a
0002f27a: 803E 00B8 0100 0000 9090 488B
File successfully edited.
You can now create your M.2 storage pool in Storage Manager.
Backed up synoinfo.conf
Enabled M.2 volume support.
The Synology needs to restart.
Type yes to reboot now.
Type anything else to quit (if you will restart it yourself).
yes
解析
- 脚本首先检测 DSM 与 Storage Manager 版本,并备份关键二进制文件及配置。
- 通过替换内核补丁或修改系统库,将 M.2 设备从“仅缓存”模式切换至“可识别为普通硬盘”模式。
- 修改完成后提示重启,重启生效后即能在 DSM GUI 看到 M.2 设备可用于创建存储池。
四、在 DSM GUI 中创建存储池
- 重启后,打开 存储管理器 → 存储池 → 创建
- 选择 “用于存储的 M.2 SSD”(此时已不再只有缓存选项)
- 根据需求选择 RAID 类型(如 RAID1 保证冗余,JBOD 或 SHR)
- 创建完成后可在 存储空间 中新建卷、共享文件夹并启用 Btrfs 功能
五、注意事项与风险
- 非官方修改:脚本属于社区维护的“黑群晖”补丁,可能会在 DSM 升级后失效或引发兼容性问题。
- 数据备份:务必在操作前做好全盘数据备份,特别是脚本运行前对系统文件的修改。
- 硬件兼容性:建议使用 Synology 官方兼容 NVMe 型号,并确保两条 M.2 SSD 容量一致。
- 带宽共享:DS918+ 的 M.2 插槽可能与其他 PCIe 设备共用带宽,实际性能受限于总线带宽。
- 后续维护:每次 DSM 大版本升级后可能需要重新执行或更新脚本,才可继续保持 M.2 存储池支持。
六、总结
通过上述方法,您可以在 DS918+ 上突破官方限制,将 M.2 SSD 用作独立存储池,实现更灵活的分区管理和 Btrfs 快照功能。对于需要在全 SSD 环境中构建多卷、运行虚拟机、数据库或容器存储的场景,具备显著优势。但由于属于非官方改动,请务必权衡风险并做好数据保护。祝您的 Synology NAS 玩得更爽、更自由!