目录
前言
部分群晖机型带有M.2 NVMe SSD 缓存插槽,例如ds918+,ds920+,不过这些机型的M2插槽并不能作为存成空间使用,只能作为缓存使用,和隔壁威联通的支持所有磁盘的分层缓存比,群晖的缓存机制可以说是非常垃圾,dsm7也没有改进多少
奸商群晖
如果能够把这两个m2好好利用,变成存储位就好了。
老奸巨猾的群晖,在系统中当然不会开放,毕竟他就是按盘位收钱的,一个盘位1000块👍🏻
好在可以通过Linux命令挂载m2插槽上的磁盘,从而使他们变成存储空间
实施
下面就来讲讲怎么实施,不会太细,因为大部分机型上都是一样的
一共就几步,非常简单
ssh 进入群晖,切换root账户
sudo -i
查看nvme设备信息
# 查看nvme设备
ls /dev/nvme*
会显示 /dev/nvme0n1
或者 /dev/nvme1n1
查看磁盘信息,如果是想查看第一个插口上的ssd,输入
fdisk -l /dev/nvme0n1
查看第二个插口上的ssd,输入
fdisk -l /dev/nvme1n1
好像群晖带m2插槽的机型都是这两个
创建分区
# 在第一块SSD上创建分区
synopartition --part /dev/nvme0n1 12
# 如果想在第二块SSD上创建分区
synopartition --part /dev/nvme1n1 12
# 回车
# 输入“Y”,确认
查看创建的分区布局
查看第一块SSD的分区布局
# 容量最大的分区,则是我们要挂载的
fdisk -l /dev/nvme0n1
查看第二块SSD的分区布局
fdisk -l /dev/ nvme1n1
创建磁盘阵列
创建“Basis”的阵列
cat /proc/mdstat
md0是系统分区,而md1是系统交换。 当前的卷/存储池是从md2开始的,新创建的存储空间则为md里最大的数字+1
比如我是4盘位插满,新增的ssd作为第五盘位,目前已经到了md6,那么我就创建md7,md8
mdadm --create /dev/md7 --level=1 --raid-devices=1 --force /dev/nvme0n1p3
mdadm --create /dev/md8 --level=1 --raid-devices=1 --force /dev/nvme1n1p3
格式化ssd存储池为btrfs
mkfs.btrfs -f /dev/md7
mkfs.btrfs -f /dev/md8
格式化ssd存储池为ext4(不建议,大部分人应该都会用到虚拟机,所以只能是btrfs)
mkfs.ext4 -F /dev/md7
mkfs.ext4 -F /dev/md8
然后就可以重启nas了
reboot
DSM中修改存储池名称
通过这种方式创建的存储池,名称是错的,比如可能会叫做存储空间6,手动删除这个存储空间,在存储空间管理员
中重新创建时正确命名即可
关于ssd使用策略
我推荐:使用第一块容量较小的ssd,比如我是256G的SSD做缓存盘,存储空间较大的2T SSD做群晖套件、虚拟机、下载盘,这样存盘性能需求高的软件都在SSD分区中,性能最高
同时,SSD作为下载盘,NAS在下载时不会有硬盘频繁读写的噪音,整个NAS非常安静
另外,想让硬盘再安静些,还需要关闭群晖的虚拟内存SWAP,内存小的机器请不要轻易尝试
swapoff -a
# 或
# sysctl -w vm.swappiness=1
关于SSD如何做临时下载盘,我会再写一篇已写完,囊括Aria2,qbittorrent
迁移套件到SSD盘
网络上有很多关于群晖套件迁移磁盘的教程,但是NAS作为24时开机的设备,稳定性应该压倒一切,所以我不推荐任何软连接的方式迁移,我的建议就是,删除所有套件,设置套件中心,套件下载安装位置为SSD盘
然后重新下载安装套件
无脑操作版
其实关于操作部分,设置什么都不看也没有关系,只要你插上了一块m2 ssd,那么可以直接复制这段代码,不过还是推荐一行一行复制,因为有些步骤你还要输入”Y”确认操作
# 在第一块SSD上创建分区
synopartition --part /dev/nvme0n1 12
mdadm --create /dev/md7 --level=1 --raid-devices=1 --force /dev/nvme0n1p3
mkfs.btrfs -f /dev/md7
reboot
引用参考
本篇文章操作部分大量引用definuler
在smzdm中发表的《群晖 DS918+免费扩展 —- M.2 NVMe SSD 缓存变储存空间》。Linux命令,无论怎么写,都是一样,故引用definuler
中关于操作部分的内容,在此感谢
https://post.smzdm.com/p/av7zm3v4/
本文由 NG6 于2021年09月04日发表在 sleele的博客
如未特殊声明,本站所有文章均为原创;你可以在保留作者及原文地址的情况下转载
转载请注明:群晖 DS918+扩展 – M.2 NVMe SSD 缓存变储存空间 | sleele的博客
我装DSM7.2,缓存改存储空间后安装完套件,再重启,直接提示不受当前DSM支持!
@horseman 老哥解决了没有
@查理 没有
@查理 使用这个脚本,将SSD信息,添加到群晖硬盘数据库中,即可修复
https://github.com/007revad/Synology_HDD_db
请问一块256做缓存,一块1TB做储存池要怎么操作?我的想法是先插1TB的,变为储存池后,再关机插256G的不动
我的920,原来只有一块ssd,使用这个方法做存储用着,最近SSD便宜了,又买了一块,安装到第二个SSD槽,使用这方法,最后重启还是不行,测试了好几遍
@along 我没升级到7.2,检查一下SSD,fdisk -l /dev/nvme1n1
@along 看清楚,这是918+的方法
DSM7.2实测,安装完套件,再重启后,直接提示不受当前DSM支持。。
nvme改成存储空间后,如何改回缓存。
@若谷 删除这个磁盘后重启就可以了,群晖的缓存很废
建议一个SSD只读缓存,另外一个做数据盘
大佬您好,新买的920+,想问问需不需要讲系统文件迁移至固态硬盘里呢?而且在DSM7.1.1中,也无法设置套件的安装位置了,没有找到选项。。。
你好,问下直接挂一块SSD做读缓存,另一块SSD做下载空间,和两块同样的SSD做读写缓存有啥区别?我理解是,下载这种任务,有读写缓存的时候,系统都是先写到SSD缓存里,后面空闲再慢慢在写入到HDD。
PS,我之前DS920+一直是跟你说的一样用256G做读缓存,1T做硬盘空间。用了一年多除了“下载到SSD”这一特定用途,这块SSD存储空间基本没有做其他用途。现在换DS1821+了,在想还不如直接两块1T(或者2T,还在犹豫)做读写缓存,让系统决定哪些文件写入SSD缓存。
@DZ 群晖cache策略非常垃圾,具体可以搜索引擎搜索
1、cache中的冷数据基本不会移除(后面的数据会不停的在仅剩的空间中进行擦写,chh有不少讨论贴),并且ssd cache只能加速一个盘,系统和套件也依然是运行在hdd中
2、使用ssd做存储盘和可以把套件全部安装到ssd中,高频数据也可以存储到ssd中,提升整体相应速度
你好博主,
想问下这套操作在dsm7.0上是否依然有效?
我看其他地方说这个方法在dsm7上失效了。
谢谢
@first908 我没有升级dsm7
@first908 [DSM 7.0.1-42218 Update 2]
如果删除后重建存储池,系统会显示 “The drive is installed in a drive slot reserved for SSD caches.”
DSM7 上正确的做法是重启后不删除,而是选择 “Online Assemble”
@里脊 DSM7.2 试了 在线重组失败,只能删除,删除后不能重新添加为存储池
@匿名 这篇文章有点老了,是在6.X时代写的,过两天我更新一般7.2及以后版本适用的,其实原理上就是,通过修改硬盘数据库,识别为官方SSD
@first908 DSM7本身就支持把NVMe盘做存储盘吧
头一次看到夸威联通,原来群晖也有不足,太多看到鼓吹群晖的
头一次看到夸威联通,原来群晖也有不足,太多看到鼓吹群晖的