硬件
配件 | 名称 | 价格 | 入手渠道 |
---|---|---|---|
准系统 | 惠普 800G1 SFF 准系统 | 180¥ + 20¥ (运费) = 200¥ | 闲鱼 |
内存 | 威刚 DDR3 1600 4GB * 2 | 28.9¥ * 2 = 57.8¥ | 淘宝 |
CPU | Intel 至强 E3 1265L V3 | 158¥ | 淘宝 |
硬盘 | 科赋 N400 120GB SSD | 64¥ | 拼多多 |
网卡 | JUPLINK RTL8125BG 2.5GE PCIe 有线网卡 * 2 | 53¥ * 2 - 2.12 = 103.88¥ | 拼多多 |
转接器 | DP 转 HDMI 转接器 | 6.55¥ | 拼多多 |
总价 | 590.23¥ |
先说说为什么选这套准系统。这套准系统是无聊刷闲鱼首页的时候刷到的,卖家的链接里有两个版本: 800G1 和 600G1,当时价格两款相差 30 元,两款都是四代平台。本来想冲 600G1,能省一点是一点,但是后来查到 600G1 的主板是 Q85 芯片组,800G1 是 Q87 芯片组,两款芯片组最大的差距就是: Q85 并不支持 VT-d (硬件直通),而 Q87 是支持的,而我正好想做一台 All in one,肯定免不了虚拟机的使用,不能直通或多或少会损失一些性能,所以最后还是直接上了 800G1。
SFF 属于纤小型机,不算大也不算小 (399 x 170 x 442),恰好能搁在电视柜上。前面板不错的颜值 + 侧卧设计,即使放在客厅也不会有多突兀。相比较再小一号的超薄型 (USDT),SFF 最大的优势就是多了四个半高 PCIe 插槽 (PCIe x1 *2, PCIe x4 *1, PCIe x16 *1),可以安装网卡和显卡。
内存条没什么好说的,便宜就完事了,应该不是假条。
CPU 选了 E5 1265L V3。这还是我第一次用洋垃圾 "E3 神教",之前没玩过至强。1265L 性价比很高,4C8T,最大睿频 3.7Ghz,最主要的是有核显,同时也支持 VT-d 以及 vPro,正好与主板配合使用,TDP 只有 45W。惠普官网并没有写支持至强,但好在惠普没有对硬件加奇葩限制,很顺利地点亮了。
硬盘选了科赋的,和铠侠关系密切。之前给办公机升级固态也用过同型号的,没啥毛病。最主要的原因还是实在太便宜,甚至比有些假盘还便宜,还是正规厂商生产的,管他是不是白片呢,上就完了。
网卡本身板载一个 Intel I217-LM 的千兆网卡,留作管理口。WAN 和 LAN 都用了螃蟹的 8125BG,这个应该是目前最便宜的 2.5G 网卡,很多中端主板板载的 2.5G 网卡也是这个型号的,唯一的麻烦大概就是驱动问题了,这个之后说。
目标
我的理想状态就是拨号、路由、虚拟机都能在一台设备上搞定:
IP 分配:
主机名 | 地址 |
---|---|
爱快 | 192.168.10.1 |
PVE | 192.168.10.2 |
AP | 192.168.10.3 |
静态保留 | 192.168.10.2 ~ 192.168.10.19 |
DHCP | 192.168.10.20 ~ 192.168.10.200 |
安装虚拟机系统
在网上也有看到有人说 800G1 找不到 VT-d 选项,商用机的奇妙阉割总是让人背后发凉,但还好我这台并没有被阉割,开机按 F10 进入 BIOS,在 Security - System Security 里找到了开启 VT-x 和 VT-d 的选项。
虚拟机平台选择
我花了一晚上,把比较主流的 PVE、ESXi 甚至是 Hyper-V 都试了一遍,最终留在了 PVE (因为 unRAID 核心功能并不是虚拟机,所以没测)。
ESXi,VMware 出品,老牌稳定。ESXi 本身不支持任何 PCIe 网卡,只有第三方适配的驱动,并且需要手动安装。因为 ESXi 7.X 的更新导致 PCIe 网卡驱动不能正常使用,只能安 6.7,而实际上 ESXi 的驱动又是从 Linux 移植过来的,驱动本身非常不稳定,再加上 ESXi 的界面和设置太过 "高端商务",我完全习惯不了。在三个平台中,ESXi 是占用最大,也是开机速度最慢的
Hyper-V,微软出品的虚拟机,和 ESXi 一样的高端,一样的稳定,虽然 Hyper-V 内置在 Windows 里,但它实际上是在比 Windows 更底层的环境运行的,这使得 Hyper-V 即使不直通网卡,靠它内部的虚拟交换机就能达到 10Gbps 甚至 20Gbps 的恐怖速度,但同样因为 不能直通 (实际上是可以的,只是对芯片组有要求,对要直通的设备也有要求) USB 和 PCIe 设备,只作为软路由倒还好,如果要跑 NAS 之类的就不太行了。如果用 Windows Server 2012 的话,系统本体内存占用只有 0.8G 左右
最后是我的最终选择: PVE。PVE 最新的 7.X 版本基于 Debian 11,因为本体就是 Linux,扩展性比上面两个闭源的好不少,PVE 7.X 版本也内置了 8125BG 网卡驱动,终于不需要再手动安装驱动了,实测能够跑满 2.5G 速率,也支持直通。开机速度和 Windows Server 2012 不相上下,系统本体内存占用 1.2 ~ 1.5G
安装 PVE
PVE 的安装过程很无脑,一直下一步就行了,唯一需要注意的是 IP 分配的部分,管理口选择板载的千兆口 ,因为管理口是必须留出来不能直通的,如果直通进虚拟机,就无法访问 PVE 机器了。网关设置为自己想要的网关地址,也就是后面我们爱快的地址,我用 192.168.10.1,那么 PVE 的地址就是 192.168.10.2 了。系统安装完成后,设置的管理口会以 Linux Bridge 桥接的方式存在,我们之后再开别的虚拟机的时候也需要这个接口。
安装完毕之后重启机器,终端会输出 PVE 面板的地址。此时把我们电脑的网口与之前设置的管理口 (也就是板载的 1G 网卡) 相连。因为 PVE 没有路由功能,所以我们需要设置静态 IP 才能访问 PVE。之前我们把 PVE 的地址设为 192.168.10.2,我们现在把电脑设置成同网段的地址。
设置完成后,在浏览器输入 https://<PVE地址> :8006 即可进入 PVE 面板。因为 PVE 面板的证书是自签名的,浏览器无法识别会提示不安全,略过即可。
合并空间
如果在 PVE 安装过程中没有手动调整分区,PVE 默认会分为 boot (启动分区)、swap (虚拟内存分区)、local (根目录)、local-lvm (LVM 硬盘) 四个分区,其中我们能用的是 local 和 local-lvm 两个分区。但是实际上两个分区挺多此一举的,还会出现一个分区空间不够了,另一个还空着的尴尬局面,所以趁着还没安装任何虚拟机之前,我们先把分区合并成一个。
首先打开 PVE 的 Shell 窗口,如果不想用在线的也可以用 SSH 直接连,分别输入:
- 删除 local-lvm (如果你已经创建过虚拟磁盘了,会提示磁盘被占用,可以备份一下再删除)
lvremove pve/data
- 把空间分配给根目录
lvextend -l +100%FREE -r pve/root
然后在 PVE 面板的 数据中心 - 存储中删掉 local-lvm,再编辑 local,在内容里勾选全部项目:
现在空闲的空间就被全部分配给根目录了。
开启直通
开启直通也需要进入 Shell 环境操作。
编辑 Grub 引导
nano /etc/default/grub
在 GRUB_CMDLINE_LINUX_DEFAULT
内添加 intel_iommu=on iommu=pt video=efifb:off,vesafb:off
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt video=efifb:off,vesafb:off"
更新 Grub 引导
update-grub
添加系统模块
nano /etc/modules
在文件尾部添加
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
屏蔽显卡驱动
nano /etc/modprobe.d/pve-blacklist.conf
根据显卡厂商添加屏蔽
NVIDIA
blacklist nouveau
AMD
blacklist radeon
Intel
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915
更新内核
update-initramfs -u
重启机器
reboot
安装 PVE 插件、修改软件源
PVE 默认不支持显示硬件温度,免费版也无法使用官方软件源,但是通过第三方工具可以实现这些功能。这里使用比较友好的 pvetools:
git clone https://github.com/ivanhao/pvetools
cd pvetools
./pvetools.sh
安装爱快主路由
安装爱快
首先当然是先安装主路由。先在这里上传爱快的 ISO 镜像:
然后新建一个虚拟机,一样是一路下一步,注意必须勾选开机自启动,因为这样主路由才能跟随 PVE 一起启动,让 PVE 获取到 IP。机型选择支持 PCI 直通的 Q35,因为爱快支持 EFI 启动,这里开启 EFI,不开也没事:
爱快并不占硬盘,系统盘给 1G 绰绰有余:
CPU 给四核也完全够用了,类别选 host,性能比默认的 kvm64 好一些:
64 位爱快强制要求内存大于等于 2048MB,否则无法安装。开启 Ballooning 可以动态调整内存,对爱快来说意义不大:
网络选择默认的桥接 vmbr0,因为爱快支持 VirtIO 驱动,这里选性能最好的 VirtIO 半虚拟化,防火墙没什么用,可以关掉。
创建完毕后,来到爱快的硬件设置,把两块 2.5G 的网卡直通进去:
勾选所有功能和 PCI-Express 才能正常使用:
设置好以上这些之后,开启虚拟机,按照引导安装系统即可。安装完毕后手动关闭虚拟机,并回到硬件设置中删掉 CD/DVD 驱动器,在选项中把 SATA 虚拟硬盘设置为首位,这样才能保证正常启动硬盘里的爱快,而不是重新进入安装程序。最终的硬件设置界面如图:
给爱快联网
爱快系统启动成功之后,进入控制台,先绑定 LAN1 到 VirtIO 的虚拟网卡:
set lan1 eth0
你可能发现了我这边有两个 LAN1,但实际上在这里是不能绑定两个 LAN 口的,具体设置需要在爱快的 Web 页面设置,初次安装只需要先绑定到虚拟网卡即可:
然后设置 LAN1 地址,因为爱快是作为网关使用的,这里输入 192.168.10.1
设置完毕后,就可以在浏览器通过 192.168.10.1 访问爱快 Web 界面了,默认用户名密码均为 admin。进入爱快之后,来到 网络设置 - 内外网设置,发现有一个 LAN1 已经被 ETH0 (虚拟网卡) 绑定了,还有两个 ETH1、2 就是我们直通进来的 PCIe 网卡。随便挑一个 ETH 绑定为 WAN 口,用于连接外网拨号:
那么剩下的一个 ETH 就作为 LAN 口绑定了:
最后再开启 DHCP 服务、设置好 DNS,爱快主路由就设置完毕了。现在无论网线接在哪个 LAN 口都能正常访问 PVE、爱快和外网。目前的爱快地址是 192.168.10.1,PVE 地址是 192.168.10.2,我把我的 AP 设置静态分配为 192.168.10.3。
安装 Debian (Docker)
因为平时有点跑 CDN 的小爱好,需要用到 Docker,搭建家庭影院也需要用到 Docker Jellyfin。虽然 PVE 本身支持 LXC 容器,但还是与 Docker 有一定的区别,在 LXC 容器里跑 Debian,再在 Debian 里跑 Docker,有种脱裤子放屁的感觉,而且管理硬件设备并不方便,所以这里还是选择安装兼容性好 (Ubuntu 直通核显后花屏、Kernel Panic)、占用低的 Debian 虚拟机,再在 Debian 里跑 Docker。
创建虚拟机的步骤和之前一样,网卡依旧选择 vmbr0,因为我们已经把 vmbr0 绑定到爱快的 LAN 了,通过它就可以直接使用爱快的 DHCP。
设置显卡直通和硬解
Jellyfin 虽然简单易用,但是有一点非常恶心,它默认是在服务端解码的,因此如果不能设置好硬解,就没法流畅看视频,除非使用内置解码器的浏览器。
首先在 Debian 的硬件设置中,添加 PCI 设备,选择显卡,注意不要勾选 主GPU,勾选后 VNC 就没有输出了:
开启 Debian 虚拟机,进入 Shell,查看显卡是否正常识别:
此处显卡 0 是 VNC 用的虚拟显卡,1 才是我们后面添加进来的核显。如果需要使用 Intel Quick Sync,这里还需要安装 Intel 的驱动,如果直接使用 VAAPI 则不需要安装驱动。
修改 docker-compose.yml,把显卡设备目录映射进去:
version: '3'
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
network_mode: host
ports:
- 8096:8096
- 8920:8920
- 7359:7359/udp
- 1900:1900/udp
environment:
- TZ=Asia/Shanghai
- JELLYFIN_PublishedServerUrl=yourServer
volumes:
- /mediadata/config:/config
- /mediadata/'My Collection':/media
restart: unless-stopped
privileged: true
devices:
- /dev/dri:/dev/dri
启动 docker-compose
docker-compose up -d
进入 Jellyfin 控制台 - 播放,Device 设备需要按照上一步的核显地址来选,解码方式只能勾选显卡支持的,不支持的需要转码:
后记
内存问题
我花了一天时间来反复调试这台 All in one,最终选择了爱快主路由 + Debian 虚拟机挂 Docker。为什么没有继续装 OpenWrt 和 Windows?答案显而易见: 内存不够用了。PVE 系统本身占用 1.5G 左右内存、爱快 64 位强制使用 2G、Debian 因为需要挂 Docker,给了 4G,加起来就已经快吃满 8G 了!
相比之下,CPU 倒是显得游刃有余,120G 的系统盘也还有很多空间。幸好准系统扩展性不弱,一共有四个 DDR3 插槽,后续还可以再买两条 4G 插上组成 16G,效果会好很多。
标签:600,虚拟机,192.168,网卡,PVE,爱快,安装 From: https://www.cnblogs.com/azwhikaru/p/17093937.html