文章目录

  • 选择合适的NAS方案
  • FreeNAS简介
  • 服务器选型
  • 存储配置
    • 机械硬盘
    • SSD
    • SD卡
    • 移动硬盘
  • BIOS设置
  • 小结
  • 参考资料

差不多一年前开始折腾家里的 NAS,一直想着把过程和心得记录下来,却迟迟没有动笔。希望接下来能克服惰性,分成几期把 FreeNAS 的使用和配置做一个系统地梳理。现有网上的相关资料也不是很完整,希望能抛砖引玉,给大家有所参考。

选择合适的NAS方案

什么是 NAS 想必就不用我多说了。NAS 全称是 Network Attached Storage,即通过网络来集中存储和访问文件及数据。市面上的家庭存储产品有很多,没有绝对的优劣之分,重要的是根据需求选择最适合自己的方案。

目前的家庭NAS方案大致可分为三类:

  1. 网络硬盘类
    这类产品的定位是入门级 NAS 方案,一般硬盘和设备是一体的,如西数的 My Cloud Home 或希捷的 Personal Cloud。好处是成本低、上手容易。但功能也比较单一,最关键的是单盘系统没有任何冗余,数据得不到保障,用作简单分享没什么问题,不太适合有重要数据的场合。有些智能路由器可自带或外接移动硬盘的,在存储上也属于这一类设计。
  2. 品牌NAS产品
    成品 NAS 相当于由厂商从软件到硬件定制的一套专用 NAS 服务器,一般 NAS 主机是不带硬盘的。像群晖、威联通等厂商的产品线非常完备,从单盘位、双盘位、四盘位到五盘位以上的企业级产品都一应俱全。这类产品的优点是内置的功能非常丰富,特别是像管理照片和移动端集成这些消费级需求。由于是专用系统,也有着不错的稳定性和可靠性。另一方面,四盘位以上的品牌 NAS 价格都不便宜,其软件和硬件上也很难让用户做一些定制和扩展。适合于需求比较明确,容量要求不高,用户希望开箱即用的场合。
  3. 自建NAS存储
    自己 DIY NAS 服务器优势就是拥有最大的灵活性。DIY NAS 系统除了跑存储服务以外,还可以运行一部分用户指定的服务器程序,让 NAS 扩展成一台家庭多功能服务器。虽然利用老旧 PC 的硬件可以最大限度的节省成本,但对于存储来说数据的安全和 7x24 的稳定才是最重要的,所以还是建议采购适合用作NAS 的小型 Server 或准系统。如果是双盘位,很多高级扩展功能也用不上,性价比上也不如品牌双盘位NAS,因此自建 NAS 存储一般建议选择四盘位以上的配置。

我自己的需求是兼顾家庭和工作用途(家里一个老码农和一个学术民工_),容量需求大约15-20TB,可以满足今后几年家庭照片、多媒体内容和工作数据的增长。并且具备一部分像压缩、快照、增量复制这样的高级存储功能,同时还能在 NAS 服务器上运行 GitLab、Syncthing 这样的服务程序。怎么样,有点贪心吧?所以,本文方案的定位是家庭工作存储,也就是比一般消费级家庭存储的需求要略微复杂一些,这也是最能发挥 FreeNAS 长处的地方。当然即使你一开始的需求比较简单,但是你有一颗热爱探(zhe)索(teng)的心,你同样能用这套 DIY 的 NAS 系统来做很多有意思的事情。

FreeNAS简介

FreeNAS 是一款开源免费的专门用于构建 NAS 服务器的专业操作系统。FreeNAS 可以轻松把一台普通的台式电脑变成存储服务器。它基于 FreeBSD 开发,在 BSD License 授权写一下发布,主要运行在 x86-64 架构的计算上。

FreeNAS 采用 ZFS 文件系统存储、管理和保护数据。ZFS 提供了诸如轻量级快照、压缩和重复数据删除等高级功能。可以快速的将数据增量备份到其他设备,带宽占用少,可有效帮助系统从故障中转移。

这里 ZFS 才是真正的黑科技,可以说是最强大的单机文件系统(没有之一)。也是昔日巨头 Sun 公司的一大遗产,可惜生不逢时,在分布式存储兴起的潮流中没能成为企业级市场的主流。如果想要更详细地了解 ZFS,可以参考 FreeNAS 文档。

举例来说,在我们四盘位 NAS 系统上能够发挥 ZFS 的一大优势是组成 RAID-Z。RAID-Z 与通过 RAID 卡实现的 RAID-5 相比,不仅有和 RAID-5 一样的空间利用率,而且数据可靠性、故障恢复能力和读写性能都更好。不过代价是比普通 RAID 系统付出更多的 CPU 和内存资源开销,当然这对于 DIY NAS 服务器的硬件配置来说不会是什么大问题。

服务器选型

虽然理论上,任何标准 x86 系统都可以安装 FeeeNAS 用作 NAS 服务器,但是对于一个稳定高效的家庭工作存储来说,合适的主机平台也是必不可少的。HP ProLiant MicroServer Gen8 就是这类小型服务器方案的首选(现已升级到 Gen10)。

Gen8 有着非常紧凑的体积,面板的大部分面积就是4个3.5寸盘位。最主要的是,它是完全按照服务器标准设计的,这点是 HTPC 和廉价黑群晖比不了的,非常适合放在家里的墙角持续运行。比如:支持带 ECC 校验的内存;可热插拔的盘位;内置 USB 插口或 SD 卡作启动盘;iLO 带外管理等。

Gen8 的官方出厂配置还是显得有些低:CPU 是 G1610T,内存最高4GB。如果要玩转 FreeNAS 和有尽可能多的扩展能力,建议能将配置都升级到最高,最少也要将内存升级到16GB。当然这些我们都不用操心啦,某宝上有许多卖家提供了打包的方案(现在有可能只能买到 Gen10 了),肯定比自己单弄要合算,当然得确保是原厂新机。

最终我从某宝购入的机器配置是:

  • HP ProLiant MicroServer Gen8
  • 200W电源
  • Intel Xeon E3-1265L v2
  • 16GB ECC DDR3

存储配置

机械硬盘

机械硬盘作为 NAS 的主要数据存储,这里选用4块东芝 X300 系列 6TB 7200转 SATA 盘在 FreeNAS 中组成一个 RAID-Z 阵列,裸容量共24TB,可用容量18TB,约15.4TiB。

单盘6TB是目前性价比比较高的配置,选用东芝7200转台式机硬盘而不是低转速的 NAS 专用盘,一方面是对该存储也有一定的性能要求,另一方面一些额外的数据保护设计也完全可以通过 ZFS 冗余和软件能力替代。

SSD

SSD 对于 FreeNAS 来说并不是必须的,不过手上正好有一块升级换下来的三星 850 EVO 250GB 固态硬盘,可以装在 Gen8 的光驱位用来给 FeeeNAS 作交换分区、ZIL 缓存和虚机镜像文件,对系统起到性能优化的作用。

ZIL 是 ZFS 中的写缓存,将 ZIL 放在 SSD 上对随机读写性能有显著提升。虽然 FreeNAS 官方建议要将 ZIL 设备放在高速和高耐久性设备上,而不是像 850 EVO 这样的 TLC 芯片的 SSD。不过考虑到家庭环境下 NAS 的负载本来就不大,再加上 850 EVO 的写入寿命已经不错,还有 SLC 缓存的优化作用,充分利用 850 EVO 来做加速是不成问题的。

原本 850 EVO 上剩余的空间大小是比较适用作 L2ARC,也就是 ZFS 的读缓存的。不过 L2ARC 对内存的开销过大,除非有64GB以上的内存,才可能考虑启用。

SD卡

安装 FreeNAS 需要有一个独立的启动盘。Gen8 有一个内置 USB 口和 Micro SD 读卡器,用一个优盘或者 MicroSD 卡作为 FreeNAS 的启动盘都是可以的。不过实际试验下来,SD 卡的工作可靠性总体要更好些。这里选用三星 EVO Plus 64GB,读写分别可达100MB/s和60MB/s。

移动硬盘

除了 RAID-Z 提供的冗余能力外,我还希望通过 ZFS 的增量复制能力,对重要数据定期做一个冷备份。所以另外增加了一块希捷 Backup Plus 5TB USB3.0 移动硬盘接到 Gen8 背面的 USB 端口,确保在紧急情况下,能从单块磁盘中恢复重要数据,使得数据更加“万无一失”。

BIOS设置

在首次开机后,先按F9进入 BIOS 设置菜单,按以下菜单路径禁用板载 RAID 而启用 SATA AHCI 模式:System Options -> SATA Controller Options -> Embedded SATA Configuration -> Enable SATA AHCI Support。并且确保不再改动此设置,否则会引起数据丢失!

接下来通过 GParted 启动盘引导系统,并将4块 HDD 和1块 SSD 的分区初始化为 GPT 格式,将 SD 卡的分区初始化为 MBR 格式。这样可确保 FreeNAS 系统和引导记录能正确安装在 SD 卡上。

小结

通过自建 NAS 服务器的方式来搭建家庭工作存储的优势在于灵活性和可扩展性。

本方案基于 FreeNAS 开源 NAS 操作系统,选用 HP ProLiant MicroServer Gen8 为服务器主机,FreeNAS 系统安装在 Gen8 内置的 MicroSD 卡上,通过4块东芝 X300 系列 6TB硬盘组成 RAID-Z 阵列,并在一块三星 850 EVO 250GB SSD 上开启 ZIL 缓存加速,另附加一块5TB的移动硬盘用作数据备份。

下一篇将会介绍 FreeNAS 的安装和配置。

参考资料

  1. ZFS Performance on HP Proliant Microserver Gen8 G1610T
  2. HP Microserver Gen8 – Install FreeNAS on SSD Drive remotely
  3. HP MICROSERVER GEN8 FREENAS TIPS AND TRICKS
  4. 开启HP MicroServer Gen8之旅
  5. Gen8搭建虚拟化及NAS的最佳实践方案
  6. HP MicroServer Gen8开箱评测
  7. FreeNAS 介绍
  8. 玩转 FreeNAS 你需要了解 ZFS 文件系统
  9. ZFS 高速缓存:L2ARC 和 ZIL

FreeNAS家庭工作存储搭建指南(一)——硬件篇相关推荐

  1. FreeNAS家庭工作存储搭建指南(二)——安装和配置

    文章目录 系统安装 初始设置 控制台菜单 基本设置 管理存储 创建存储池 SSD分区 启用ZIL缓存 小结 参考资料 这一篇里我们会说明如何安装一个基本的 FreeNAS 系统,并结合管理界面和命令行 ...

  2. 家庭云存储搭建之一:软硬件的选择

    过年闲来无事,看电影下载高清片源非常费时,并且家里的电视解码有点问题,所以就找解决方案.先后看了htpc和nas的解决方案,感觉都有点费时费力费钱,了解到可以建立家庭云存储,并且可以远程下载影片,需要 ...

  3. 我的世界网易手服务器文件夹,Minecraft服务端新手搭建指南(Linux篇)

    运行完成,生成世界 这一次运行完以后,服务端就已经运行起来了,不过非正版客户端登陆是有问题的(我说的正版是微软正版),因为服务器默认启用了线上认证,所以还是要停止一下服务,然后修改server.pro ...

  4. 商业级4G代理搭建指南【搭建篇之Docker版】

    时间过得真快,距离这个系列的上一篇文章<商业级4G代理搭建指南[准备篇]>发布的时间已经过了两个星期了,上个星期由于各种琐事缠身,周二开始就没空写文章了,所以就咕咕咕了. 那么在准备篇中, ...

  5. 小白的proxmox ve(pve)打造AIO(all in boom)折腾日记 (一)硬件篇(硬件选择)

    一直想要一台属于自己的nas,最近在公司能够攒点闲钱,于是就开始了第一次玩软路由,第二次玩nas(前些天在电脑装了nas虚拟机),第一次玩pve系统,第一次装机的小白的proxmax ve(pve)打 ...

  6. 《网络安全测试实验室搭建指南》—第1章1.2节硬件要求

    本节书摘来自异步社区<网络安全测试实验室搭建指南>一书中的第1章1.2节硬件要求,作者[美]Michael Gregg(迈克尔 格雷格),更多章节内容可以访问云栖社区"异步社区& ...

  7. 《树莓派4B家庭服务器搭建指南》第九期:用树莓派低成本给热心老哥搭个窝,在树莓派建立BBS论坛flarum并映射到公网全攻略...

    前段时间我出过一个 给热心老哥搭个窝,2021年30分钟用Discourse搭建新一代BBS论坛站全攻略 https://v2fy.com/p/2021-06-12-discourse-2021-16 ...

  8. 【转载】拿来即用的企业级安全运维体系搭建指南

    拿来即用的企业级安全运维体系搭建指南 本文我们将针对如何解决问题来进行详细说明,从问题入手,通过纠正或者培养良好的运维安全习惯,搭建完整的运维安全技术体系. 作者:林伟壕来源:DBAplus社群| 本 ...

  9. 玩转AIDS第一步:个人计算设备搭建指南

    深度学习是人工智能必不可少的一部分.而在硬件配置上,大家都在谈论GPU的重要性.不可置否,GPU是掀起深度学习热潮的主要力量,也是开展该领域工作所必不可少的硬件设备. 不幸的是,人们往往把CPU.RA ...

最新文章

  1. linux运行隐藏文件,Linux下如何隐藏文件_网站服务器运行维护,Linux,隐藏文件
  2. 集群服务器状态命令------rs.status()各个字段的含义
  3. QT中使用QSettings保存应用程序配置信息
  4. php引入类的位置,php如何在一个类中引入另外一个类
  5. 我为什么觉得数据产品经理更吃香了?
  6. 几种HtmlEncode的区别(转)
  7. php写接口多页面,PHP开发很火的随机毒鸡汤网页和API接口
  8. html.parser python_python模块之HTMLParser
  9. ubuntu14.04部署kickstart
  10. 2个技巧让Mac常用文件夹在Finder打开更便捷
  11. Weblogic下载安装以及部署
  12. itext 生成pdf、pdf模板生成pdf
  13. Python大数据分析系列
  14. 【正本清源】算力大战根本就从未开始过!BCH分叉事件之技术细节七问
  15. 系统管理服务器名,服务器管理系统排名
  16. cutoff shader
  17. BACnet/IP之BACnet4j学习java代码例子属性读写同网段跨主机02
  18. apache ii评分怎么评_APACHEII评分说明
  19. java 拨打电话_快速拨打电话号码
  20. vue3代码检查以及格式化配置

热门文章

  1. win10没有默认的邮件客户端
  2. 四门轿跑 标致发布Exalt概念车设计图
  3. ERROR: Encountered errors while bringing up the project.
  4. 计算机应用程序2015答案,计算机应用技术复习资料(含答案)2015.doc
  5. aav-php,脑洞大开:新型 AAV 帮您实现一步跨越血脑屏障
  6. 计算机网络8 互联网上的音视频服务
  7. 计算机浏览页面,计算机默认网页浏览器怎么设置
  8. Linux Fair Queue Packet Scheduler (FQ)公平队列报文调度器
  9. C++设计模式之工厂模式(创建型模式)
  10. 打印20以内的素数c语言,c语言编程输出2~100之间的所有素数(每行输出10个),并将它们打印出来....