人活着就是为了折腾
起因
认真的 流水账式的记录:
在数月内接连两次把所有服务(除了zfs pool)推倒重来之后我终于意识到仅仅凭借两张白纸,一个啥也没有的txt文件和我微弱到可以忽略不计的脑力是不可能记住之前一次次更改的所有细节的。不过正好,既然自己已经有了一个博客页面就索性把大概的服务啥的都放在博客上面就完事了 – 也正是因为这个我萌生了写一篇东西记录折腾经历的想法。
想法很好,下次别想了
主机配置
硬件
主节点 Ryzmox:
- 大概30🔪淘到的先马 im01
- ebay 3900x
- ebay 包浆 1080ti
- 打折买到的 EVGA 750W sfx
- 朋友换下来的msi b550 迫击炮
- 128G DDR4 3200
(开始魔幻) - pcie x1 转换器 + 2x intel 千兆口
- pcie x1 4口 sata 转接
- pcie x4 6口 sata 转接
(然后) - 1T nvme ssd
- 2x 2t raid0 2.5’’ hdd
- 3x 8t raidz1 3.5’’ hdd
- 5x 1t raidz1 sata ssd
- 3x 512 - 1t 大小不定的sata ssd
最后加上路由器,交换机,还有一台有4口i225的工控机运行hyper-v和pfsense (有两个节点暂时不用了)
至于为啥一定要用i225,还是有问题的N5105,问就是我还是太年轻了
proxmox,EXSi都试过了,原生Debian啥的也试过了,但是只有在hyper-v里跑的虚拟机才不会忽然崩溃
什么?为啥不直接bare metal 跑pfsense算了?
这不是怕到时候牵一发而动全身吗 因为懒
软件
还有啥好说的,基本就是Proxmox和hyper-v。EXSi也用过但是总感觉完全浪费掉一个iGPU用来显示卵用没有的黄黑管理页果然还是太奢侈了
(贫穷)
服务
关系图大概是这样:
- 粉红色的是独立硬件,绿色的是VM,橙色的是容器,黄色的是池,蓝色的是实体/虚拟网卡
- 主节点内部,虚拟机外部两个虚拟设备主要负责VM/Container的网络连接以及除个别(两带GPU windows虚拟机,测试pfsense及truenas本身)服务外的定期快照及备份
- 存储基本上是分为三个,一个是host本身及测试用pfsense,windows(无GPU),加上truenas; 一个是truenas本身提供,所有vm的储存池,备份池,smb的共享文件夹等; 最后一个是带GPU windows 虚拟机自己的系统盘和数据盘(这个windows所有的磁盘都是物理磁盘)
PS:懒得找没找到vm和应用的图标,凑合看吧
你们一定要信我啊
网络
总的来说,上图的网络大概就是大概是这样:
然后就如图所示,VPN是用在工控机的pfsense里配置的,广告过滤也是用了pfsense的pfblockng – 最开始的时候我也用过用树莓派跑pihole,但是自从正儿八经换了主节点之后就打算直接让工控机解决所有过滤了。 反正pihole这么直观的图表给我我也不会天天去查 主要是懒
对了作为对比这是我室友的:
数据存储
主节点的关系图大概是这样:
同样的,这是我室友的数据存储
代码存储
代码存储就直接用了Gitlab CE,加上另外一个专门用来跑Runner的VM。 之前学cloud computing的时候也弄过docker registry实例,但是后来发现没什么卵用就删掉了
不过我必须说一句,tailscale加上自建的Gitlab实例是真的不错,好多东西不想放公用的直接放自己的实例里面然后share给别人就行 单纯是想折腾
容器
容器就有意思了,我最开始搞的时候所有的东西都是乱七八糟的放在2-3个VM里面,然后统一用portainer (swarm?) 进行管理
但是后来觉得实在是脱裤子放屁多此一举,都放在一个机器上面了HA还有什么用?于是就全部装到了一个VM上,看着省心管着也省心
感觉我总会干出什么一拍脑门的事情,就好像这个:
这么一堆里面最主要的除了用来管理的portainer外也就是Heimdall (landing page) 还有guacamole (远程桌面)。其余的基本上都是上次服务器配置的历史遗留,比如用来测试的librespeed,配置了一半的pterodactyl,从来没有配置好的guafana,uptime-kuma,写了两行代码就放弃的vscode,和基本就没怎么开过的思源笔记
哦,还有一个学长安利的dashy。就是我感觉还是heimdall用的顺手就没换
话说我之前还把两个树莓派装了portainer agent来统一管理来着,但是后来看到这两个东西除了在边上耗电之外我啥用也派不上就拿掉了
树莓派价格居高不下的时候我就应该卖掉的,血亏一个亿啊啊啊啊啊
说到底还是因为人太懒
客户OS
客户机就有意思了,主节点里面主要还是两个windows10 VM,一个带GPU一个不带,然后带GPU的用parsec,不带的用guacamole rdp连接
哦,还有parsec要在显卡屁股后面插一个欺骗器。我买的时候DP的卖完了就买了个HDMI的。如果不用的话其实问题也不大,但是可能就会和我一样花俩小时像个智障一样一边抓头发一边奇怪为啥驱动什么设备都不显示(实测)
至于用处,之前用来玩玩stable diffusion,现在的话就变成专门用来写代码的机器 – 原因还是我发现安卓平板加上parsec连这玩意儿就好像自己坐在电脑前面一样,方便的很,还不用带我那武林高手专用笔记本 – 就是字小了点
然后另外一台VM就纯粹沦为了 下载机 – 用来下载一些B站,youtube视频和 正经 Linux ISO之类,绝对不是因为我全走VPN的VLAN没设置好导致不能用transmission
折腾专用环境
暂时没有,但是之前图里面主节点内部的第二个pfsense实例就是干这个的,我pass了连到pcie 1x扩展器上面的双千兆卡进去,这样的花一个千兆口可以用作WAN,一个可以用作LAN,折腾一下网络的东西而不用担心把自己主pfsense节点搞崩了之后没网可用
远程访问
如上所述,主要还是用的这几个:
- Tailscale – 用来访问路由器后面的服务和子网设备
- guacamole – 用来访问vnc,rdp,ssh
- parsec – 低延迟远程桌面,需要GPU,访问带显卡虚拟机
- PIA – 主要用的VPN客户端,pfsense里面好像也有配置但是我有点记不清了
懒得找了
引用
好像也没什么好引用的。。。
总之万分感谢开源社区和各大佬在网上无私分享的资源
让我这个菜得扣脚的家伙也能弄这些东西出来
尾巴
总结就是反正学校宿舍电不要钱~
环保人士震怒