1. 背景说明
Synology 的 DS920+ 等型号官方仅允许将 M.2 NVMe SSD 用作缓存(Cache),而不允许直接用作存储卷(Storage Volume)。
但是,通过 GitHub 用户 007revad 开发的两个脚本,我们可以突破这个限制:
- Synology_HDD_db: 让系统“认可”你的第三方 SSD,消除“未验证硬盘”的警告。
- Synology_M2_volume: 帮你创建存储池,让你能在存储管理器中建立卷。
⚠️ 风险提示:此操作属于非官方修改。尽管社区反馈非常稳定,但请务必做好数据备份。如果不熟悉命令行操作,请谨慎进行。
2. 准备工作
- 一台安装了 NVMe SSD 的 Synology NAS(本教程以 DS920+ / DSM 7.2 为例)。
- 开启 SSH 功能。
3. 详细步骤
- 打开 控制面板 (Control Panel) > 终端机和 SNMP (Terminal & SNMP)。
- 勾选 启动 SSH 功能 (Enable SSH service),端口默认为 22。
- 在电脑上通过终端工具(Windows 用 PuTTY 或自带的 CMD/PowerShell,Mac 用 Terminal)登录:codeBash
ssh 你的用户名@你的NAS_IP -p 22输入密码时不会显示字符,输完按回车即可。
你需要运行两个脚本。建议先运行 Synology_HDD_db 解决兼容性警告,再运行 Synology_M2_volume 创建存储池。
方法 A:一键命令(推荐,简单快捷)
登录 SSH 后,依次复制以下命令运行。
1. 运行 Synology_HDD_db 脚本
这个脚本会将你的硬盘加入兼容列表,防止系统报错。
sudo -s # 切换到 root 权限,需要再次输入密码 wget https://github.com/007revad/Synology_HDD_db/archive/refs/heads/main.zip -O syno_hdd_db.zip unzip syno_hdd_db.zip cd Synology_HDD_db-main chmod +x syno_hdd_db.sh ./syno_hdd_db.sh -nra
- -r: 禁用内存兼容性检查(可选,如果你加了非原厂内存)。
- -n: 防止 DSM 自动更新数据库覆盖修改。
- -a: 自动更新脚本(可选)。
2. 运行 Synology_M2_volume 脚本
这个脚本负责创建存储池。
cd .. # 返回上一级目录 wget https://github.com/007revad/Synology_M2_volume/archive/refs/heads/main.zip -O syno_m2_volume.zip unzip syno_m2_volume.zip cd Synology_M2_volume-main chmod +x syno_create_m2_volume.sh ./syno_create_m2_volume.sh
执行过程中的交互:
运行 syno_create_m2_volume.sh 后,脚本会问你几个问题:
- 它会列出检测到的 NVMe 驱动器(例如 /dev/nvme0n1)。
- 询问你要创建什么类型的 RAID(Basic, RAID 0, RAID 1, SHR 等)。
- 如果是单盘,选 Basic 或 SHR。[2]
- 如果是双盘,想速度快选 RAID 0,想数据安全选 RAID 1 (或 SHR)。
- 确认输入 yes。
- 脚本运行完毕后,会提示你存储池已创建成功。
注意:在 DSM 7.2 上,通常不需要重启即可生效。如果脚本提示你需要重启,请重启 NAS。
- 回到 Synology 的网页管理界面。
- 打开 存储管理器 (Storage Manager)。
- 你应该能看到一个新的 存储池 (Storage Pool) 已经出现(通常显示为“可用”或类似状态)。
- 点击该存储池,选择 创建卷 (Create Volume)。
- 按照向导设置容量(通常选最大)、文件系统(推荐 Btrfs),完成创建。
恭喜!你现在可以像使用普通硬盘一样使用你的 NVMe SSD 了。
4. 维护与注意事项(重要!)
1. DSM 系统更新后怎么办?
每次你更新 Synology DSM 系统(例如从 7.2 更新到 7.2.1),系统可能会重置数据库文件,导致 NVMe 存储池报错或显示为“未验证”。
解决方法:
- 重新运行 Synology_HDD_db 脚本。
- 通常不需要重新运行 M2_volume 脚本,因为存储池结构还在,只是系统“不认识”它了。修复数据库后即可恢复正常。
2. 设置计划任务(自动修复)
为了避免更新后忘记运行脚本,建议在群晖的 任务计划程序 (Task Scheduler) 中添加一个开机启动任务:
- 控制面板 > 任务计划程序 > 新增 > 触发任务 > 用户定义的脚本。
- 常规:任务名称随便填(如 “Fix HDD DB”),用户账号选 root,事件选“开机”。
- 任务设置:在“用户定义的脚本”框中填入你脚本的路径,例如:codeBash
/volume1/scripts/Synology_HDD_db-main/syno_hdd_db.sh -nra(请确保你之前的下载路径正确,建议将脚本移动到一个固定的文件夹,如 /volume1/scripts/)。
3. 数据安全
虽然此方法被广泛验证有效,但 NVMe SSD 发热量较大,且没有风扇直接吹拂(取决于机型)。请注意监控 SSD 温度,并保持重要数据的备份(如使用 Hyper Backup 备份到机械硬盘或云端)。
资源链接
https://www.reddit.com/r/synology/comments/1da4gzu/storage_pool_with_m2_nvme_ssd_on_dsm_72_at_ds920/?tl=zh-hans
https://github.com/007revad/Synology_M2_volume
https://github.com/007revad/Synology_HDD_db