欢迎光临散文网 会员登陆 & 注册

就随手记录下自己的NAS用了些什么东西吧

2023-04-03 07:38 作者:hr3lxphr6j  | 我要投稿

0x00:硬件

  • Dell R730xd

  • Seagate Exos 12T x8,仓库盘

  • Intel S3500 1.2T,系统盘

  • ps4上拆下来的2.5寸500g机械,挂下载用的炮灰(

  • 老电脑上拆下来的3T和5T盘,型号懒得看了

  • Intel x550,双万兆电口网卡


0x01:系统

直接Archlinux,不搞什么ESXI、PVE,只玩真实(

0x02:文件系统

LVM + Luks + Btrfs

拓扑如下,主要有三个分区(1.2T的root,3T+5T用LVM拼起来的一个8T,500G的下载炮灰)。

所有的文件系统(除EFI分区)均使用luks加密,密钥存储在一个U盘上。system-boot在启动时会自动从该U盘中读取密钥并解密root文件系统,之后再根据/etc/crypttab中的内容解密其他分区,保障数据安全。

 ZFS:


主要的数据存放处,8块12T希捷企业盘组成的RaidZ2阵列,开启ZFS自带的加密功能功能。key文件索性就放root分区下了,反正root分区也是加密过的。

zrepl:



用来定时对zfs阵列创建快照,并按照规则清理快照。

0x03: 文件分享

Samba:

这没啥好说的,给家里所有设备提供文件访问服务的,顺便开启了Time Machine功能给Mac用。

iSCSI:

前段用的targetcli,后段用内核提供的LIO,在zfs阵列上划一个4T子卷用来给win装Steam游戏库的。一些使用反作弊的游戏(比如彩虹六号围攻,apex)在把游戏文件放在samba上会报错无法启动,iscsi则没有任何问题。

0x04:其他服务

以下服务均在容器中部署

Traefik:

服务网关,所有流量的入口,部署在容器中并开启基于docker的服务发现,这样其他部署在docker中的服务不需要每个都占用一个宿主机的端口,只由traefik绑定80和443即可。

Portainer:

方便管理容器的,喜闻乐见没啥可说的

Prometheus + Grafana:

提供监控和展示的,告警我懒得配所以没装Alertmanager,我主要使用的板子包括

  • Node Exporter Full:节点监控,由prometheus node exporter提供。

  • Node - ZFS Status:ZFS监控,可以看到缓存大小、命中率等信息,由prometheus node exporter提供

  • S.M.A.R.T Dashboard:硬盘信息监控,实现看这个repo(https://github.com/micha37-martins/S.M.A.R.T-disk-monitoring-for-Prometheus)

  • v2ray dashboard:网关的流量情况,你懂的,实现看这个repo(https://github.com/wi1dcard/v2ray-exporter)

Filebrowser:

基于web的文件管理和对外分享(tls由traefik提供)

Aria2 + AriaNG:

http + bt文件下载,我只用来下http的东西,bt用下面的transmission

Transmission:

bt和pt下载

Syncthing:

多设备文件同步(虽说我只用来备份狒狒14的游戏设置

Bililive-go:

自己写的录直播的小玩具


0x05:其他

tbd

就随手记录下自己的NAS用了些什么东西吧的评论 (共 条)

分享到微博请遵守国家法律