我的家庭建造

2021-06-10 01:21:37

有很多东西可以诅咒享受。我的一个诅咒是isenoying哲学/语言学。这让您进入许多有趣的谈话,这是多么可怕的英语可能会在一段时间内变得无聊。我的另一个,更大的诅咒是我的计算机人。特别是一名计算机人,尤其会使用分布式系统。这是一个昂贵的爱好,尤其是你真正拥有的是云™。

我做了很多的一件事是运行虚拟机。其中一些粘在一起,其中很多很短暂。如果我想用给定的分发或操作系统弄乱,我也喜欢能够进入这些VMSquickly。通常是我'在我的游戏电机上沉溺于这些,然而这使得我的塔非常承受。我也想玩MyTower的游戏,虽然在获得游戏中运行Wellon Linux的比赛仍然没有像我一样好。

< cadey>事实上,它实际上有点有点方便我努力让我扮演Gameson Linux,以便让我更努力地用来吃完整天。像它那样的因子和其他游戏真的是危险的形式。

多年来,我的家庭服务器已成为2013年Mac Pro,垃圾桶一个。它'艾弗里有能力的机器。它'是一个美丽的电脑,但是在表情方面,它真的不再扼杀了。它有效,它仍然是MyPrometheus服务器,但总体而言,与我&#39的内容相比,它非常慢。

它可能也没有帮助我的同事给了我一个严肃的evomelab嫉妒案例。我的一些同事有完整的Rackmount设置。这是我的钱包的典范。

我的初始计划是在隔音机架盒中获得3个机架式服务器。我曾经在其中(最好的2个中,在它们中获得octo-core Xeons,每个节点中的64 GB RAM的顺序)。为我的需求,这是荒谬的超薄。存储将在NVME和带有ZFS作为文件系统的旋转驱动器上。

< cadey>不。它' s"没有杀戮像跨度"微妙差异,但在这种情况下,它和#39;在这种情况下是一个。

除此之外,在地下室运行数据中心真的要求您进行地下室。这个地方是我的未婚夫和我搬到了它的' t真的有aproper地下室。具有适当地下室的优点之一是YouCan将服务器放入其中而无需真正困扰任何人。服务器风扇噪音往往来自"沉闷的咆哮" "喷气发动机起飞"如果youare和/或与噪音敏感的人一起生活,这可能会导致问题。隔音机架存在,但是我没有'我确定降噪是否足以达成成本。

然后在那里的功率成本。安大略省的电力很贵。我们的家庭办公也只有一个15安培的断路器,它大约为我们在该房间内玩耍。通过我们的笔记本电脑和游戏塔机上,激光打印机足以推动我们的线路并翻转破坏者。完整的RackMount服务器设置永远不会有效。通过我们的租金拒绝电力,但是我不想使用更多的功率约。

经过更多的研究和通过PCPartPicker分别一堆选项,我最终用一套硬遗红,我打电话给了。在pcpartpicker上扮演它的规格。它旨在平衡这些因素,因为可能的是:

成本 - 我预算大约4,000 cad,我愿意在ole项目上花费

零件在加拿大的可用性 - 零件令人讨厌地在法律程序中获得加拿大,Covid使其变得更糟

性能 - 我的云服务器和旧笔记本电脑的现有余额很远,但它开始显示其限制

32 GB DDR4RAM(我不知道这是怎么发生的,但我最便宜的方式让Rami想要再次获得RGB RAM)

1 TB NVME驱动器(我必须从多个供应商那里得到它们,因为颠恒师导致公司限制为每人1/2)

< cadey>所有允许的CPU DON' T' T乘坐集成的GPU,所以我' D必须获得Ahardware GPU(由于Memecoin Farmers和Carindustry Hoovering所有的半导体供应而近在咫尺,那将避免浪费动力所有永恒的登录屏幕。更不用说这些熔准者CPU Alsodon' T船用CPU风扇,所以我需要获得散热器。我希望Intel Ductbetter处理器都有一个IGPU和散热器。我可能是一个Humeexception对系统买家的正常情况。

感谢我与我的服务器侍酒师的混合,我有4个节点。

< Mara>群集中的节点以来自Xenosaga AndxenoBlade Chronicles的神圣/超级计算机的命名为命名。 KOS-MOS(带有激光剑的Badass Robot Waifu和圣经的角色,Xenosaga是野生的,疯狂)是Xenosaga和Logos(言语,原因),Ontos(是,是)和气胸的徽标(呼吸)之一,精神)是Trinity处理器InxenoBlade Chronicles的三个核心。您在YouTube视频和VrchatResembles中看到的Pneuma型号的化身。 Alrest是另一个XenoBlade参考,但这是读者的练习。

建立它们相当简单。多年来,建立PC的PC的过程真的简化了,它确实有助于我基本上是同一台机器的4个碳拷贝。我在2015年中间建造了一个英特尔塔诚信的旧游戏塔,当我在加利福尼亚州建造了一个英特尔塔慈善塔时。在当天吓坏了我的东西,归功于归功于将处理器锁定到主板上的张力臂。我害怕我打算过它。张力臂仍然存在于现代主板中。它' stillterrifile。

我得到的主板是有点便宜的(从最便宜地排序Bycost的自然副作用),但他们做了这个Onecost节省的措施,我甚至知道是可能的。通常是主板Sinclude NVME螺钉安装,使您将SSD拧入板中。这款主板came与塑料nvme锚。我用spudgerand将一端突然进入电路板。将驱动器固定到另一端。

锚点罚款,但它仍然是第一次和#39;曾经见过的Amotherboard这样做。

如果你看看零件清单,你'我注意到我没有得到专用的cpucooler。与库存冷却器相比,那些令人讨厌的是,我没有' treally看到自己跑到它' d实际上有用的情况。我挑选了一体的高端核心I5型号,含有一体的GPU和一块储存机。英特尔确实的一个奇怪的事情是让储存的机器的电源线在CPU冷却器本身周围缠绕在烤盘上。我起初没有'这是困惑的是为什么我的簇生投掷和#34的实验/测试机器;哦上帝为什么为什么' the cpu粉丝工作"哔哔声,并拒绝播种BIOS。始终确保CPU风扇电源线ISN' T扼杀了CPU风扇。

毕竟是nixos安装。我之前已经制作了ISO Imagethat,我允许我在VirtualMachines上自动安装NixOS。这个相当危险的ISO映像允许我将一个新的虚拟机提供给一个空白磁盘到一个完全函数的nixos安装,如3分钟。

< Mara>在测试中,大部分时间都是通过复制ISO' un' s nix商店到达那样的虚拟机分区。我不知道是否有一种方式来制作这种潮流的方法。

使用KOS-MOS作为实验机再次,我用手安装了nixos andtook notes。在这里'我采取的笔记扫描:

我设置了KOS-MOS,有三个分区:root,交换和EFI SystemPartition。然后,我用以下模式设置了我的ZFS数据集:

随着所有这些路径熨烫,我将这些注释转换为小型安装标记。我把它放在这里安装脚本。我使用nixos-generators tomake一个有这个命令的ISO:

这吐了一个680兆字节的ISO(也许甚至足够小,它可以适合CD)我用DD写入闪存器:

然后我将USB驱动器粘贴到KOS-MOS中,然后从该USB重新安装。随后使用分区命令后摸摸,我有一个USB驱动器,让Mereflash在3分钟内使用ZFS root进行新的基础Nixos安装。如果您想要Towlate安装,我录制了一个视频:

我打赌,如果我使用USB 3.0驱动器,它可能会更快,但是3分钟是Fastenough。这是一种神奇的体验。只需插入USB驱动器,启动塔并等到它的电源。一旦我完成它,可靠地onkos-mos,真正的测试开始了。我用魔术USB驱动器建造了下一台机器(Pneuma),然后是Nixos。它完美地工作。我有自己的Acluster。

一旦安装在机器上,它就会运行非常基本的配置。此配置设置要安装的主机名,从github加载我的sshkeys,并设置zfs主机ID,但并不别的。下一步是kos-mos到我的变形设置。我在这个Comcomit中做了初步设置。

< Mara>等待。您与(基本上)同样的模板建造了4台机器,对吧?为什么需要将特定于主机的配置放在repo4次?

我不和#39; t!我在这里为arrest硬件创建了一个文件夹。这包含所有基本硬件配置以及IWant群集群集的一些设置。这让我让我的变形表现出如下所示:

{network = {description =" valon&#34 ;; }; #alrest" kos-mos.alrest" = {config,pkgs,lib,...}:让metadata = pkgs.callpackage ../metadata/peers.nix {};在{deployment.targetUser =" root&#34 ;; deployment.targethost = metadata.raw.kos-mos.ip_addr; Networking.Hostname =" KOS-MOS&#34 ;; Networking.Hostid =" 472479D4&#34 ;;导入= [../ ....../common/hardware/allest ../../hosts/kos-mos/configuration.nix]; }; " logos.alrest" = {config,pkgs,lib,...}:让metadata = pkgs.callpackage ../metadata/peers.nix {};在{deployment.targetUser =" root&#34 ;; deployment.targethost = metadata.raw.logos.ip_addr; Networking.hostname =" logos&#34 ;; Networking.hostid =" Aeace675&#34 ;;导入= [../../Common/hardware/alrest ../../hosts/logos/configuration.nix]; }; " ontos.alrest" = {config,pkgs,lib,...}:让metadata = pkgs.callpackage ../metadata/peers.nix {};在{deployment.targetUser =" root&#34 ;; deployment.targethost = metadata.raw.ontos.ip_addr; Networking.Hostname =" Ontos&#34 ;; Networking.hostid =" 07602CC&#34 ;;导入= [../../Common/hardware/allest ../../hosts/ontos/configuration.nix]; }; " pneuma.alrest" = {config,pkgs,lib,...}:让metadata = pkgs.callpackage ../metadata/peers.nix {};在{deployment.targetUser =" root&#34 ;; Deployment.targethost = Metadata.raw.pneuma.ip_addr; Networking.Hostname =" Pneuma&#34 ;; Networking.hostid =" 34FBD94B&#34 ;;导入= [../../common/hardware/allest ../../hosts/pneuma/configuration.nix]; };}

现在我拥有一堆安装了nixos的硬件,并且机器被完全暗碳到我的网络中。我有我的基础shell配置和其他设置的一切,所以我可以将任何服务器都搞得一下,并拥有我想要的所有东西。我有libvirtd insion,基本安装集,所以我想尝试使用tialscale子网,将虚拟机ubnets暴露给我的其他机器。据我所知,libvirtd并没有一个同意,它可以像其他虚拟机管理程序一样覆盖网络上的虚拟机。

默认情况下,LibVirtd将默认虚拟机网络设置为在192.168.122.0/24网络上。这并不是与自己的任何东西冲突,但是当你有许多具有相同范围的主机时,它可能是一个比特问题。我有一个/ 16我用我的Tweoguard寻址,所以我把一些我可以为每台机器预留的范围:

通常,我在Wioguard上分享这些子网。但是,TimScale SubnetRoutes让我更直接这样做。我ran在每台计算机上启用子网(SubnetRouting):

函数getSubnet(){案例$ 1在KOS-MOS中)Printf" 10.77.128.0/24" ;;徽标)Printf" 10.77.129.0/24" ;; Ontos)Printf" 10.77.130.0 / 24" ;; pneuma)printf" 10.77.131.0 / 24" ;; ESAC}对于KOS-MOS徽标ONTOS PNEUMADO SSH [电子邮件保护] $ HOST TAYSCALY UP \ --accept-Routes \ - ACCETES-ROUTES =" $(GESSUBNET $ HOST)" \ --Advertise-tags = tag:alrest,标签:nixosdone

这个命令是我其实所做的(一些东西的东西的东西)略高于突出的版本,但它的工作了!然后,iconfig libvirtd以实际使用这些子网进入virt-manager,连接到其中一个主机并更改了默认网络配置,如下所示:

<网络> <名称>默认值< / name> < uuid> ef4bc889-e1d-403a-9a92-a0e172b8f42a< / uuid> <前进模式=" nat"> < nat> <端口开始=" 1024"结束=" 65535" /> < / nat> < /前进> <桥姓名=" virbr0" STP =""延迟=" 0" /> < MAC地址=" 52:54:00:89:B3:66" /> < IP地址=" 192.168.122.1" NetMask =" 255.255.255.0"> < dhcp> <范围开始=" 192.168.122.2"结束=" 192.168.122.254" /> < / dhcp> < / ip>< / network>

<网络连接=" 2"> <名称>默认值< / name> < uuid> 39bf0a49-57ff-4840-8bd6-09c6f3817afe< / uuid> <前进模式=" nat"> < nat> <端口开始=" 1024"结束=" 65535" /> < / nat> < /前进> <桥姓名=" virbr0" STP =""延迟=" 0" /> < MAC地址=" 52:54:00:A6:03:14" /> <域名="默认" /> < IP地址=" 10.77.128.1" NetMask =" 255.255.255.0"> < dhcp> <范围开始=" 10.77.128.2"结束=" 10.77.128.254" /> < / dhcp> < / ip>< / network>

然后我旋转了一个运行Alpinelinux的虚拟机并在网络上获取。其IP地址为10.77.128.90。然后我尝试从同一台机器上划起它,另一个机器在同一个房间,同一个大陆上的另一台服务器,然后在同一行星上最后一个人。以下是结果:

CADEY:[电子邮件受保护]〜./rw$ ping 10.77.128.90 -c1ping 10.77.128.90(10.77.128.90)56(84)个字节的数据.64字节从10.77.128.90:ICMP_SEQ = 1 TTL = 64次= 0.208毫秒--- 10.77.128.90 ping统计--- 1个数据包传输,1个收到,0%丢包,时间0msrtt min / avg / max / mdev = 0.208 / 0.208 / 0.208 / 0.000毫秒

CADEY:[电子邮件保护]〜./rw$ ping 10.77.128.90 -c1ping 10.77.128.90(10.77.128.90)56(84)数据字节从10.77.128.90:ICMP_SEQ = 1 TTL = 63次= 1.11毫秒--- 10.77.128.90 ping统计--- 1个数据包传输,1个收到,0%丢包,时间0msrtt min / avg / max / mdev = 1.105 / 1.105 / 1.105 / 0.000 ms

CADEY:[电子邮件保护]〜./rw$ ping 10.77.128.90 -c1ping 10.77.128.90(10.77.128.90)56(84)个字节的数据.64字节从10.77.128.90:ICMP_SEQ = 1 TTL = 63次= 5.66毫秒--- 10.77.128.90 ping统计--- 1个数据包传输,1个收到,0%丢包,时间0msrtt min / avg / max / mdev = 5.655 / 5.655 / 5.655 / 0.000毫秒

CADEY:[电子邮件受保护]〜./rw$ ping 10.77.128.90 -c1ping 10.77.128.90(80.77.128.90)56(84)数据字节从10.77.128.90:ICMP_SEQ = 1 TTL = 63次= 107毫秒--- 10.77.128.90 ping统计--- 1个数据包传输,1个收到,0%丢包,时间0msrtt min / avg / max / mdev = 106.719 / 106.719 / 106.719 / 0.000毫秒

这也允许群集中的任何虚拟机到达任何其他VirtualMachine,以及任何硬件服务器。如果我安装了SerenityOSVirtual Machine(据我所知,可以' t跑尾谱的平台),那么它就可以戳了其他虚拟机以及我的其他服务器超越了它,就像它从未发生过。这是一个神奇的经历。

我的计算比我真的知道现在该怎么做。虽然这是一个。许多休闲花费空间为该类别中的扩展,实验和其他电子词组留下了大量的空间。这些CPU也真的是Dangfast,这有助于很多。到目前为止,我在做了ashort v-tuber-esque流的时候,我在做了我的主题,我在尼克斯中修复了一个小小的烦恼,并尝试xplain在我的头上发生了什么,因为我做了,而是写这篇文章.Pneuma有点成为我的主要SSH盒子,另一台机器运行了很多的空间机器。

IPv6虚拟机网络(LibVirtd似乎只做了IPv4,配置IPv6似乎有点不幸的是不动的)

我希望这是一个有趣的观点,在组装我的主题时摩托车的过程和考虑因素。 它&#39是一个有趣的建设,我可以等待看到未来会带来的。 无论哪种方式,它应该在这个博客上为一些兴趣的事情制作! 本文发布于M06 08 2021.事实和情况自发布以来可能发生变化。 如果出现错误或不清楚,请在结论之前与我联系。