FreeNAS相关资料

2020-08 from–https://zhuanlan.zhihu.com/p/57167494

2019-10 from–https://zhuanlan.zhihu.com/p/62933164

  • 遇事不决,重启大法。UI里的各种设置(MTU,DNS)不是即时生效的,要重启!

安装系统

  • 设想是根据建议用2个16G Sandisk做freenas-boot盘,这样坏了1个启动盘也有另一个备上。最后也是这么操作的,但是中间有点曲折:
    • 一开始用了个远古64G ssd,心想可以把ssd的配置克隆到u盘当boot,结果发现我想多了;
    • U盘一开始拿了个金士顿32G 3.0的写HDD 做启动盘,结果死活认不出。网上说是ultraiso不行,要换rufus,选dd模式;
      • 说到rufus,FreeNAS-11.1-U7的ISO写入的时候是有弹出dd模式给选的,然而11.2没有。慎重起见最后装的是11.1版本,以后有空再升级好了;
      • 更新:rufus版本问题:rufus早期版本2.9.934导入iso后直接是“DD镜像”,这个版本的rufus实测可以直接写入最新版本的FreeNAS-11.3-U4.1。而3.x版本后却没有dd模式可选
    • 然后试了好久还是不行,又找了个远古4G不知名的2.0 U盘,居然就成功了,Sandisk也是2.0的,估计跟H67主板原生不支持3.0有关系。远古大坑;
    • 由于中间2个Sandisk都做过启动盘失败,然后由于写入MBR模式,出现好几个隐藏盘、未知盘;解决方法是在不导入iso文件的情况下,在ultraiso里用hdd 空写一遍,才能变回正常U盘;
    • 由于不明原因,4G的U盘虽然能够正常boot,但进去Install界面点不了Install。结果发现要插2个Sandisk的时候就可以,反正可以过这bug就没管了。但复选2个Sandisk有一个failed,只能选一个,安装完成后再做raid1;
    • 做完做raid1,重启,有个告警提示没注意,重启没起来。原来是UI界面显示了raid1成功,2个U盘都online,但其实还没同步完,我日他大爷;
    • 参考了一哥们在命令行下一阵捣鼓未果。从头再来,慢慢等同步完,大功告成!

万兆网卡

  • 万能的宝一家5钻店下了2个万兆网卡,一条线 2个模块,居然一次点亮。只是一开始传输速度不给力。后来参考了Jumbo Frame设置。万兆网卡的Jumbo MTU:
    • 在Windows侧网卡设置Jumbo Frame项填9014;
    • 在FreeNAS侧Interface下对应的网卡Option项设置mtu 9000
    • 应该是Windows设置里计算了L2的包头,FreeNAS那边没算,产生的偏差。也可以用iperf测一下速度,Windows这里MTU改9000、9014、9028都测一下,选速度最大的那个MTU项;
    • 别在FreeNAS那边改,网卡的MTU配置不重启不生效!

存储设置

  • 做存储的时候:
    • 卷的压缩就别开了,实测导了5T文件过去,开了默认的lz4情况下,顶多1.01x压缩率;
    • 关了还能提升小文件传输速度;
    • 说到写小文件是真的蠢,才10几KB/s,100GB要写一天;
      • 结果发现更蠢的是用everything监控了share的盘,勾了实时监控文件变化。关掉everything以后能100KB/s-10MB/s了;
    • raidz是不能新增一块硬盘扩容的,3个盘的raidz不能升级成4个盘的raidz,更不用说4个盘的raidz2,只能把数据拷贝出去,拆raidz,再组新raidz/z2;
    • 这个沙雕特性据说17年就fix了,等下一版就可以加硬盘扩容。一等等到19年了。

总结:如果不是硬件选型、软件版本都跟着别人的成功经验走,FreeNAS这东西真的是坑多慎入。

网卡过热导致死机

近来freenas总是死机,由于之前更新过扩展卡,一直在怀疑是扩展卡问题,但结果似乎并非如此。

  • 万能的宝买的10G网卡过热或其他未知bug,导致freenas死机。10G网卡由于是被动散热,最近这天气开了空调都热得直接烫手。拔了这张网卡后,稳定运行至今。
  • 由于10G网卡都是被动散热的,估计就算再买一块也是会过热。过两天加个风扇再试试。。。

 

ZFS的历史

ZFS是一个文件系统,最初由SUN开发并应用在Solaris上。之后SUN开源OpenSolaris,由于OpenSolaris的许可证比较宽松,随之很多公司将ZFS的代码进行移植。那么目前移植了ZFS并发展比较好的非Solaris类系统有

  1. FreeBSD 已经整合入Base系统
  2. Linux 许可证原因无法直接整合,只能额外的软件包(ZOL, ZFS On Linux)支持

ZFS面世到现在已经快15年了,不过主流桌面系统并没有ZFS的身影,导致知名度并不高。另外Linux支持ZFS存在一些问题,所以服务器领域中使用ZFS的也并不多。但是对于存储来说,很多有名的产品都是基于ZFS的,比如TrueNAS, FreeNAS(也被iXsystem收购)。遗憾的是这些产品并不面向广大消费领域,所以大家也可能听得很少。

ZFS的优点

ZFS到底有哪些优点呢?

介绍ZFS的资料很多,随便找一下,比如下面介绍的

What is ZFS? Why People Use ZFS? [Explained for Beginners]​itsfoss.com

  • Pooled storage 基于存储池的管理
  • Copy-on-write COW,写时拷贝,而不是直接改写
  • Snapshots 支持快照,这个我之前的内容中提到过
  • Data integrity verification and automatic repair 数据完整性校验,可以通过scrub来检查数据完整性,相当于可以定期对数据进行全身检查
  • RAID-Z 类似于RAID5,但是支持三个级别,RAID-Z1, RAID-Z2, RAIDZ3
  • Maximum 16 Exabyte file size 文件大小几乎无限制
  • Maximum 256 Quadrillion Zettabytes storage 存储池大小几乎无限制

除此之外,还有一些我很喜欢的功能

  • clone,可以对dataset进行clone,对于运行虚拟机的系统来说简直是神器
  • send/recv,可以对dataset进行备份压缩,传输。颠覆传统的备份恢复模式
  • dedup,可以对数据进行去重,但是家用数据重复率应该不高
  • compress,zfs支持lz4这个解压缩超快的压缩算法,实时压缩数据而不会损失太多性能
  • l2arc,ZFS的设计者非常有远见,预见到分层存储的必要性,可以使用SSD缓存热数据,让常用的数据可以缓存在SSD上提升性能。(可以预见未来5年后将是 RAM-Optane-SSD的存储模式,抛弃传统HDD)

如何使用ZFS?

说了那么多,具体应用时就需要实际的软件。能用到ZFS的方法有如下几种,各位看自己的能力进行选择

  1. 一体的NAS系统,免费的FreeNAS比较有名,TrueNAS收费,NexentaStor等
  2. 使用支持ZFS的OS,比如FreeBSD, Solaris及变种,Linux (ZOL)

那么,我们之后要提到的NAS系统就使用ZFS作为存储。ZFS的概念和传统的存储有着很大的不同,大家多阅读一些文档,你就会发现原来ZFS存储这么NB.

在上图的ZFS与其它FS的对比中,ZFS拥有很多其它FS没有的特性,类似于将RAID硬件卡的功能都整合进来了。

你可以会说,这些特性我用不到啊。相信我,ZFS的这些新特性并不是你用不到,而是你的思想没有跳出传统存储的限制。一旦你接受ZFS之后,你再也不想使用其他FS来管理你的数据了

PS: 刚才用同学说不要只提ZFS的好处,也要看待ZFS的不足。比如RAID Level不能随意切换,RAID Z1无法简单变成RAID Z2 Z3等等。

的确,ZFS设计者最初应该是没有想到会有这种需求,而没有留下简单的实现方式。导致现在还是无法实现这个需求。但是,我想说,现实中,你买了一套三室一厅的房子,你住了之后觉得不够用,想变成4室一厅,面积不变。你觉得你应该怎么做?

如果你有上面这个需求,并且无法找到硬件来满足你的需求,那么我只能说做事情之前要三思,另外请努力挣钱吧。

上一篇
下一篇