菜单

沣大哈
发布于 2025-08-02 / 5 阅读
0
0

组建AIO(all in one/boom!)

前言

很久之前就想搞一台AIO,也就是all in one。之前因为没有性能强一些的配件,所以一直没有搞成功过,现在一年过去有一些闲置的配件了,就来组一台AIO吧!

配件

Cpu:I5-12490F

内存:玖合DDR4 3200MHZ 16G×2 + 32G×2,共96G

硬盘:长城512G SSD +西数机械硬盘512G HDD ×5 +长城1TB M.2

显卡:蓝戟亚运联名款Intel A770 16G + 七彩虹Nvidia P104-100 8G

主板:微星Z790-P DDR4

散热器:冰曼8热管下压式散热器

电源:玄武850SE

机箱风扇:玄武风扇无光×4

功能简介

这次我们的服务器主要是三个功能:游戏服务器远程电脑远程游戏主机NasAI服务器。为了实现这些功能,我们会用到远程访问显卡虚拟化虚拟机等功能。

对于游戏服务器来说,我们会分为两种:第一种是命令行的游戏服务器,也就是无需登录的,用来运行像幻兽帕鲁服务端之类的,用到steamCMD。第二种是直接下载steam客户端,把那个账号当作开房间的bot,比如说星露谷物语。

远程电脑就是用到windows自带的远程桌面连接前提是需要局域网或者公网IP,这点需要用到远程访问。

远程游戏主机就是在远程电脑的基础上,下载steam并安装游戏,通过steam link远程串流玩游戏。玩游戏当然要好一些的显卡,我手上这个闲置的A770就是满足基础的游戏需求,不是说非常流畅,但也可以玩。毕竟是接近4060的性能,而且拥有大显存,在后面还有大作用。

Nas主要就是在虚拟机中安装飞牛系统,并把三块SSD通过脱机的形式直接接入飞牛并创建存储池。之后启用飞牛备份和飞牛影视,顺便把nas当作一个影视服务器

AI服务器主要是两方面,AI画图语言模型推理。AI画图用Stable diffusion绘世启动器,这里用的是Nvidia P104-100显卡,8GB显存。语言模型推理因为在飞牛物理机上部署了ollama,所以在all in one中不再部署。

必须操作

在实现上述功能时,我们要先实现所有系统的远程访问,无论是主机,虚拟机或者是Nas。我们要做的有两点:内网穿透和更快速的DDNS+IPV6访问

内网穿透

先来讲最常用的内网穿透吧。考虑到大部分的环境中都还不支持IPV6访问,也就是没用公网IPV6地址,所以采取虚拟局域网是最方便可靠的方法,只要有网就能连接上,自动会打洞实现内网穿透。

这次使用的软件是开源免费的zerotier,这个软件非常方便,只需要在一开始设置好之后,之后用只需打开软件——连接zerotier就行了。具体的操作流程如下:

首先你要在zerotier官网注册一个账号,然后创建一个网络,你要记住网络的ID,之后其他设备加入需要。

zerotier官网

添加网络,网络ID

下一步就是在你所要用的设备上安装zerotier客户端了,如果你是linux,mac os,windows或者是Android都是直接下载客户端安装即可,而在nas之类的机器上需要通过套件或者docker进行安装。

虚拟局域网设备管理

虚拟局域网允许加入

DDNS+IPV6访问

对于实现IPV6访问,你要先检查自己的网络是否有公网IPV6地址,这个很简单,去网上搜一些只支持IPV6的网站,之后用自家的网络访问,看看能不能打开。如果可以,就是支持IPV6的,如果不行,那就是不支持。

搜索IPV6检测

IPV6检测结果

如果出现像我一样的上述结果的话就说明你拥有公网IPV6地址,接下来就可以继续设置DDNS解析了。IPV6访问的话会更快更方便,因此最好是有IPV6公网地址。

在下载并安装完ddns-go软件之后,在浏览器中输入127.0.0.1:9876即可到达ddns-go的管理界面,设置完账户密码之后,选择你所购买域名的服务商,输入IDsecret,这两个东西登录云管理台可以看到。

ddns-go设置1

之后就是要设置你的域名了,在domains中输入,你所注册的域名前加一个前缀,组成二级域名。比如说我所注册的域名是qwert.com,那你就要在前面加,比如说我加成nas.qwert.com就可以了,随便设置想要的名字。

ddns-go设置2

之后回到你的域名控制台,找到DNS解析,以IPV6解析你刚刚所输入的二级域名,等待一下用手机流量看看能不能访问成功,如果可以那就大功告成了。

ps:在mac端设置ddns的开机自启动

mac设置ddns-go开机自启动1

mac设置ddns-go开机自启动2

mac设置ddns-go开机自启动3

注:在mac端设置开机自启动之后,关机是不能强制关机的,每次都要手动关机,所以开启要慎重。

虚拟机

在windows平台上,如果想搭建all in one的话,就必须要使用到虚拟机。windows系统自带的虚拟机软件是hyper-v,毕竟是第一方软件,效率最高,损失最小。hyper-v都是图形化设置的,基本上不用用到命令行,除非你是要设置显卡虚拟化。其实这个功能在之前的hpyer-v中是有集成的,但是因为一些安全漏洞导致之后更新的版本删除了,要自己手动设置。

hyper-v的设置很简单,首先是设置虚拟机版本。第一代和第二代虚拟机的区别是,一个使用传统引导(legacy),另一个使用UEFI引导。就是新引导和旧引导的区别,具体自行百度,在此不再赘述。简单来说就是一代兼容性更好,二代的支持更新。

第二步是设置内存大小和是否使用动态内存。内存大小按需设置即可,游戏服务器大一些没关系,nas就不用这么大。动态内存的话我的经验是,windows使用动态内存,基于linux的系统都不要勾选动态内存,因为会直接吃满,还可能会引发一些不必要的问题。动态内存的意思是,你分了20g给他,系统最开始可能只会要8g,不够再继续加,最大加到你给的20g。

第三步是设置网络连接了。最开始的网络连接只有两种可选:未连接default switch。未连接很好理解,就是没网,单机自己玩。后面的default switch就是你的宿主机做交换机,所有虚拟机都是建立在宿主机之下的二级网络内,虚拟机之间可以互访,但是虚拟机和你宿主机同级的其他设备不能互联,比如说手机,其他电脑之类的。所以你最好自己去设置一个新的网络连接——桥接。桥接会使你的虚拟机和宿主机是同级的网络,这样在家中局域网中互访会更方便。

第四步是设置虚拟硬盘,也就是虚拟机的硬盘,大小随意,位置随便你选择到你宿主机的随便一块硬盘中。之后如果你要额外加硬盘的话也是通过虚拟硬盘添加,如果玩的是nas,想要直通硬盘的话在虚拟机建立成功之后可以设置。

最后一步是安装系统,可以先不安装或者是后面再安装,这个随便你。系统镜像一般都是iso格式的,其他格式最好需要先转换格式再进行安装。

Nas

对于组建nas来说,重要的只有两个方面:硬件软件

硬件可以通过虚拟机设置来搞定,在hyper-v中我的设置是1核8g,32g的虚拟硬盘用来安装系统,SCSI控制器直通了三块机械硬盘组成raid5阵列用来存储数据。网络桥接了wifi和网口两个网络,关闭检查点。

软件方面我选的是飞牛OS系统,想看看国产nas系统的体验到底如何。飞牛系统的使用逻辑还是比较简单易懂的,和我之前用过的群晖nas来说,界面更简洁,功能上少一些,但也无所谓,未来可期。

飞牛系统我比较看重的就是免费的远程访问影视应用,至于虚拟机和docker功能那都是必备的,不然都不算是nas了。你只要注册一个飞牛账号,申请一个免费的飞牛ID,就可以实现远程访问了。简单用来管理一下后台还是没问题的。影视应用的话也能支持自动刮削,从名字就可以识别,硬解软解转码之类的都很智能,不用手动去调整。

介绍说了这么多,现在来说说重点了,怎么用!俗话说狡兔三窟,Nas的远程访问形式也不能只靠官方提供的免费带宽,毕竟才2m的带宽怎么下载东西!所以说我准备了三种远程访问的方式:官方免费远程访问zerotieripv6公网访问

zerotier在飞牛的官方套件库中没有提供,需要自行在docker中以套件的方式安装,稍微会麻烦一点。

对于公网ipv6访问来说,飞牛官方自带ddns解析,你只需要在系统设置——远程访问一栏填上就可以了。

飞牛官方是有ios和Android两方客户端的,还有飞牛TV端。手机端的适配还是很好的,照片备份和看nas中的电影电视剧都是一个app可以做到。

远程游戏主机

远程游戏主机来说,就是通过steam link远程串流在各种设备上进行游戏

方法就是在宿主机上安装steam,开启远程畅玩。使用时会自动搜索局域网内开启远程畅玩的steam在线主机,第一次配对时要在主机端输入四位的代码。如果你的设备和主机并不在同一局域网内,也可以通过在主机端直接输入四位代码,steam link会自动打洞联通两台设备。打洞连接的话延迟就会高很多,操作不会很跟手,所以说不在同一局域网时,最好自己用其他设备或者软件打洞连接。

steam link是自带基于Tailscale进行内网穿透的,和zerotier一样,都是基于p2p技术,即点对点。但是据我使用发现,steam link好像是不支持ipv6直连的,在其网络设置中的三条网络都是虚拟局域网技术,并没有看到ipv6的地址。

在steam link的界面中,有三个大界面:计算机控制器流式传输。其中计算机就是连接主机的,控制器就是选择性把你远程设备中的键鼠手柄映射到主机上。最后一个流式传输就大有学问了,是设置画质解码,带宽等的。他默认有三种选择:默认,增强型1080p,增强型4k。你可以随意选择三中之一,如果有不满意的,可以选择默认,进去调小参。其中我认为比较重要的有几个:视频,带宽,帧率,分辨率。视频就是设置画质,帧率,分辨率都不必多言,带宽就是网络连接的速度,看你的网络如何。如果是在家里,床上串流的话,随便开多少的带宽,跑满家里的路由器就行。像我用zerotier的话,远程一般用40m/s,因为我家是千兆,跑满上行带宽差不多就是这样。

帧率的话也不要调太高,别以为说你的设备120、144hz就直接拉满,远程串流一般是跑不满的,开个60hz就差不多。玩gal和一般游戏够了,不会真的有人想要长期远程串流打大型游戏的吧......

分辨率其实最好和你的设备一样最好。虽然这会增加你主机端显卡的压力,但是分辨率正好匹配你的屏幕还是很爽的吧。况且你帧率都设置60hz了,一般来说显卡的性能都是过剩的,把这部分压力分摊给分辨率正好合适。

当你设置完上述的时候,想检测一下效果如何,可以点击下面的网络测试,它会自动检测你的网络情况并且给出建议,当然你全部调自动让它给你调整也是可以的,只不过稍微没这么舒服罢了。

远程电脑

在windows上设置远程电脑是一件很简单的事情,因为windows自带虚拟机远程控制的功能,小小设置一下内网穿透即可,要更快些还可以设置ddns+公网ipv6进行访问。

在windows远程连接的软件windows app中,你只需要输入主机地址用户名密码就可以远程连接了。而且这个软件是多端都有的,无论你是Android还是ios,mac还是windows,都可以在网上下载使用,非常方便。

在使用远程控制是你先要打开主机端的可被远程控制,在设置——系统——远程桌面。打开之后即可。你要记住主机的用户名称和密码。一开始如果没有设置密码的话,要先去打开允许无密码登录远程桌面,之后你在设备上远程登录时才不会出现失败的情况。如果你既没有设置空密码登录,也没有设置密码登录,那么你远控登录就进不去。

具体实现空密码登录的方法,在运行中输入secpol.msc,找到安全设置——本地策略——安全选项——账户中找到:使用空密码的本地账户只允许进行控制台登录,把启用改为已禁用。

windows的远程控制使用的是微软自己的RDP协议,在其中集成了音频传输,这是非常重要的一点!对于mac端的ARD协议来说,第三方的remove desktop manager是没有声音传输的!而第一方远控又必须使用ipad或者ios在商店付费购买的软件,非常恶心。所以说微软还是很好的(笑)。另外还有一些USB设备重映射等等,这些都为windows远控的体验带来了极大的改善,不得不说windows市占率高真的是有原因的。

游戏服务器

之后来讲讲游戏服务器吧。先讲讲简单的,下载steam客户端登录,使其成为开房间的机器人。别以为这个很简单没有需求,其实星露谷就是最好的例子。

很重要的一点,星露谷经常更新,一更新版本不对,其他玩家就没法进入游戏。对于其他进游戏的玩家来说当然没问题,因为都是买了游戏的,steam会自动更新。但是游戏服务器呢?下一个最新版本的盗版,之后更新版本了又要重新下载开房间,非常麻烦。而服务器众所周知,稳定性是第一位,不稳定你怎么去维护它?所以说直接买一个游戏真的不费事,开了就挂在那里,有更新了steam会自动更新,远程链接到虚拟机你就像用自己电脑一样,点点鼠标的事情,这样会方便很多。

设置游戏服务器的话,就和使用普通电脑一样,安装下载steam,在星露谷中新主持一个房间,攒点钱建几个联机小屋。对于联机的方法有很多,比如说星露谷自带的联机服务器,你只需要复制邀请码,在你和你好友的星露谷中输入就可以了。第二种是内网穿透,使用sakura frp,开放星露谷的端口24642,之后使用sakura frp提供的IP地址或者是网址进行连接就可以了。这两种都是无视ipv4还是ipv6使用的。当然你只在ipv6环境下访问的话可以使用域名访问,就是在主机上设置ddns+ipv6访问,使用这个域名即可。

至于第二种,设置游戏服务端的话,使用steamCMD,现在暂时没有需求,等之后设置了再补充吧。

AI服务器

对于AI画图的远程部署非常简单,在stable diffusion中本就集成有远程访问,你可以选择本地访问,也可以设置局域网访问,还可以设置官方提供的网站访问。这次我们选择的是第二种——局域网访问。

首先我们要启动绘世启动器,在高级选项一栏找到网络设置——监听设置,点击开放远程连接,记住监听端口7860,如果设置成了别的你就记住你设置的就行了。之后去设置内网穿透,注意SD只支持在ipv4的情况下访问,不能在ipv6的情况下访问!

stable diffusion远程设置

至于出图的位置,你可以搭配着nas远程访问一起用,把出图的路径设置到nas的文件夹中,这样就可以实现在陌生设备上对于AI画图的完全访问了。

总结

AIO的大部分功能就是这样,集Nas,远程游戏主机,远程电脑,游戏服务器和AI服务器为一体。

我这次使用windows+hyper-v虚拟机构建的AIO,其实也可以用PVE从底层构建,但是有些硬件直通之类的,显卡就只能通给一台虚拟机使用,比较麻烦。而且在远程管理上,在每一台设备上都要设置,不像以windows为载体,利用自身的远程桌面,采用RDP协议,能够几乎无感地访问各个虚拟机。Windows的使用逻辑也是更加为人熟悉和人性化。

AIO的构建还是比较简单的,总之记住:内网穿透是必须配置的!这为了你以后的远程访问打下基础,无论是使用还是维护,都至关重要!


评论