Jump to content

放弃unraid的校验盘,又能保证数据安全


Go to solution Solved by sinopi,

Recommended Posts

几天用下来,校验盘无休止的校验,拖慢整个系统效能,还增加了功耗,有点难受。

 

我想问在unraid下部署 freenas dsm TrueNAS OMV一类的NAS系统,然后把硬盘全部直通过去,再那边重新建立Raid。

 

是否可行,有什么负面影响?比如网速下降等。

 

还有个问题一直困扰我,unraid的文件系统我理解是一块一块硬盘的用,那么硬盘的读写速度大多是根据当前这一块硬盘来决定的吗?

 

暂时不考虑缓存盘的情况下,这样效能是不是比不上raid5 这种阵列形式?好处是能耗较低?不是阵列中所有硬盘一起工作?

Link to comment
58 minutes ago, sinopi said:

几天用下来,校验盘无休止的校验,拖慢整个系统效能,还增加了功耗,有点难受。

校验盘基本上完成一次完整的校验之后,只需要定期校验就行。不过日常往阵列里面写入数据,由于校验盘的原因是会影响写入速度,你可以将硬盘设置中的 md_write_method 修改为“重建写入(reconstruct write)”来缓解这一问题。另一个方式是借助缓存池来实现读写加速(参考:阵列与缓存池有什么区别)。

 

Quote

我想问在unraid下部署 freenas dsm TrueNAS OMV一类的NAS系统,然后把硬盘全部直通过去,再那边重新建立Raid。

 

是否可行,有什么负面影响?比如网速下降等。

可行,我之前帮别人在 unraid 上搭建过 TrueNAS,直通了 SATA 控制器和网卡,日常文件的管理都在 TrueNAS 上。负面影响算不上,只能说这种用法会有一些缺点,比如说你想在 unraid 上读取 TrueNAS 的文件得借助 NFS 或者 SMB 挂载 TrueNAS 上的文件(且要在两个系统里处理好各种文件权限问题),但是这种用法不是很稳定,尤其是你需要将 TrueNAS 的这些文件给到 unraid 上的一些应用读取时;另外重启 unraid 也还得重新挂载这些共享(虽然可以借助脚本,但也终归不是很便捷),因为 TrueNAS 是虚拟机,unraid 启动好了之后 TrueNAS 还未启动完成,此时还需要等待虚拟机启动好之后才能挂载,总之用起来多多少少还是有一些不便(包括后来我给这位搭建了 TrueNAS 的朋友也希望直接在 unraid 上使用 zfs)。

 

不过硬盘读写速度、网络传输速度这些也还好,基本不会有太大的性能损失。

 

Unraid 6.12 版本支持了 ZFS 文件系统,所以我觉得如果不是先前用习惯了 TrueNAS,那么在 Unraid 上组 ZFS 阵列也挺好。

 

Quote

还有个问题一直困扰我,unraid的文件系统我理解是一块一块硬盘的用,那么硬盘的读写速度大多是根据当前这一块硬盘来决定的吗?

是。因为 unraid 的阵列里面是组不了 raid 阵列的,因此阵列里面的读写速度就等于单盘最大的读写速度(如果有校验盘的话会影响实际的读写)。

 

Quote

暂时不考虑缓存盘的情况下,这样效能是不是比不上raid5 这种阵列形式?好处是能耗较低?不是阵列中所有硬盘一起工作?

你指的效能是什么?是电耗还是说读写效率?

 

如果是电耗,那么阵列里的硬盘是可以休眠的,raid 模式的话就没办法让某个盘休眠,因为所有 raid 阵列里的盘都得参与读写工作。

 

如果你指的是效率,那读写性能和效率自然是比不上 raid 模式了。但是 unraid 系统优秀的地方在于它提供给你很大的拓展空间,接比如阵列组不了 raid,但是你可以借助缓存池实现 zfs 或者 raid 阵列,从而避免阵列的一些问题(比如因 SHFS 导致的 I/O 问题,具体可参考这里:为什么unRAID下载/拷贝文件时CPU占用高:详解FUSE-SHFS、I/O问题和解决办法)。

 

 

Edited by JackieWu
  • Thanks 1
Link to comment
  • Solution
4 hours ago, JackieWu said:

校验盘基本上完成一次完整的校验之后,只需要定期校验就行。不过日常往阵列里面写入数据,由于校验盘的原因是会影响写入速度,你可以将硬盘设置中的 md_write_method 修改为“重建写入(reconstruct write)”来缓解这一问题。另一个方式是借助缓存池来实现读写加速(参考:阵列与缓存池有什么区别)。

 

可行,我之前帮别人在 unraid 上搭建过 TrueNAS,直通了 SATA 控制器和网卡,日常文件的管理都在 TrueNAS 上。负面影响算不上,只能说这种用法会有一些缺点,比如说你想在 unraid 上读取 TrueNAS 的文件得借助 NFS 或者 SMB 挂载 TrueNAS 上的文件(且要在两个系统里处理好各种文件权限问题),但是这种用法不是很稳定,尤其是你需要将 ..................................

 

 

 

多谢如此详细无私的解答,很是感动,这种感觉也是久违了的互联网精神,并且去了您的blog好好研读了一番,重新理清思路准备如下部署,您看看有什么问题么?

 

其实对DSM的依赖并不是很大,主要的需求基本满足,方便搭建使用各种VM,Docker,基于SMB的共享使用(没有万兆视频素材编辑调用需求),存储安全资料,EMBY。

 

目前的配置  i3 12100   B670itx   32Gram     Intel 520x D1 万兆双口光网卡  板载2块2.5G 螃蟹卡  2片M.2  1T 三星pm9a1    5块 希捷银河16T    乔思伯N2  

 

部署思路:

 

1片m2 做缓存池   

1片m2 给docker和VM使用(阵列)

2块16T  做池 zfs 格式 镜像模式 用于存储照片等安全数据

3块16T  分别单独挂载为存储空间 装载电影音乐等(阵列)

 

不在使用校验机制,请问上述这个思路有什么问题吗?(不考虑电影 音乐等文件的安全性)

 

另外,我在测试中发现,我在M.2固态硬盘上建立共享文件夹,cp速度也只有100Mb-200Mb,用Iperf3测试 正向平均5G左右  反向能到10G。

看您的blog  分别在bios关闭了各种节能模式 开启了4G   SMB设置中也多通道等。另外还更换过Mellanox 的万兆光卡,也都是同样的问题。

不知是内核的问题还是有什么其他特别需要修改的地方。

QQ图片20230901011941.png

QQ图片20230901011949.png

QQ图片20230901011954.png

Edited by sinopi
Link to comment
13 hours ago, sinopi said:

部署思路:

 

1片m2 做缓存池   

1片m2 给docker和VM使用(阵列)

2块16T  做池 zfs 格式 镜像模式 用于存储照片等安全数据

3块16T  分别单独挂载为存储空间 装载电影音乐等(阵列)

 

不在使用校验机制,请问上述这个思路有什么问题吗?(不考虑电影 音乐等文件的安全性)

没什么问题,适合自己用就行。建议的话,可以考虑将缓存池的系统格式都使用 zfs(如果你用的是 6.12 版本的话),可以利用上 zfs 的一些包括压缩、ROW、快照等特性。

 

 

13 hours ago, sinopi said:

另外,我在测试中发现,我在M.2固态硬盘上建立共享文件夹,cp速度也只有100Mb-200Mb,用Iperf3测试 正向平均5G左右  反向能到10G。

看您的blog  分别在bios关闭了各种节能模式 开启了4G   SMB设置中也多通道等。另外还更换过Mellanox 的万兆光卡,也都是同样的问题。

不知是内核的问题还是有什么其他特别需要修改的地方。

万兆网速不达标影响的因素有很多(一般来说跟 Unraid 系统内核关系不大),我建议你再根据我博客的文章去尝试一遍。如果说有什么不好注意到的点的话,那就是杀毒软件会直接影响万兆的速度,因为包括火绒在内的这一类杀毒软件基本都会在系统上安装网络嗅探工具,这会导致万兆速度异常,因此建议你卸载并重启系统之后再测试一下。我看你的 iperf3 测试中加上 -R 参数测出来的速度是正常的(-R 即下行速度,不加 -R 即上行速度),那说明起码物理链路上没问题,所以你可以重点去观察下系统或者软件层面的配置,尝试调整不同的参数来进行测试。

Edited by JackieWu
Link to comment
  • 2 weeks later...
On 8/31/2023 at 8:36 PM, JackieWu said:

校验盘基本上完成一次完整的校验之后,只需要定期校验就行。不过日常往阵列里面写入数据,由于校验盘的原因是会影响写入速度,你可以将硬盘设置中的 md_write_method 修改为“重建写入(reconstruct write)”来缓解这一问题。另一个方式是借助缓存池来实现读写加速(参考:阵列与缓存池有什么区别)。

 

可行,我之前帮别人在 unraid 上搭建过 TrueNAS,直通了 SATA 控制器和网卡,日常文件的管理都在 TrueNAS 上。负面影响算不上,只能说这种用法会有一些缺点,比如说你想在 unraid 上读取 TrueNAS 的文件得借助 NFS 或者 SMB 挂载 TrueNAS 上的文件(且要在两个系统里处理好各种文件权限问题),但是这种用法不是很稳定,尤其是你需要将 TrueNAS 的这些文件给到 unraid 上的一些应用读取时;另外重启 unraid 也还得重新挂载这些共享(虽然可以借助脚本,但也终归不是很便捷),因为 TrueNAS 是虚拟机,unraid 启动好了之后 TrueNAS 还未启动完成,此时还需要等待虚拟机启动好之后才能挂载,总之用起来多多少少还是有一些不便(包括后来我给这位搭建了 TrueNAS 的朋友也希望直接在 unraid 上使用 zfs)。

 

不过硬盘读写速度、网络传输速度这些也还好,基本不会有太大的性能损失。

 

Unraid 6.12 版本支持了 ZFS 文件系统,所以我觉得如果不是先前用习惯了 TrueNAS,那么在 Unraid 上组 ZFS 阵列也挺好。

 

是。因为 unraid 的阵列里面是组不了 raid 阵列的,因此阵列里面的读写速度就等于单盘最大的读写速度(如果有校验盘的话会影响实际的读写)。

 

你指的效能是什么?是电耗还是说读写效率?

 

如果是电耗,那么阵列里的硬盘是可以休眠的,raid 模式的话就没办法让某个盘休眠,因为所有 raid 阵列里的盘都得参与读写工作。

 

如果你指的是效率,那读写性能和效率自然是比不上 raid 模式了。但是 unraid 系统优秀的地方在于它提供给你很大的拓展空间,接比如阵列组不了 raid,但是你可以借助缓存池实现 zfs 或者 raid 阵列,从而避免阵列的一些问题(比如因 SHFS 导致的 I/O 问题,具体可参考这里:为什么unRAID下载/拷贝文件时CPU占用高:详解FUSE-SHFS、I/O问题和解决办法)。

 

 

ZFS主要扩容比较麻烦,一开始要计划好容量, unraid的校验盘机制付出性能的代价换来的是灵活性。

Link to comment
  • 2 weeks later...
12小时前,LPC表示:

我没明白,unraid名字就是不做raid,再做zfs这不又成了raid吗?

虽说以前不支持zfs的时候我干过用阵列卡做raid6,再让unraid使用raid6 vdisk。

手动滑稽

我觉得这样也挺好的,可玩性更高了,现在我把原来的缓存做了阵列,硬盘组成zfs池了

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...