1. 首页
  2. 科技数码

嘿群辉 篇三:简单看下我的群晖配置

#1. 前奏

说来惭愧,很早一直打算架设自己的服务器,从蜗牛星际开始才拥有自己真正意义上的nas服务器,主要一直没有合适的机箱和装机配置(穷)。直到蜗牛星际的出现,直接入手D款全套,另外买了一个益衡的电源外加两个8T亚马逊的mybook。安装ds918+ 6.2版本的系统。

后来j1900性能较弱,购买了大家耳熟能详的华擎j3455、8G内存,外加一个b款机箱(50包邮)。因为918系统开关机不稳定,更换了3617xs 6.1.7系统,系统比较稳定。但有两个致命伤:

1. 不支持websocket代理。【估计大家不知道干啥用的,后续文章有相关内容,敬请期待】

2. 不支持苹果heic格式照片文件。

这俩伤,痛了很久,一直想升级9代或10代的i3或i5 带t的低功耗cpu,换成6.2的系统。同时因为家里没有windows电脑,顺便加个win10精简版的虚拟机,满足一定的小需求。 后面感觉i3或者i5性能过剩,外加尝试了几个3455的918+的引导,找到一个6.2.3的版本,还算稳定。 关机速度快,开机最快3分钟,目前稳定开机5分钟左右,能忍,我一般也不关机。

#2. 硬件配置

华擎j3455 + 协德 8G + 240G ssd + 8T * 4 硬盘

入手的是2个8T的mybook 氦气盘,我直接组的raid1,空间利用率只有一半。 后面存储了一堆照片外加一堆电影, 还有一些自己工作的资料。8T的空间很快就要满了。我跟老婆商量了一下:你看儿子照片太多,好么她比我还着急,抓紧又入手两个二手希捷企业银河,卖家jd入手1年左右,有发票,并且序列号官网查询正常和发票上的序号也能对上。双11额外增加了一块240G的ssd。目前的状态是 240G ssd, 四块 8T组了两个raid1。使用乐扩wifi的m2接口转2口sata,无驱支持黑群晖。

简单看下我的群晖配置

ssd放入了群晖1号硬盘位,存储的套件和web station的内容。群晖启动有个规律,它从1号盘开始启动,没有一号就用二号硬盘。所以放到一号盘其实就相当于启动盘。

另外两个raid1,每个raid1各有一个西数和希捷。大部分人喜欢raid5,看似对容量和安全各有一定的好处。其实不然,因为大家都是软raid(系统支持的raid,硬raid不做评价,因为没用过),如果出现丢盘比如sata线损坏等问题,等价整个raid损坏。需要重新将这个盘恢复回来,恢复raid哪怕你只存储了很少的数据,恢复速度也是很慢的,它可不是你想象的拷贝下那点数据的事。raid5还进行了奇偶校验的计算,恢复速度估计比raid1还要慢。我恢复一次8T的raid1需要大半天时间,如果后续硬盘都处在崩溃边缘,可以想想它能恢复回来么。

在商业生产环境中,不考虑底层的raid,上层数据一般要存储三份,而且在不同的物理机器上。所以如果对数据安全比较高,直接组raid1最为省心。也有人喜欢冷备份,大家看各自需求。

#3. 套件

群晖套件我用的相对较少,能用docker的尽量用docker。套件安装:

简单看下我的群晖配置

前几个系统默认安装的,也没删除。其中有个git server,其实是git client。

我对电影需求不是很强烈,video station基本满足了,pt最近玩的也少。下载了很多小时候看的动画片,可惜目前孩子们对我们那个时代的动画并不太感冒。

#4. docker

docker有个好处,所有docker需要存储的数据,我都通过磁盘映射,映射到群晖系统存储中。即使docker重装,只要配置不变,数据完全不受影响。可以参考我之前的文章《群辉docker迁移磁盘》

另外docker我使用的是固定ip的方式(《docker固定ip,抛弃端口映射吧》)。

1. gitlab 我基本用来存放代码,或者开源代码。安装gitlab需要postgresql和reids这俩套件,顺便安装了mysql

2. pgadmin4 这些套件专业性强,之前文章也有讲过,可以翻看。

3. code-server,这个是用来做开发的,在web端的开发工具。其实没咋用过,但不能没有。一般我都ssh上去直接vim了。

4. outline 这个是我认为目前最好的笔记软件,支持markdown 没有markdown不考虑,其他wiz等笔记都试过,没这个好用,不过搭建起来较为麻烦一点,回头出个教程。

5. stf 这个原本是手机群控系统,我弄来远程控制手机。为了适配authelia我做了一点修改,回头也出教程吧。

6. home-assistant 这个不多介绍了吧,其实我不会用,也一直没研究,家里需要控制的东西不多。

7. centos 对,没错centos发行版,工作基本都是centos系统,相对熟悉一些,软件比群晖多一些,里面部署了我开发的很多抓取程序、服务以及一个pt工具等等,属于我个人的主力docker。

8. oldiy/chrome-novnc 这个是安装了一个极简的桌面环境和vnc以及chrome,各位应该都懂,公司内部禁了部分网站,可以用它访问,不过我群晖性能差,用的其实不是很多。

9. jupyter 这个是给老婆学习python用的,我对这个不熟悉,简单安装了一下。

10. authelia 一个单点登录的服务,outline以及stf等系统统一经过它来登录,避免每个地方记录单独的账号了。配置起来麻烦点,回头出教程把。

11. vaultwarden 这个是三方模仿的bitwarden,和bitwarden完全兼容。bitwarden是c#写的比较耗资源,所以按照了vaultwarden。

总结:

存储: mysql、 postgresql、redis。

单点登录:authelia。

应用:vaultwarden、outline、code-server、stf、home assistant、jupyter、gitlab。

其他:chrome-novnc。

#5. 反向代理

该功能使用好了,很多服务的访问很便捷。复用群辉的证书配置,不需要每个服务配置证书,统一走群辉的https。端口使用同一个,通过二级域名区分服务,避免暴露太多端口。

#5.1 域名解析

简单看下我的群晖配置

域名解析使用通配符解析,没必要一个个配置。所有的二级域名和一级域名都指向一个地方(家里的路由)。截图前两个是ipv6,后两个是v4的。通过ddns脚本,自动更新ip,我家基本是凌晨会自动重启路由,此时IP会被更新。

#5.2 路由

因为我家有公网ip,开始80和443还能用,后来也给封了,解封基本无望。所以路由我把80映射成88,443映射成444。访问http服务就带88端口,https就带444端口,目前http我基本废掉了,都使用https了。路由配置一般在“外部网络→ 端口转发”,不贴图了大家自行找找。

除了444端口转发给群晖外,还有smb、ssh服务以及5001端口,避免过多端口暴漏给外网。

#5.3 证书

证书我使用脚本自动申请Let‘s Encrypt,自动部署到群晖上。使用let’s encrypt有个好处可以申请通配符证书,坏处就是时间短3个月,个人也够用。目前免费证书是单域名有效期1年,通配符证书价格高,不适合普通个人用户。

#5.4 反向代理

反向代理其实是使用了群晖自带的nginx。反向代理的位置如图:

简单看下我的群晖配置

后面目的地的172.18.0.xxx的ip地址,都是docker内部的ip,我对docker做了固定ip,不论机器是否重启,都保证docker的ip不变,代理指向就不会出现混乱。群晖也不需要开放额外的端口。

通过代理可以直接通过二级域名访问相应的服务,非常方便,而且都可以直接使用群晖配置的证书走https,路由页不需要配置过多的端口映射。 比记忆枯燥的端口号强多了,当然有人搞导航页避免了端口号的记录。

添加方式如下:

简单看下我的群晖配置

6.2版本以上的群晖在添加页面的‘自定义标题’可以支持websocket。很多服务需要web socket,之前我都是手动添加nginx的配置,老麻烦了~

总结: 5这一节是一个完整的通路:你输入域名,dns帮你解析成ip,将请求发送给你家的路由器,路由器根据端口映射将请求转发到群晖机器的nginx上,nginx根据反向代理配置将请求转给真实的服务(docker)。群晖的证书实际配置到了nginx上,nginx作为整个流程的必经之路,所以证书全部生效到所有的二级和一级域名上。以后新增服务,只需要在控制面板添加反向代理即可。

#6. 其他软件

ssh,对我来讲可以没有界面,但是必须有ssh,直接从群晖开启即可。

vim,less,ctags,screen常用的终端的工具,后面大家如果有兴趣可以做个简单普及。

群晖也是一个linux系统,根据28原则,熟悉linux的0.2%的内容,可以完成linux下99.8%的事情,看学习linux其实没想象的那么多内容~。

最后,每个人有每个人的需求,大家搭建自己的服务系统,满足未来1-2年的需求即可,没必要追求高配置,当然也别太委屈自己。nas即使一个存储又是一台服务器,j1900、j3455满足普通用户的需求已经足够了,当下最流行的白群性能才到哪呢。目前公司、喜欢摄影、视频剪辑等可以考虑上到i3、i5,图片转码啥的也快一些。

文章写的比较晚,外加存在一定的专业知识,如果有不懂的评论区见~

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

原创文章,作者:夜风博客,如若转载,请注明出处:https://www.homedt.net/47635.html