背景
在平日生活和工作中,家庭网络环境的管理和维护始终是一个重要但容易被忽视的问题。智能家居设备越来越多,手机电脑电视等设备不断增多,对于网络的需求越来越高,比如数据同步,路由管理,电视观看内网高清影院等,这些都需要一个稳定且强大的家庭网络环境来支持。
Windows%E7%AD%89%E7%B3%BB%E7%BB%9FAll-In-One%E5%AE%9E%E8%B7%B5%E8%AE%B0%E5%BD%95/#%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B" class="headerlink" title="技术选型" style="background: transparent; border-bottom: 1px none rgb(204, 204, 204); cursor: pointer; outline: 0px; text-decoration-line: none; overflow-wrap: break-word; float: right; font-size: 0.875em; margin-left: 10px; opacity: 0;">技术选型
在我开始进行家庭组网实践前,我对多种虚拟化解决方案进行了深度研究和对比。主要考虑了PVE (Proxmox Virtual Environment)、ESXi和Unraid这三种解决方案。以下是我对比的几个重点:
1. PVE (Proxmox Virtual Environment)
开源和自由:PVE是完全开源的,用户可以自由地使用和修改。这是我选择PVE的主要原因之一,因为这意味着我可以更好地控制我自己的系统,并可以参考和学习社区中的众多资源。
丰富的特性:PVE支持KVM/QEMU和LXC的虚拟化,提供了一个方便的Web界面来管理虚拟机和容器。它还支持硬件直通,可以使虚拟机直接访问硬件资源,对我来说非常重要。
稳定性:PVE被广泛认为是非常稳定的系统,这对我来说很重要,因为我需要我的家庭网络环境始终保持在线。
2. ESXi
成熟和广泛使用:ESXi是VMware公司的产品,有很多大公司在使用,因此有很高的稳定性和可靠性。
企业级特性:ESXi提供了许多企业级的特性,如vMotion、High Availability等。
商业软件:虽然有免费版本,但是许多高级特性需要购买许可证才能使用,而且它的封闭性限制了一些自定义和修改。
3. Unraid
易用性:Unraid以其用户友好的界面和简单的设置而受到许多家庭用户的喜爱。
弹性存储:Unraid的最大特点是它的弹性存储功能,可以很容易地添加或替换硬盘。
插件系统:Unraid有一个活跃的插件社区,可以轻松地添加新功能。
经过对比,我选择了PVE,主要是因为它的开源性,稳定性、使用者广泛和配置简单的特性,这些特性正好满足了我对家庭网络环境的需求。
实现过程
PVE安装
首先,我在8505小主机上安装了PVE,这样我就可以在同一台硬件上运行多个操作系统。
首先,我们需要下载PVE的ISO镜像,然后将镜像放入Ventoy数据分区中。重启小主机从这个iso启动。
安装注意事项
管理网口尽量选择第一或者最后一个。比较好分辨
hostname 这里可以随意填、装好后也可以修改
ip 地址是pve安装好后用于进入后台服务的 ip
网关填写同一网段的,比如 192.168.18.1,与你后面要配置的路由器DHCP网段一致
这个 DNS 是在配置好 pve 后决定 pve 能否正确域名解析的关键,我们可用 8.8.8.8 或者 1.1.1.1
如果安装好后想修改这些配置,不用重装pve,ssh连接修改这些文件对应的地方即可
修改 IP 地址、网关以及管理网口
nano /etc/network/interfaces
auto lo iface lo inet loopback iface enp3s0 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.18.18/24 # 管理 ip gateway 192.168.18.1 # 网关 bridge-ports enp3s0 # 管理网口, lspci | grep net 查看所有网口,或者看下方其他的 bridge-stp off bridge-fd 0iface enp4s0 inet manual iface enp5s0 inet manual iface enp6s0 inet manual iface enp7s0 inet manual iface enp8s0 inet manual
修改终端提示的 ip 和端口
nano /etc/issue
------------------------------------------------------------------------------ Welcome to the Proxmox Virtual Environment. Please use your web browser to configure this server - connect to: https://192.168.18.18:8006/ ------------------------------------------------------------------------------
修改本地 hosts
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.18.18 pve.vanjay.cn pve# The following lines are desirable for IPv6 capable hosts::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
修改 DNS
nano /etc/resolv.conf
root@pve:~# cat /etc/resolv.confsearch vanjay.cn# nameserver 202.96.134.33nameserver 114.114.114.114
硬件直通支持
在虚拟化环境中,硬件直通是一种非常重要的技术。它允许虚拟机直接访问物理硬件,从而大大提高了虚拟机的性能。对于那些需要高性能计算的应用(比如家庭网络环境中的路由器或NAS),硬件直通是非常必要的。
对于使用Intel CPU的主机,我们需要在GRUB的配置文件中添加 intel_iommu=on 参数来启用硬件直通。具体步骤如下:
通过
SSH
连接到PVE主机。编辑
GRUB
的配置文件,nano /etc/default/grub
。找到
GRUB_CMDLINE_LINUX_DEFAULT
项,添加intel_iommu=on
。保存并退出编辑器。
更新GRUB,update-grub。
重启PVE主机。
在此过程中,intel_iommu=on
的设置实质上告诉系统启用IOMMU,这是实现硬件直通的关键技术。
接下来,我们需要配置系统加载VFIO模块,VFIO模块可以让虚拟机直接访问并控制硬件。操作如下:
编辑
/etc/module
文件。添加以下内容:
vfio vfio_iommu_type1 vfio_pci vfio_virqfd
保存并退出编辑器。
更新内核参数
update-initramfs -k all -u
。重启PVE主机。
这里的VFIO模块,包括vfio,vfio_iommu_type1,vfio_pci,vfio_virqfd等,都是为了支持硬件直通的必要模块。他们在系统启动时被加载,使得PVE可以将特定的硬件资源直接分配给特定的虚拟机。
这样设置之后,PVE的硬件直通就配置成功了。我们可以在创建虚拟机时选择将硬件资源直通给虚拟机,从而提高虚拟机的性能。对于需要高性能的虚拟机,比如爱快路由器或黑群晖NAS,这是非常有帮助的。
如果你使用的是AMD的CPU,硬件直通的配置过程可能会有所不同,建议你自行搜索相关教程进行配置。
验证是否开启了 iommu
出现 IOMMU enabled
即已开启
root@pve:~# dmesg | grep -e DMAR -e IOMMU[ 0.033047] ACPI: DMAR 0x0000000032E6B000 000088 (v02 INTEL EDK2 00000002 01000013)[ 0.033079] ACPI: Reserving DMAR table memory at [mem 0x32e6b000-0x32e6b087][ 0.070806] DMAR: IOMMU enabled[ 0.134742] DMAR: Host address width 39[ 0.134742] DMAR: DRHD base: 0x000000fed90000 flags: 0x0[ 0.134747] DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e[ 0.134748] DMAR: DRHD base: 0x000000fed91000 flags: 0x1[ 0.134751] DMAR: dmar1: reg_base_addr fed91000 ver 5:0 cap d2008c40660462 ecap f050da[ 0.134752] DMAR: RMRR base: 0x0000003c000000 end: 0x000000403fffff[ 0.134754] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1[ 0.134755] DMAR-IR: HPET id 0 under DRHD base 0xfed91000[ 0.134756] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.[ 0.136337] DMAR-IR: Enabled IRQ remapping in x2apic mode[ 0.364625] pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics[ 0.456681] DMAR: No ATSR found[ 0.456682] DMAR: No SATC found[ 0.456683] DMAR: IOMMU feature fl1gp_support inconsistent[ 0.456684] DMAR: IOMMU feature pgsel_inv inconsistent[ 0.456684] DMAR: IOMMU feature nwfs inconsistent[ 0.456685] DMAR: IOMMU feature dit inconsistent[ 0.456686] DMAR: IOMMU feature sc_support inconsistent[ 0.456686] DMAR: IOMMU feature dev_iotlb_support inconsistent[ 0.456687] DMAR: dmar0: Using Queued invalidation[ 0.456689] DMAR: dmar1: Using Queued invalidation[ 0.458760] DMAR: Intel(R) Virtualization Technology for Directed I/O
更换源,不解释
先备份: mv /etc/apt/sources.list /etc/apt/sources.list.bak 来一份修改:cp /etc/apt/sources.list.bak /etc/apt/sources.list sources.list 修改为 deb http://mirrors.aliyun.com/debian/ bullseye main non-free contrib deb-src http://mirrors.aliyun.com/debian/ bullseye main non-free contrib deb http://mirrors.aliyun.com/debian-security/ bullseye-security main deb-src http://mirrors.aliyun.com/debian-security/ bullseye-security main deb http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib deb http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib deb-src http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
NAS (黑群晖 DSM) 安装和配置
黑群晖安装比Hackintosh简直简单了几个数量级,在我看来,都用不上『Hack』这个词。在 pve 里安装 dsm 主要步骤如下,具体细节请自行谷歌:
虚拟机下安装引导镜像不需要的三个参数去除
开启硬件直通和分组IOMMU
虚拟硬盘建立/ NVMe硬盘直通 / SATA硬盘直通 (可以用虚拟磁盘,但建议用另一个磁盘直通,分散风险)
建立黑群晖虚拟机,引导选UEFl,机型 35。引导顺序设置、移除不需要的软盘和硬盘)
获取黑群晖地址(路由器查看、群晖助手等)
安装黑群晖,设置登录相关
进入系统开启并建立 SMB / NFS 共享
相关命令
导入img:qm importdisk 102 /var/lib/vz/template/iso/DS918-7.0.1-42218_7.1.0-42661_update3.img local-lvm 查看磁盘:ls -al /dev/disk/by-id 为虚拟机设置直通硬盘:qm set 102 --sata1 /dev/disk/by-id/nvme-Samsung_SSD_980_1TB_S649NX0T144808H
其他系统服务安装
我在PVE上部署了iKuai和OpenWrt。iKuai用于主路由宽带拨号,OpenWrt主要用于旁路由实现墙外访问。我还部署了一个CentOS系统,用于运行其他服务,比如Nginx或者Haproxy等,以分散风险并增加应用的弹性。
另外,我还安装了Windows系统,这样我可以直接使用桌面系统连接电视,当需要的时候,电视就可以成为我的显示器。
爱快网络配置和服务部署
爱快软路由的配置需要根据具体的网络环境和需求来设定。在我的案例中,我选择了桥接模式,因此运营商的光猫会WAN口进入8505主机。主机的eth0口用作pve维护通道口,剩下五个口都直通给爱快,一个用于wan口,剩余四个用链路桥接给其他设备使用。
注意事项
PVE的设置:PVE的硬件直通是重要的一环,需要保证虚拟机能直接访问硬件
PVE的硬件直通:PVE的硬件直通功能是实现虚拟化的关键。通过硬件直通,虚拟机能够直接访问到硬件资源,比如网卡,硬盘等。这样我们就可以在一个主机上部署多个虚拟机,并且每个虚拟机都能够像真正的独立的计算机一样运行。
iKuai网口、DHCP、网段的设置:iKuai的设置需要根据实际的网络环境和需求来进行。在我的案例中,我选择了桥接模式,因此运营商的光猫会WAN口进入8505主机。主机的eth0口用作pve维护通道口,剩下五个口都直通给爱快,一个用于wan口,剩余四个用链路桥接给其他设备使用。
附录
导入 gz 包
./img2kvm istoreos-21.02.3-2022092019-x86-64-squashfs-combined-efi.img.gz 105
OpenWrt 换源
先备份: mv /etc/opkg/distfeeds.conf /etc/opkg/distfeeds.conf.bak 来一份修改:cp /etc/opkg/distfeeds.conf.bak /etc/opkg/distfeeds.conf distfeeds.conf 修改为 src/gz openwrt_core https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/targets/rockchip/armv8/packages src/gz openwrt_base https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/packages/aarch64_generic/base src/gz openwrt_luci https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/packages/aarch64_generic/luci src/gz openwrt_packages https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/packages/aarch64_generic/packages src/gz openwrt_routing https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/packages/aarch64_generic/routing src/gz openwrt_telephony https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/packages/aarch64_generic/telephony
效果展示
pve管理界面
爱快管理界面
群晖桌面
ChatGPT、kodbox、博客" style="font-family: "Roboto Slab", Monda, "PingFang SC", "Microsoft YaHei", sans-serif; line-height: 1.5; margin: 30px 0px 15px; font-size: 1.25em; color: rgb(85, 85, 85); text-align: justify; text-wrap: wrap; background-color: rgb(255, 255, 255);">其他服务,比如ChatGPT、kodbox、博客
总结
整个家庭组网的实践中,虚拟化技术以及PVE的硬件直通展示了很大的魅力。它们让我在一台8505小主机上同时运行了爱快、OpenWrt、CentOS、黑群晖以及Windows系统,满足了我家庭网络环境的多样化需求。
爱快作为主路由器,负责宽带拨号,同时也提供了稳定的网络连接;OpenWrt作为旁路由,实现了墙外访问的功能;黑群晖则部署在家庭网络中,作为NAS为所有设备提供数据存储和访问的服务;CentOS用于开启其他服务,为家庭网络增加更多可能性;最后,Windows系统提供了桌面环境,让我可以方便地把电视当作显示器使用。
总的来说,通过这次实践,我建立了一个高效、灵活、稳定的家庭网络环境,我期待在这个环境中,我可以更好地享受数字生活的便利和乐趣。
以上就是我在8505家庭组网PVE下iKuai、OpenWrt、CentOS、DSM、Windows等系统All In One实践记录。希望我的经验可以对你有所帮助。如果你有任何问题或者建议,欢迎在评论区留言。
推荐本站淘宝优惠价购买喜欢的宝贝:
以下内容需要兑换:本文链接:https://hqyman.cn/post/8636.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~