NAS 篇五:尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试

2020-01-18 18:49:23 51点赞 290收藏 99评论

创作立场声明:1. 本系列文章讨论NAS与局域网, 请小编高抬贵手不要分类到无线网络去
2. 如果你读了开头, 有“可我的宽带才300M”的想法, 那么这文章还不适合你的需求, windows下请按Ctrl+W, iOS请按Home键,安卓我不熟.....
3. 本篇(第5篇) 涉及使用linux命令手动修改磁盘状态, 错误操作可能导致数据丢失,请小心操作,本人不承担由此造成的损失

首先我把大家问得比较多的有用信息链接列表如下:

篇一: 万兆交换机&网卡选择

篇二: SATA SSD缓存实测与否定 同时有DS918+固件的硬件要求

篇三: Nvme SSD缓存使用的硬件与固件要求

篇四: 降成本, 提性能

还是建议大家按顺序阅读, 不容易产生误解

觉得NVME缓存还不够给力怎么解?

如果你是从我前四篇顺序读下来, 那么应该是已经感受到了Nvme 缓存的机械硬盘存储和万兆网络配合后速度飞跃, 然而这毕竟是缓存不是最终存储, 鸡血总是有限的, 缓存一旦用完, 速度又回到了机械硬盘的老样子。而群晖的缓存策略, 似乎放弃旧缓存是个漫长过程(注意是指放弃旧缓存内容所占空间, 不是指写回。 写回后原内容还是驻留缓存的), 这导致缓存用满后 , 很长时间这个存储盘就和普通机械硬盘无异了。

那么群晖有没有可以直接使用NVME SDD 做存储的设定呢? 我翻遍群晖的介绍, 无论是家用顶配的DS918+,还是中小企业使用的DS1018+, 发现都是只支持Nvme m.2 SSD缓存, 却不支持nvme SSD的存储空间。而对于Nvme SSD, 现在的市场上不但有海康, 西数, 东芝等厂家推出的2T左右的m.2 Nvme SSD;更有3.2T,4T甚至8T的二手“大船货”U2 Nvme 2.5寸 SSD可供选择。 很多人也在我这系列文章的前几篇问有没有办法用NVMe SSD直接做存储盘。 我爬了半天XPENOLOGY 论坛, 从一篇俄文帖子里找到线索(此处吐槽google翻译1000次), 最后在reddit 论坛找到了一个方法, 由于不可描述的原因, 大家访问可能有困难, 所以我这次干脆全文贴给大家了, 中英文混合, 大家见谅

前提条件:

首先是黑群晖硬件固件要求是DS918+ DSM6.2 bootloader 1.04。PC上有SSH的工具如putty

其次是打上了我在篇三中贴出的patch脚本, 从而在黑群晖的DSM 存储空间管理->HDD/SSD 页面可以看见Nvme缓存设备, 但还没有被用作任何存储空间的缓存

Step1 创建分区

从SSH用admin账户登陆群晖命令行终端, 并键入

sudo -i

输入密码获得root权限, 然后执行

ls /dev/nvme*

You will see the /dev/nvme0n1 or /dev/nvme1n1 depend on which slot you install the SSD.

输入:

fdisk -l /dev/nvme0n1

此命令用来确认nvme SSD的状态大小. ( if your SSD at slot 2, use /dev/nvme1n1 instead)

Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

如果信息符合你要使用的NVme SSD的信息,用如下命令创建分区:

synopartition --part /dev/nvme0n1 12

and answer 'Y' if you confirm

Device Sectors (Version8: SupportRaid)
/dev/nvme0n11 4980480 (2431 MB)
/dev/nvme0n12 4194304 (2048 MB)
Reserved size: 260352 ( 127 MB)
Primary data partition will be created.

WARNING: This action will erase all data on '/dev/nvme0n1' and repart it, are you sure to continue? [y/N]y
Cleaning all partitions...
Creating sys partitions...
Creating primary data partition...
Please remember to mdadm and mkfs new partitions.

这样实际上给一个nvme 盘创建了标准的群晖方式的分区, 即: 2.4G大小的系统分区, 2G大小的swap分区, 然后是剩余空间分配了一个给用户使用的数据分区。 我自己是一个250G的SSD,这样分区后, 数据分区大小是大概228G

Type

fdisk -l /dev/nvme0n1

You will see the partition layout is created

Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xef61a3e4

Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 2048 4982527 4980480 2.4G fd Linux raid autodetect
/dev/nvme0n1p2 4982528 9176831 4194304 2G fd Linux raid autodetect
/dev/nvme0n1p3 9437184 500103449 490666266 234G fd Linux raid autodetect

原文例子里是一个256G SSD, 群晖分区后数据区大概是234G的样子

Step2 建立存储空间

Type

cat /proc/mdstat

此命令用于检查当前的磁盘阵列情况

Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
md2 : active raid1 sda3[0] sdb3[1]
5855700544 blocks super 1.2 [2/2] [UU]

md3 : active raid1 sdc3[0] sdd3[1]
9761614848 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1] sdc2[2] sdd2[3]
20097088 blocks [4/4] [UUUU]

md0 : active raid1 sda1[0] sdb1[3] sdc1[1] sdd1[2]
2489920 blocks [4/4] [UUUU]

这个命令显示了目前已有逻辑存储盘的情况: md0 其实就是群晖的系统分区, 以RAID1的形式, 在每个物理磁盘上都有分区, md1是swap分区, 也是RAID1形式, 每个盘都有一个分区; md2 是物理磁盘sda, sdb的第三分区(数据区) 组成的RAID1存储空间; md3 是物理磁盘sdc, sdd 的第三个分区组成的RAID1存储空间

我们现在就是要把已经分好区的Nvme 磁盘上, 也建立起群晖DSM中可用的磁盘空间, 虽然用linux的mdadm理论上各种RAID形态都可以做, 但小弟不才不敢乱试命令搞乱已有存储数据, 所以就用最基本的单盘即DSM中说的basic 存储空间。 实际上就是单盘RAID1 (群晖就是这么干的, 别问我为什么)

输入:

mdadm --create /dev/md4 --level=1 --raid-devices=1 --force /dev/nvme0n1p3

此命令为刚才建立的Nvme SSD的数据分区建立新存储空间 , 注意/dev/md4,如果你在刚才的mdstat命令中看到的已有存储空间已经最大是md4, 那么这里需要改成/dev/md5,以此类推

And answer y

mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md4 started.

Step3 格式化文件系统

如果你要使用常见的ext4 文件系统

Type

mkfs.ext4 -F /dev/md4


mke2fs 1.42.6 (21-Sep-2012)
Filesystem label=1.42.6-23824
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
15335424 inodes, 61333024 blocks
25600 blocks (0.04%) reserved for the super user
First data block=0
Maximum filesystem blocks=2210398208
1872 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

看到最后的done, 那么ext4 文件系统已经建立好了

如果你想用群晖新版DSM更推荐的btrfs系统,

type

mkfs.btrfs -f /dev/md4

无论你建立的是ext4还是btrfs系统, 如果这时候你在DSM的存储空间管理员里查看,还是看不到新的存储空间, Nvme SSD 也还是作为未分配的缓存空间。 这时候你需要在SSH 终端输入

reboot

重启后, 就可以看到新的nvme存储空间啦!


外观展示

接下来是实操时间: 鉴于我自己的黑裙已经有两块Nvme SSD做了缓存, 如今又要试装nvme 存储盘,不得不又把东芝RC500 250G 拿出来做试验田

RC500RC500

为什么要转接卡? 因为我的黑群晖平台已经插满了NVme SSD缓存尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试 , 第4篇中提到的便宜货技嘉B150M DS3H 板插不了那么多PCIe设备, 只好闲置, 换上技嘉新款的B365M小雕

尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试

即使这样, 在已经插了两块NVMe SSD缓存, 一个intel X550万兆网卡后, 也已经满满堂堂了, 再插RC500, 又要祭出转接排线

尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试

一番折腾, 万兆网卡下面空PCI槽位太低散热太差, RC500只能挤在机箱一角了

尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试

装箱, 启动, 由于我的黑裙已经打好nvme 驱动的补丁, 进入DSM可以看到又增加一个Nvme SDD 缓存设备, 型号就是东芝RC500

尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试

照前所述操作(我最后创建的nvme存储空间是md5), 然后重启, 就可以在DSM存储空间管理员中发现新的存储池

尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试

以及新的存储空间, 因为我还想试试VMM虚拟机, 所以我选了btrfs文件系统格式

尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试

测试时间:

测试很简单, PC和黑裙都是10G网卡,黑裙在新的Nvme 存储空间上建共享文件夹TEST, 从PC的NVme SSD 上对NAS的TEST文件夹读写大约20~30G大小的文件, 观测win10显示的速度曲线:

NAS写测试:

写速度1GB/s写速度1GB/s

基本稳定在1GB/s 左右略有跳动

NAS读测试:

读 1GB/s以上读 1GB/s以上

读速度基本稳稳的在1GB/s以上, 完全满足了万兆网卡带宽!

尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试

最后我突发奇想给这个存储空间跑个分, 于是黑群里建了iSCSI target

尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试

在win10的开始->管理工具 中打开iSCSI initator, 建立iSCSI盘, 然后跑Crystal Diskmark

尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试

结果基本就是个最高速被限在1.2GB/s的SSD, 4K略差, 我想原因是通过万兆网络比纯Nvme设备latency大了很多的原因吧。

总结:

这篇主要解决的是如何让黑群晖系统支持用NVme SSD创建存储空间, 独立存储数据, 而不是仅仅作为SATA硬盘存储空间的缓存。利用Nvme硬盘的高带宽低延迟, 我们很容易跑满万兆网络, 甚至4K小文件传输也会大大高于千兆网络极限。这个方法不但黑裙适用, 白裙也一样适用。 无论黑白群, 能使用的前提都是机型本身必须支持Nvme( 即可插nvme m.2 SSD 做缓存)。

但这种手动添加存储空间的操作, 风险也是很大的 :

首先系统里必须有SATA硬盘安装好了DSM, 不可能在NVme SSD上新装DSM。其次存储空间建立后需要小心自动升级DSM, 由于是手动添加的存储空间,极有可能在一次系统升级后空间就消失了, 造成数据丢失。 最后作为黑群晖, 还需要始终确保Nvme驱动的黑裙补丁有效, 否则驱动都没了, 磁盘空间必然消失

相比用NVme SSD 做虚拟机的SATA 磁盘这样的暗渡陈仓的方式, 直接使用NVme可以在DSM中监控NVme SSD的SMART信息, 也不存在由于虚拟化造成的性能下降。 我只能说, 两种方法各有优缺点。

最佳解决方案, 是期望群晖在DSM 7.0 这一代正式支持Nvme SSD做存储空间, 在Flash越来越便宜的今天, 我想这是趋势吧。

展开 收起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

4099元起

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

8899元起

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

1549元起

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

4899元起

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

7196元起

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

4099元起

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

1399元起

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器 京东云定制版(J3355、2GB)

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器 京东云定制版(J3355、2GB)

暂无报价

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

13746元起

Synology 群晖 DS416 企业级 NAS网络存储

Synology 群晖 DS416 企业级 NAS网络存储

暂无报价

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

3090元起

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

3199元起

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

2299元起
99评论

  • 精彩
  • 最新
  • 唉,还忍受着百兆的带宽只能默默流泪

    校验提示文案

    提交
    不要看,点关闭,看我这些文章想的却是宽带的,这文章不适合您

    校验提示文案

    提交
    收起所有回复
  • 只能说群晖这点上落后威联通好多 [喜极而泣]

    校验提示文案

    提交
    哪一点?威联通nvme可以直接做存储空间?

    校验提示文案

    提交
    对啊 可以直接当存储空间

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 我的万兆网卡找不到网络 不知道咋回事 nmpa19

    校验提示文案

    提交
    装黑裙上? 啥型号的网卡?

    校验提示文案

    提交
    麦洛斯nmpa19 就是前段时间100左右现在150多那个

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • NAS部署万兆成本现阶段太高,还是直接DAS走TYPC-C实在

    校验提示文案

    提交
    现在便宜多了,家用万兆交换机 800-1000,网卡100多到700多看你预算需要

    校验提示文案

    提交
    你这价格从哪来的,SFP+的二手都不止这个价

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 哈哈哈 终于等到了,就是看了楼主的帖子搞了i3+万兆黑群晖,继续跟着楼下折腾,感谢

    校验提示文案

    提交
    一起玩一起玩 [脸红]

    校验提示文案

    提交
    收起所有回复
  • 直接上40G网卡吧 [龇牙] [龇牙] [龇牙]

    校验提示文案

    提交
    等我研究出3块Nvme组RAID5 [龇牙] [龇牙] [龇牙]

    校验提示文案

    提交
    收起所有回复
  • 电口还是王道,六类无缝升级万兆。

    校验提示文案

    提交
    为了省钱,我有个离交换机近的win机用了mellanox x3光口卡和跳线 [长草]

    校验提示文案

    提交
    收起所有回复
  • 这么快的速度应用场景是?视频编辑?

    校验提示文案

    提交
    算是吧,还有照片备份,高清电影传输

    校验提示文案

    提交
    收起所有回复
  • 通过万兆,拷贝到软、硬raid5硬盘组的速度,速度能达到500M吗

    校验提示文案

    提交
    要看几个盘,本身是什么盘之类情况

    校验提示文案

    提交
    比如我的硬raid5是4个西数企业金盘6T,读写那都是能过500M的

    校验提示文案

    提交
    收起所有回复
  • 看了你的一系列文章,特别敬佩你的摸索精神,一个freenas的虚拟机不能pppoe拨号把我折腾了几天,目前已经放弃

    校验提示文案

    提交
    我最近试unRaid下虚拟机LEDE也是一头包

    校验提示文案

    提交
    收起所有回复
  • 请问这个550万兆网卡是装在ds918+上面的吗 我一直头疼ds918+的万兆驱动 试过了x520和mc2以及mc3 都不能驱动 加了那个什么驱动扩展也没弄成功

    校验提示文案

    提交
    intel的X520 光口,x540,x550 电口应该ds918+的1.04b boot img可以直接驱动的。 请用原始ds918+ boot image,别用星际蜗牛定制的

    校验提示文案

    提交
    你好我也遇上一样的难题,bios里可以看到550正常工作,但是进了黑群晖怎么都无法识别550这张网卡,有没有安装网卡的攻略,谢谢

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 感谢教程,白裙918+改造成功

    校验提示文案

    提交
    白918+? 干嘛这么改? 网络是千兆的,改了也不会更快。 另外注意下变成存储盘后的寿命信息、nvme存储空间trim似乎不支持啊

    校验提示文案

    提交
    跑虚拟机专用哈,寿命不担心的。速度的话,等搬了家准备外挂USB 2.5Gbps有线网卡,比10G、5G便宜太多了

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 3617可以吗? 我按网上教程,M2.SSD做缓存读不出。有办法吗?主板是华擎的Z390Mitx

    校验提示文案

    提交
    不行,请看我篇三,说清楚了需要的条件

    校验提示文案

    提交
    收起所有回复
  • ssh怎么登陆

    校验提示文案

    提交
    请查阅群晖DSM基本使用指南

    校验提示文案

    提交
    收起所有回复
  • 几年前搞过 网件万兆电口的, 很稳定 聚合的 话会有2000m,固态只到1500

    校验提示文案

    提交
    聚合......2000M,唔.....你是真的测试到了这样的网络copy速度, 比如SMB, FTP, NFS之类。 还是只是看到了操作系统里这么一个标识?

    校验提示文案

    提交
    收起所有回复
  • 大神能不能把你那台群晖的系统引导这种上一下,或者说下哪里下的,我的也是黑的918+按你的操作来,结果不行,不知道是不是引导的版本有问题,也看不到,系统也是6.2的

    校验提示文案

    提交
    首先,nvme缓存能认出来吧?

    校验提示文案

    提交
    行的,显示是未初始化,打了你前面那个补丁

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 大佬,和你用相同的机箱(810a)和相同的主板(技嘉小雕B365>,黑裙各种版本都试了,都无法引导,板载的i219-v是没戏了。后来也加了一张x550的网卡,网线插到了x550上,可以发现机器安装dsm了,但安装后又找不到了IP了。大佬方便发一下你的固件吗,感谢!

    校验提示文案

    提交
    我板载也没问题啊,固件我再说一遍,去Expenolgy 下干净的,不要从各大NAS论坛下个人自己定制的,很容易不适合。 6.22 和6.23 应该都可以。大不了DS918 对硬件要求高,DS3617 6.1 先装起来

    校验提示文案

    提交
    大佬,这上面XPE的镜像我都试了,还是找不到IP,方便共享一下你的引导文件吗,5075633@qq.com,感谢。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 你好,之前试用过你的方法,非常感谢。我现在特别想知道如何才能让有PCIe槽又有M.2 NVMe槽的白群晖用上群晖自己的M2D20扩展卡。我买了一台DS1621xs+,这货自带万兆电口所以不需要万兆网卡了,就想着再插一张NVMe扩展卡上去,这样就有四块NVMe SSD,两块用作缓存,两块组RAID1用来装虚拟机。想得很美,问了很多次客服都说不行,自己买来试用,发现确实不行,存储空间管理员界面里看不到该有的“缓存设备”,进命令行能看见,本文操作也能走通,一重启就还是啥都没变。然后看到你文章里的配图出现了三块缓存设备,就觉得DSM应该是能识别两块以上的NVMe SSD的啊,再往前翻发现你是打了黑群专用补丁,我在想我的白群是不是也该打个补丁,可能就好了?

    校验提示文案

    提交
    打完了最新的补丁,发现连内置的NVMe都不识别了 [高兴] 幸好之前备份了原文件

    校验提示文案

    提交
    我这个补丁方式,6.22专用,如果是6.23版,需要另一个方法。而且是黑裙才能用

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 请问必须是918+吗? 我看截图写的是3617呢??因为我的810A8盘的 装的是3617

    校验提示文案

    提交
    必须918+,DS3617白裙就没有nvme

    校验提示文案

    提交
    收起所有回复
  • 请教一下,像1817这样缓存是SATA的,以及1819这样通过PCIE扩展出NVME缓存的,可以用吗

    校验提示文案

    提交
    SATA 的话,本来就可以做存储空间,肯定没问题; 1819这样nvme 的,也可以照着我的教程做,nvme就可以用作存储空间,但要记得整个系统一定要有SATA的盘,且最好所有app都在sata盘上。 因为nvme 空间不能启动的。 这个结论止于6.23,新的7.0我没玩过(还没有黑的) [傻笑]

    校验提示文案

    提交
    1817+比较特殊,用的M2D17是专属PCIE配件,只能插两根SATA的M2,系统默认也是只能做缓存,故有此问...

    校验提示文案

    提交
    还有2条回复
    收起所有回复
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
290
扫一下,分享更方便,购买更轻松