AIO家庭服务器

从零到一构建自己的家庭版服务器

AIO网络

背景

最近迷你主机很火的样子,而我无意中看到一篇关于使用某刻构建All In One(AIO)服务器的文章,觉得挺有意思的,于是萌生了构建自己的AIO家庭服务器的想法。

我手上刚好有一台冥王峡谷NUC,本来可以用来玩AIO服务器,但它被我儿子占用了,成了他专属的游戏主机(后来该机器还是被我征用了),所以我只能从硬件开始构建一台属于自己的AIO服务器。

接下来需要考虑的就是需求,如上述文章中所述一样,作为一个AIO服务器,路由器、NAS、Linux/Windows虚拟机自然都成了我的需求,或者说,成了我想要去尝试的功能。

路由器,这个自不必多说,哪个网络都离不开这个。普通的TpLink或华为的路由,功能稳定,但扩展性太弱,不符合我这种爱折腾的人。所以在AIO服务器上,开源虚拟路由器成了首个需要尝试的功能。

而NAS,目前我手上有一个群晖DS216Play,这真是个让人又爱又恨的小东西。首先,群晖NAS稳定高效,是家庭存储的首选解决方案。同时,群晖也是个不折不扣的吞金兽。拿我的DS216Play来说,就这一个两核的arm小盒子,当年花了我接近4k,而文件存储的速度仅仅不过20M/s。所以黑群晖虚拟机必须整起来。

至于Linux/Windows虚拟机,主要是因为我日常桌面系统是macOS(MacBook + MacMini),为了弥补macOS的不足,平常我都会使用Homebrew + Parallels这两个解决方案。如果有了AIO服务器,我完全可以将Linux和Windows虚拟机放在服务器端,本地通过ssh和远程桌面来解决macOS解决不了的问题。

硬件选择

构建AIO服务器,硬件选择还是有必要花些时间去研究的。由于AIO服务器采用的是虚拟机解决方案,所以性能与硬件兼容成了首先需要考虑的问题。

CPU

CPU方面,我首先考虑的就是Intel,AMD没怎么用过,不知道虚拟机方面怎么样。CPU需要考虑的方面有:核心数、ECC内存支持、功耗、硬件编解码、出价格。之前在网卡看到一些文章,关于E3、E5的,什么神级电子垃圾之类的,所以我还认真去查了一下E3、E5的参数。通过下面的网站我们可以快速了解一个CPU各方面的参数,其中需要我们关注的包括:TDP、内存类型、PCI、支持的插槽、VT-x等。由于我们是构建7x24小时服务器,所以功耗(TDP)是我们首先需要关注的。

目前主要可选的CPU包括E3和E5低功耗系列,其中E3系列可选1265L/1275L/1285L v3、4核8线程、DDR3 1600、ECC、LGA1150、H264,选择5结尾的E3主要是因为其包含集成显卡;而E5系列可选2630L/2650L v4、10核20线程/12核24线程、DDR4 2133、55w/65w、ECC、LGA2011-3,E5系列均不集成显卡。另外Intel 6到10系也都可以考虑,集成显卡性能更好,但价格也比E3/E5贵不少,对应主板价格也更高。

主板

主板需要考虑的不多,根据需求选择PCI插槽数量以及板型。其次就是主板需要支持我们选择的CPU,魔改的不算,最好是直接支持,这样问题更少。比如技嘉B150-HD3,非原生支持E3,需要魔改BIOS,增加了难度,放弃。

SATA接口方面,只看数量不看版本,2.0也完全满足机械硬盘的需求。另外有一点需要注意的是,主板SATA固态一般都占用SATA接口,这种主板实际可用SATA接口-1.

内存

根据CPU选择内存类型:DDR3 or DDR4,频率选最高的就行。

是否使用ECC内存,看个人啦,二手ECC内存价格也不高,可以考虑。

显卡

有集成显卡就用集成显卡吧,没有就花几十块搞个亮机卡,GT640是个不错的选择。不要选AMD显卡!不要选AMD显卡!不要选AMD显卡!,重要的事情说三遍!!!

硬件清单

  • CPU:E5 2630L v4 14nm C10T20 55W DDR4/2133/x4/ECC PCIe 3.0 LGA 2011-3 - ¥140
    • 2650L太贵,只能退而求其次,少两个核心,但功耗也低10w。E3太老了,放弃了。
  • 内存:Hynix 16G x4 2400 ECC - ¥100*4
  • 显卡:GT 640 - ¥61
  • 电源:航嘉 WD500K 金牌 500W - ¥279
    • 电源以后可以重复使用,选大一点,实际200w足够了。
  • 主板:华南 X99-ZD4 - ¥368
    • 主板不敢用二手,问题多多。华南金牌三年质保,够用了!
  • 硬盘:256G M2 NVMe/1T M2 NGFF/1T 2.5 SATA 3.0/2T 3.5 SATA 3.0
    • 全是手上的闲置硬盘,全用上了
  • 机箱:酷冷至尊 Q300L - ¥229
    • 其实随便一个几十块的机箱就可以了,但自从看到这个机箱就走不动,价格也合适,多花了百来块钱。
  • 网卡:Intel I226-V 2.5G 双口 - ¥218
    • 全新,品牌未知,在板上找了好久都没看到logo。

合计:¥1695

准备工作

动手之前,我们需要做些规划,同时做好一些准备工作。

我们对主机/虚拟机的命名、IP、用户名、密码等,本来一般情况下这些都不是问题,但东西一多就容易蒙圈。比如密码,不同虚拟机的密码要有相似性,方便记忆,但又不能完全相同,这样才能提高安全性,同时在搞错主机的情况下可以起到一个防呆的作用。

存储方面

手上闲置的硬盘比较多,品种也不一样,需要好好规划一下。

  • 256G SSD
    • AIO/ESXi System
  • 1T SATA 2.5
    • ESXi快照、备份 ==> 通过vmdk虚拟硬盘共享
  • 1T NGFF SSD
    • 虚拟机系统分区 ==> 通过vmdk虚拟硬盘共享
  • 1T HDD
    • 虚拟机数据分区 ==> 通过vmdk虚拟硬盘共享
  • 2T HDD
    • 黑群晖共享空间 ==> 通过RDM直通

网络方面

目前主机共三个网络接口,主板自带一个,PCI网卡两个。

  • 主板以太网卡接口 RTL8168 1G
    • 连接路由器,给家里的无线设备提供网络服务
    • 由于ESXi 7.0不支持,直通给OpenWrt
  • PCI以太网卡 I226-V x2 2.5G
    • 接口1/LAN - vSwitch0 - 管理接口 + 直连台式机
    • 接口2/WAN - vSwitch1 - 连接光猫提供上网服务

相关软件

工欲善其事,必先利其器。

  • DiskGenius - 硬盘分区、img文件修改等
  • StarWind V2V Converter - img文件格式转换
  • 启动盘制作工具,推荐Ventoy,制作一次,以后就只需要往U盘中拷贝ISO文件。(打广告要收费的吧)
  • ESXi 6.7 - 官方已经不提供下载,自己找吧
  • 免费版ESXi 7

打包ESXi驱动程序 - macOS

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
brew install --cask powershell
brew install python3 openssl@1.1
python3 -m pip install six lxml psutil pyopenssl

# 启用Power Shell
pwsh

# Setup PowerShell with Homebrew
PS > mkdir -pv ~/.config/powershell/
PS > Add-Content -Path $PROFILE.CurrentUserAllHosts -Value '$(/usr/local/bin/brew shellenv) | Invoke-Expression'

# online install 
PS > Install-Module -Name VMware.PowerCLI
# OR, offline install, download zip from https://developer.vmware.com/docs/18611/
PS > $env:PSModulePath # extract zip to 
PS > mkdir -pv ~/.local/share/powershell/Modules
PS > cd ~/.local/share/powershell/Modules
PS > unzip /path/to/VMware-PowerCLI-*.zip
PS > Get-ChildItem * -Recurse | Unblock-File

# verify installation 
PS > Get-Module -Name VMware.PowerCLI -ListAvailable
# update installation 
PS > Update-Module -Name VMware.PowerCLI


# download ESXi standard offline bundles
PS > ./ESXi-Customizer-PS.ps1 -v70 -ozip -outDir ./ -log ./ESXi.log
# 如果使用ESXi 6.7,则改成-v67

PS > mkdir Drivers
# 将下载的驱动程序拷到Drivers文件夹中 - 注意对应版本

# 封装驱动并生成ISO
# Note: 使用绝对路径
PS > ./ESXi-Customizer-PS.ps1 -v70 -izip /path/to/ESXi-7.0U3sl-21422485-standard.zip -pkgDir /path/to/Drivers/ -outDir /path/to/out/ -log ./ESXi.log

# 查看输出,没有Warn和Error就成功了
# 拷贝 xxx-customized.iso 到启动U盘。
# 注意:不知道为什么,生成的iso文件名前面有个'\',一定要删除

这方面的教程网络上也比较多,随便一点吧

Update 2023.8.23

usb网卡驱动无法直接打包进ISO,只能安装ESXi之后手动安装vib。

安装ESXi 7.0

  • 按F2启动登陆界面,Tab键切换到密码输入框
  • 静态IP -> 由主路由配置
  • web登陆管理ESXi

安装OpenWrt - iOpenWRT

TODO

主路由

旁路由

安装群晖 - iSynoNAS

  • DS918+: 4c 1.5G 4G-8G RAM 4 Bay
  • Synoboot.img -> Synoboot.vmdk
  • 添加第二硬盘、更改网卡为E1000e
  • 本地安装DSM 7.1

群晖洗白

  • 利用DiskGenius修改Synoboot.img/EFI/grub/grub.cfg中的’sn=’/‘mac1=’/‘mac2=’
  • 编辑虚拟机网卡MAC与mac1对应

更改硬盘数量

硬盘直通

安装Windows

显卡直通


小酌怡情
Built with Hugo
主题 StackJimmy 设计
访问量 -    访客数 - 人次