为啥linux分区是nvme0n1,NAS 篇五:尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试...

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

2020-01-18 18:49:23

46点赞

248收藏

80评论

创作立场声明:1. 本系列文章讨论NAS与局域网, 请小编高抬贵手不要分类到无线网络去

2. 如果你读了开头, 有“可我的宽带才300M”的想法, 那么这文章还不适合你的需求, windows下请按Ctrl+W, iOS请按Home键,安卓我不熟.....

3. 本篇(第5篇) 涉及使用linux命令手动修改磁盘状态, 错误操作可能导致数据丢失,请小心操作,本人不承担由此造成的损失

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

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

觉得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 拿出来做试验田

774406877486041fb98e30c37f676f48.pngRC500

为什么要转接卡? 因为我的黑群晖平台已经插满了NVme SSD缓存

3de086f6653beb22e1438ca6981a8e67.png , 第4篇中提到的便宜货技嘉B150M DS3H 板插不了那么多PCIe设备, 只好闲置, 换上技嘉新款的B365M小雕

29933c8575285d2535457d03339be08a.png

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

95406aa85e6e60c8f653eb735ac2504e.png

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

62fd9f631142184fb536125a569719ed.png

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

65f8940c48943f93df98ffcfa0f386a2.png

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

d756e6e7eecce4d67a146fdd0dc10a0a.png

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

5282b483ccbfd9619a733c8cb6df75db.png

测试时间:

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

NAS写测试:

d2b77475ebc49b0f3f1ca85b2aa35a20.png写速度1GB/s

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

NAS读测试:

63ff8e649e2868a53b127e0b1742314f.png读 1GB/s以上

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

11221ce31b6b52016b07d5f3d1270930.png

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

d93126ab3db0ab5cde057cc182cf6284.png

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

777423eacae008a436f465aa939cf849.png

结果基本就是个最高速被限在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越来越便宜的今天, 我想这是趋势吧。

未经授权,不得转载

c2ad9c123c4d84295e50d901fd065b58.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

固态硬盘上安装centos_自己动手丰衣足食 手把手教你安装M.2固态硬盘

为了追求更快的速度、更好的性能,很多用户都为电脑升级或者更换了M.2固态硬盘。但是,M.2固态硬盘买好了,安装对大部分人来说却是个难题……因此,好多老铁通过微信后台联系小星,想了解一下M.2固态硬盘的安装教程。OK&am…

创建txt文件指令_Linux云计算教程全套视频合集:WORKDIR 指令讲解

WORKDIR 指令用于声明当前的工作目录&#xff0c;以后各层的当前目录就被改为指定的目录。格式为 WORKDIR <工作目录路径>。如该目录不存在&#xff0c;WORKDIR 会帮你建立目录。再次强调&#xff01;不要以为编写 Dockerfiel 是在写 shell 脚本。下面是一个错误示例&…

vba 自动排序_给VBA字典键值排序,并提取需要的数据

未知的领域很广、风景很美&#xff0c;不要蜷缩在一小块自认为天堂的世界里。待到暮年时安于自欺欺人&#xff0c;要努力提高自己&#xff0c;学习是一件很辛苦的事。要有一颗充满生机的心&#xff0c;把握现在&#xff0c;这才是进取。机会总在等待中出现&#xff0c;越是有意…

vba 提取 json某个值_利用VBA字典,提取两列数据的重复值

大家好&#xff0c;今日我们继续讲解VBA数组与字典解决方案&#xff0c;今日讲解第52讲&#xff1a;利用字典&#xff0c;提取两列数据重复值。有人讲:字典是VBA中最为精华的部分,持这种观点的人肯定有自己的道理,确实,利用字典可以给我的代码带来很大的方便之处,今日我讲解的是…

红外倒车雷达原理图_硅光电倍增管 (SiPM) 直接飞行时间 (dToF) 激光雷达平台为工业测距应用提供现成的设计...

点击蓝字关注我们请私信我们添加白名单如果您喜欢本篇文章&#xff0c;欢迎转载&#xff01;推动高能效创新的安森美半导体 (ON Semiconductor&#xff0c;美国纳斯达克上市代号&#xff1a;ON)&#xff0c;推出了由该公司硅光电倍增管 (SiPM) 技术实现的单点直接飞行时间 (dTo…

visio图标_弱电间机柜原型图整理,可编辑!(Excel,visio,CAD)

有朋友问到机柜原型图&#xff0c;这个我们在弱电vip技术群里面也有朋友提到过&#xff0c;今天我们就整理了弱电系统中常用的机柜原型图&#xff0c;有Excel&#xff0c;visio&#xff0c;CAD版本&#xff0c;可以修改编辑&#xff01;1、Excel机柜原型图(可编辑)机柜布局-1机…

c语言字节强制对齐,C语言的那些小秘密之字节对齐

为了让读者加深印象&#xff0c;我们这里在代码中没有使用0&#xff0c;而是使用的4&#xff0c;所以在最终计算出的结果部分减去了一个4才是偏移地址&#xff0c;当然实际使用中我们都是用的是0。懂了上面的宏offsetof之后我们再来看看下面的代码&#xff1a;#include #define…

xshell 6 连接debian系统拒绝了密码_原来连接Linux,还有这个方法

你是不是以为电脑的操作系统只有Windows和IOS系统&#xff0c;其实不是的&#xff0c;还有一个Linux系统&#xff0c;这个系统不是很常见&#xff0c;导致很多人连怎么连接Linux系统都不太清楚明白。Windows系统可以用远程桌面&#xff0c;Linux系统怎么来远程桌面呢&#xff1…

ctf up怎么写 write_软件测试工程师要不要写工具?

Fintech概念正受到不少互联网金融公司的热捧&#xff0c;主要是指代那些可用于撕裂传统金融服务方式的高新技术。越来越多的企业开辟了新的部门去研究各种各样能让自己产品增值的科技类产品。尤其是在很多互联网金融公司&#xff0c;业务分析师BA(Business Analyst)&#xff0c…

th标签能包裹select吗_电影《八佰》过后,他能摘掉马思纯前男友标签了吗?

文/温青青提到欧豪&#xff0c;大多数人第一时间想到的还是“马思纯前男友”、“快乐男声选秀出道歌手”这些身份。原因嘛很简单&#xff0c;只因为男方在娱乐圈的名气地位暂时还不如女方。类似情况分手的情侣还有很多&#xff0c;杨紫的前男友秦俊杰&#xff0c;蓝盈莹的前男友…

h3c防火墙u200配置命令_h3c 防火墙清除配置

reset saved-configuration 重置配置文件。The saved configuration file will be erased. Are you sure? [Y/N]:YConfiguration file in cfa0 is being cleared. Please wait ...Configuration file is cleared.reboot 重新防火墙Start to check configuration with next sta…

android 自定义 popupwindow,Android自定义弹出窗口PopupWindow使用技巧

PopupWindow是Android上自定义弹出窗口&#xff0c;使用起来很方便。PopupWindow的构造函数为public PopupWindow(View contentView, int width, int height, boolean focusable)contentView为要显示的view&#xff0c;width和height为宽和高&#xff0c;值为像素值&#xff0c…

android lottie字体json,Android 动画深入Lottie

image.png如果现在有需求,让这个小人做出拳击动作你应该如何做? 传统方法会写一大堆的路径值做路径动画&#xff0c;不好调试代码臃肿并且麻烦&#xff0c;那么有简单方法吗 有&#xff01; SVG 和 Lottie 可以胜任 SVG编辑麻烦美工不太会弄&#xff0c;那么我们用Lottie 下面…

android 搜索工具栏,Android记事本在菜单栏添加搜索按钮方法

效果图这个app结构和我之前将记事本开发的博客基本一致&#xff0c;我这里直接讲一下怎样添加使用的开发软件为android studio首先在res目录下新建文件夹menu&#xff0c;添加目录布局文件main_menu之后在main_menu中添加如下代码xmlns:app"http://schemas.android.com/ap…

5分钟k线数据 存储_成功率极高的“分时K线战法”:15分钟K线战法+30分钟K线战法...

实战看盘最常用的就是日、周、月等K线图。这些图形对于我们分析个股走势的确帮助很大&#xff0c;然而遇到调整时&#xff0c;就显示了其宏观有余、微观不足的缺点。但假如我们用分时K线图进行微观的观察与分析&#xff0c;就可以找到一些个股在调整中的规律&#xff0c;比如15…

nfc卡模式与标准模式_张家口市环卫进入首都标准“京环模式”

“路上看不见垃圾&#xff0c;垃圾箱更卫生了&#xff0c;路边公共设施齐全了。”喜欢晨练的王先生最近格外喜欢在河边便道上散步&#xff0c;切身感受城市环境面貌改善带来的获得感。而这背后&#xff0c;除了环卫工作者的付出&#xff0c;也见证了张家口市城乡环卫一体化项目…

pyqt 取鼠标处文字_爱剪辑:炫彩的动态标题文字特效,这招让视频片头LOGO更酷炫...

爱剪辑学习委员会提醒您&#xff1a;道路千万条&#xff0c;学习第一条。教程不学会&#xff0c;制作两行泪。今天教大家制作炫彩的动态标题文字特效&#xff0c;3步即可快速学会&#xff0c;让你立马不再流泪。爱剪辑官网下载&#xff1a;http://www.aijianji.com/爱剪辑LOGO效…

android studio 搭建环境,Android studio搭建xposed环境

一、环境准备xposed&#xff1a;https://repo.xposed.info/module/de.robv.android.xposed.installerxposed-api&#xff1a;https://forum.xda-developers.com/xposed/xposed-api-changelog-developer-news-t2714067二、环境搭建Android studio选择->Empty Actvity将api.ja…

强化学习原理与python实现原理pdf_纯Python实现!Facebook发布PyTorch分布式强化学习库...

图灵TOPIA来源&#xff1a;Facebook编译&#xff1a;刘静图灵联邦编辑部出品Facebook于近日发布了PyTorch中用于强化学习(RL)研究的平台&#xff1a;TorchBeast。TorchBeast实现了流行的IMPALA算法的一个版本&#xff0c;用于RL代理的快速、异步、并行训练。另外&#xff0c;To…

鸿蒙开发还可以用安卓,华为鸿蒙2.0可以替代安卓吗,华为鸿蒙2.0优势在哪

在华为开发者大会上&#xff0c;华为消费业务CEO 余承东&#xff0c;正式发布鸿蒙OS2.0&#xff0c;并宣布华为鸿蒙OS将全面启用全场景生态&#xff0c;并将于2020年12月发布手机版。余承东还表示&#xff0c;明年&#xff0c;华为的智能手机将全面升级&#xff0c;以支持鸿蒙操…