Incubator4

Incubator4

github
steam
nintendo switch

NAS运维 #0 构建一个高可用的系统级 ZFS NAS

前言#

由于之前用的 NAS 是 4 盘位的 raid 6 方案,四块 4TB 的红盘,总容量只有一半,在我存储了大量影音和备份数据之后不够用了,所以今年开始考虑做一个更大的 NAS

配置#

  • 主板:从仓库里翻出来的微星 B450 Motar Matx
  • CPU:连带着主板上的 AMD Ryzen5 3600,对于 NAS 来说完全够用
  • 内存:不用的旧电脑拆下来的 16G*2
  • 机箱:射手座 8 盘位 Matx 机箱,选购了风扇和电源套装
  • 系统盘:西部数据 SN730 * 2, ZFS Mirror
  • 存储盘:西部数据 HC320 10TB SMR 垂直盘

架构#

考虑的方案有 Openmediavault 和 TrueNAS, 很看重 TrueNAS 的 ZFS 系统盘的方案,但是 core 版本使用虚拟机, scale 使用单机的 kubernetes 并且对接了 zfs local pv 的方案,虽然能够使用和 debug,但是组件太复杂了。

因此决定使用 Openmediavault + OpenZFS 的方案,继续使用 ZFS 是因为,之前用的也是这套方案,有一个盘出过问题,清了错误不管用之后直接热插拔换盘,等了两天之后就好了,期间也不影响数据读写

8 盘位数据采用 RAID-Z2, 两块校验盘的方案,可用率达到 75%。

系统盘采用 ZFS Mirror,纯镜像。

系统安装#

主要参考 Root On ZFS的方案,可以在系统级别使用 ZFS 高可用。

有几个点需要注意

  1. disk 需要使用 By-ID 的方案,因为仅比起 /dev/sda 这样的方案有唯一且不会变化的地址,并且自带 -partX 的后缀可以对应到相应分区
  2. 官方的文档里面都是单盘的,我是采用 Mirror 的方案,所以需要相应的对 create pool 命令进行修改 (我想应该不会有人在系统盘上做 raid-5 或以上这种吃力不讨好的方案吧)
  3. 由于 boot efi 不能也不需要做 ZFS Mirror,只需要安装一个,并且后期通过 dd 命令复制即可

然后可以通过 Openmediavault 的官方文档 Install on Debian安装 Openmediavault (后文简称 OMV)

OMV 的优点就是,系统自带的 NFS 还有 Samba/CIFS 方案对挂载已经很友好了,并且还能装一些插件支持 timemache。

至于 Docker, 安装的已经是 Debian 了,只要挂载相应的目录即可

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。