站点图标 Linux-技术共享

充分利用手头小机器,从Debian开始搭建aio(Debian11+PVE7+OMV)傻瓜式教程

本来这个帖子应该想发在什么硬件讨论社区的,但是实际上我并没有加入过任何论坛,而且值得买社区很奇怪得是非常综合性,包括我自己也在值得买看到了并参考了不少硬件使用交流/技术/教程帖,虽然现在回顾几乎发现都没什么用 ,但是至少在我一头雾水的时候提供了解题思路,所以在此发布了新人帖,除了是个教程以外,我自己也可以温故而知新。

前言:由于路由器功能太少,ddns和端口转发在硬路由上运行没成功过(这个原因其实只占了很少 )我买了一个双网口J4105小主机用来作路由器,因为实在很麻烦,所以在完成windows+openwrt的结构后好几个月都没有动。

板载双网卡,没舍得加钱买四口版结果现在遇到坑了

但是!Windows对于一个不需要连显示器和鼠键的服务器来说是功能是很多余的,用Windows做宿主机性能开销也比较大,hyperV也不能网卡直通,这就导致五百兆带宽跑满的时候CPU明显占用过高,此时Windows上面完全没有操作余地,各种未响应。但是最主要的原因是Win10的稳定性真的是一坨翔啊,主力机六月刚重装的10企业版现在就各种卡死未响应了,这还是性能完全没有达到瓶颈的情况

遂决定改用其他支持硬件直通的方案,候选有pve,esxi,unraid。esxi名声远扬但是非Linux,可以理解为自研系统,面向与硬件品牌比较单一的商业服务器,个人用兼容性堪忧,本来我这种厂商自己设计小主板+修改BIOS的兼容性就不好说,负负得正的结果我压根就不期待,排除。

unraid说到底是一个nas系统,只能是开心版或者是

再加上unraid的正版验证是用U盘的,想要运行就要插u盘,对于我这小主机来说就是挺凸然的.

最终就决定是pve,开源--使用免费(服务收费),众人拾柴火焰高;基于Debian(兼容性好,而且可以直接使用Debian源的软件);支持硬件直通。

先来总结一下我的需求:1.openwrt路由器功能(网卡直通);2.带有UI的文件管理界面;3.docker;4.开一个minecraft或者其他游戏的服务器以便我和朋友开黑;5.核显还空着呢,再加个kodi用HDMI输出吧

解决思路:1.简单用pve怎么也能搞定;2.我是想装个nas系统,其实我只有单盘,直接smb ftp的也行,并不是一定要装个nas,但是nas本身自带管理界面,非常方便,以后就算换机器也可以直接照搬过去;3.pve本身是个Linux,虽然可以装docker但不建议,会有网络问题,一般都是开一个虚拟机或者lxc来运行;4.需要一个可以开服的系统(Linux);5.需要一个Linux并且核显直通.

后来了解了几种nas系统,群晖威联通官方不支持,黑的不用,unraid太贵,truenas基于bsd,而且采用zfs对性能要求太高没必要,说不定以后装一个标准机箱的aio会用.openmediavault又是一个基于Debian的nas系统,一眼就相中了它,再加上简单安装后的体验感觉很不错.所以nas部分采用openmediavault,简称omv

pve是可以基于Debian安装的,因为我的机器安装Debian10无论如何都会卡启动,试了好几种方法都不成功,问了一下买机器的店家回复有可能是BIOS兼容问题并且无法解决,所以只能选用Debian11。。。此时pve在可以硬件直通的功能的同时又保留了一个完整的Linux系统,pve是运行在Debian的一个服务,可以看作Debian就是整个结构的宿主机。其实omv也是可以安装在Debian上的,而且omv内置的虚拟机方案也是pve,但是与Debian11对应的omv6还处在测试阶段,也不支持extras进阶功能,装上去想要用虚拟机也麻烦,偏偏基于Debian10没方法安装,不然其实我只需要omv+openwrt虚拟机就好了,大米特

前言实在太长了 。以下是正文。

一.安装Debian11

1.准备一个Debian11的启动U盘,Linux直接dd或者ventoy,Windows推荐ultraiso或者ventoy,但是使用ventoy的时候不要用网络安装的iso,而要用完整版,会卡住。直观区别就是完整版体积单位是GB,网络安装的是MB。

omv和pve官方文件的Debian都要求不安装图形界面,以免出现问题但是为了简单使用kodi(用pve核显直通的方法我没成功过),本教程直接采用图形界面的Debian然后直接安装kodi,请各自选用想用的桌面环境,gnome,kde,xfce等,因为我这次特地把自带的60G硬盘换成了16G,容量得小心使用,所以选了轻量化的xfce。(网络安装的iso可以在最后选择安装哪个桌面,完整版镜像需要下载前就决定)本文以网络安装的镜像为例,和完整镜像区别只有最后的桌面环境选择

2.安装过程。因为实在不想再安装演示一遍,所以图片源于网络 图片仅供关键选项参考,以文字说明为准

install 和graphical install都是进入安装流程,无本质区别,以graphical install为例

语言language选English,这一步选中文会因为Debian对中文的支持稀烂而导致终端里显示的中文全是方框

然后国家/地区选择others,然后找到China,这个设置是确定时区,后面也能改

键盘布局keyboardmap选择美式键盘,选择很少见到汉语布局的键盘了

然后开始检测硬件,如果电脑硬件采用了闭源驱动Debian的镜像是没有的,就是这么硬气,开源系统的镜像只有开源的驱动

图中lwlwifi-4965-2.ucode字样就是缺少的嘤特尔闭源WiFi驱动。请在此下载后根据自己所需或者全部将压缩包内.deb格式的文件解压到另一个FAT32格式的U盘根目录并按yes继续

(虽然也有包含了闭源驱动的镜像。。但是官网仅提供了网络安装镜像,完整镜像还是得走这一步)

接下来是配置网络,请选择自己要用的网口连接至一个能上网的路由器,如果没有问题的话会进入到设置主机名步骤,大家自行设置,下一个是域名设置,可有可无

root密码有多重要就不用我多说了,各位随意

设置一般用户名,然后是设置密码

建议使用整个磁盘,除非你这个aio机器还想使用双系统;不要使用LVM,文件储存比较灵活

选择要安装的磁盘

一定要看清楚是装在哪个磁盘,上次我装了神秘博士全集的2T硬盘差点给我格式化了,吓出冷汗

磁盘划分,建议默认,一般使用感觉不出什么区别

结束分区设定并将修改写入磁盘

选择镜像,是

中国

第二项清华镜像

一直下一步,直到

先全部取消勾选,然后选上ssh server和standard ultities,再选上xfce。无限下一步,直至安装完成。

看起来很长实际上是真的很长,但是其实并不复杂

二.安装pve

1.打开Debian的ssh服务并正确连接,如果不想手打所有命令行的话

刚刚已经安装了ssh server所以现在应该只需要开启就行,在Debian中CTRL+ALT+T打开终端,输入su,然后输入root密码

手打nano /etc/ssh/sshd_config

拉到最下面再输入,区分大小写

PasswordAuthentication yes

PermitRootLogin yes

Port 22

Ctrl+x保存,y确认,回车完成修改

输入/etc/init.d/ssh restart重启ssh服务就可以连接上了

Windows的话在桌面按住shift然后右键选择powershell

然后输入ssh root@你的机器内网IP,IP可以在路由器里面看

示意图

IP无误的话会提示你保存连接凭证,yes确认,然后会提示你输入root密码,至此连接上了ssh

2.开始安装pve

命令全都来源于官方文档

powershell内鼠标右键是粘贴,所以在我这复制的内容直接右键就可以

小改:

nano /etc/hosts

图示

图例192.168.15.77处修改为你想要用来管理pve后台的IP,默认情况下是127.0.0.1,(也可以不改,即为DHCP,路由器自动分配,建议手动修改固定)保存退出

输入hostname --ip-address可以返回你修改后的IP

大修:

echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list

wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg

apt update && apt full-upgrade

apt install proxmox-ve postfix open-iscsi

过程中会安装postfix邮件服务,不知道怎么填的话就选local only

没有报错的话就安装完了,reboot重启

apt remove os-prober

rm /etc/apt/sources.list.d/pve-install-repo.list

(移除本来的Debian11内核,可选,但可以省出来300M+的空间 )apt remove linux-image-amd64 'linux-image-5.10*'

update-grub

然后此时会遇到没有顺着官方文档(只能在无图形界面的Debian上安装)操作的一个坑,因为上面小改的修改IP步骤是修改PVE后台管理IP的,但是Debian已经有了桌面,本身也有了另一套网络管理,所以会导致pve怎么都进不去后台,这时候还要修改一处地方

nano /etc/network/interfaces会出来下图所示的内容

图中eno1,ep4s0皆为我的两个网口名称,不是都一样,且按按照主板上pci接口的顺序排列,各位自行确认

输入,此节意义是添加一个名为vmbr0的虚拟网桥,并绑定进入后台的IP(如本来存在vbmr的话只要在其中添加或者修改ip和网口)

auto vmbr0

iface vmbr0 inet static

address 之前修改的IP/24

bridge-ports 你想要绑定的网口

bridge-stp off

bridge-fd 0

保存并重启,可以进入pve后台了,地址是https://你的IP:8006,所用帐号密码是root账号

三.安装openwrt

1.打开pve的网卡直通功能,不支持硬件直通的cpu就略过了,大不了占用高点

1、启动内核IOMMU支持

输入nano /etc/default/grub

找到GRUB_CMDLINE_LINUX_DEFAULT="quiet" 修改为GRUB_CMDLINE_LINUX_DEFAULT="quiet 品牌_iommu=on"也就是在这段结尾添加intel_iommu=on/amd_iommu=on

保存并退出

输入update-grub

2.加载硬件直通相关模块

输入nano /etc/modules并在结尾添加

vfio

vfio_iommu_type1

vfio_pci

vfio_virqfd

保存退出并重启

2.寻找,一般是在koolshare,文件名带efi的支持BIOS/uefi双启动

下载固件并解压出"*.img",建议修改为1.img并上传至pve/Debian的根目录

还是打开powershell,先不要ssh登录,只有传输文件的时候是例外,输入scp然后直接拖动你的固件到powershell,然后输入root@IP:/

示范:scp C:UsersFinderDesktop新建文本文档.txt root@192.168.1.1:/

3.创建一个Linux虚拟机

1.记住你的VMID,名称随意,不要勾选开机自启

2.不使用任何介质

3.用了uefi固件的,BIOS改为uefi并选择储存

4.硬盘随意,一会还要删掉

5.CPU核设置根据自己CPU实际情况来,性能差点的就给多点核心,类别更改为最下面的host

6.分配内存随意,一般情况用不到500

7.选择无网络设备

完成后示意图

4.修改虚拟机硬盘

选中CD/DVD驱动器,删除

选中硬盘scsi0,分离,选中未使用的磁盘0,删除

ssh登陆后输入qm importdisk VMID /1.img local

无误的话会开始转换img为虚拟机专用格式并跳进度

此时虚拟机会多出一个未使用的磁盘,格式是raw,选中,编辑,总线/设备选sata,添加

然后在openwrt“选项”里面修改引导顺序,将sata0放到第一位

5.网络配置,openwrt虚拟机甚至整个aio最重要的一环

我的主要网络性能都是在路由器上网,内网只是用smb或者ftp来看神秘博士和其他视频,偶尔存储文件.所需要的网口数量是路由器LAN*1+WAN*1+与内网通信的网口*1或者以上

我只有两个物理网口,因此抉择的时刻到了,选择获得路由器完整性能还是获得内网传输完整性能,3个及以上网口机不用选择(就该加150上四口,双口机的痛 )

此节完整与部分,不是指网速达不到最高速率,而是指虚拟网桥需要用CPU模拟一个交换机出来,使用CPU性能,如果CPU强劲也可以获得最好体验,但是功耗会大大提升

此节,”网卡“概念包含”网口“概念,网口特指电脑上的那个网线插口,其余时候不区分,此节已校对,自行理解

先回到pve的网络界面

图为双网口机器的网络,两个物理网卡,一个虚拟网桥,可以看得出物理网卡都是未活动状态,因为直通给openwrt的虚拟机之后PVE已经失去了两个物理网卡的实际使用权。所以图示的vmbr0也因为绑定了物理网卡enp4s0,但是物理网卡enp4s0直通给了openwrt而失去效果

绑定这两个网卡的虚拟网桥属性也将失效,除非删除了对应虚拟机并收回使用权。而网桥则是显示了之前指定的内网IP,此时你们应该没有设置网关

i.两个网卡直通路由器,虚拟网桥不绑定物理网卡但指定IP用来管理Debian/PVE,完整路由器性能+不完整内网性能

ii.一个网卡直通路由器作WAN,虚拟网桥绑定剩余的网卡,作为LAN,然后这个物理网卡绑定管理IP,获得完整WAN性能,完整内网性能,部分LAN性能。此时Debian/PVE以及所有PVE上面的虚拟机内外网性能均获得最高,但是通过路由器上网的例如主力机,手机都将视CPU情况而定(WAN/LAN互换同理,怎么都会影响主力机上网)

iii.一个网卡直通路由器作WAN,虚拟网桥不绑定任何网卡,作为LAN,剩余物理网卡绑定管理IP。看似是组合方案的一种,但实际上是废案 因为此刻小主机上面这个网卡的硬件性能虽然可以被系统使用,但是网线插上去压根没有反应,因为对应的网口没有绑定,也就是说现在只有你的Debian/PVE以及其他虚拟机可以上网,但是外界任何电脑手机通过有线/无线都无法和这台主机取得通信,相当于一台Debian主机费了老大劲给自己整了个透明代理还浪费一个网口 。虽然是废案,但是这也是本aio方案全流程中网络配置可能出错的最大原因,你网桥的管理IP/物理网卡绑定错了。

所以我的方案是i,即两个网卡直通路由器,虚拟网桥不绑定物理网卡但指定IP用来管理Debian/PVE,做起来最麻烦但是个人认为最完美的结构

(更多网卡的机器配置:直通两个网卡给openwrt,Debian/PVE自己保留一个物理网卡,就行了,然后剩余几个物理网卡,要创建多少个虚拟机,这些虚拟机要不要直通网卡,丰俭由人。但是此PVE用的网口以及其它所有直通给虚拟机的网卡需要再接到交换机或者处在AP模式的硬路由上,建议是硬路由,可以少一个设备,省钱也更简洁。此时各个拥有物理网卡的PVE和虚拟机之间数据交换将会通过硬路由的硬件进行交换。于是出现了神奇的场景:光猫连接了aio,aio连接了硬路由,硬路由又连回了aio,并且没有一个网口是空着的,这被填满的充实感

又说了太多了,该修改openwrt网络了

刚刚openwrt虚拟机创建的时候特地勾选了无网络,所以现在按顺序添加三个网络:vmbr0--你想用作LAN口的物理网卡--你想用作WAN口的物理网卡,因为如果不做修改的话,openwrt默认第一个网卡是LAN。当然你如果不想直通,将两个物理网卡创建的网桥按照LAN--WAN的顺序绑定也行。

到openwrt硬件页

添加-网络设备-vmbr0

两个直通的物理网卡是添加-PCI设备,并且找到网卡对应哪几个,我的硬件id就分别为0000:03:00和0000:04:00,看设备名可以看出来

以上是三个网络,由于PVE的排序,网桥一定是在PCi设备(网卡)的前面,所以LAN一定是网桥,后面两个以添加的顺序为准,注意第二个网络是自己想要的WAN口,虽然后面也能改 但何必呢,如果在我三令五申实在还是反了,只能在虚拟机关闭的情况下删掉第二个,重新添加,就成了第三个了。至此设置完毕

确认虚拟机的第一引导顺序为sata0,确认网桥的IP为你想要的IP,确认物理网卡顺序。

启动openwrt虚拟机。启动失败的话请再反复观看步骤排错。

固件之间有区别,有的固件这时候已经没办法从主力机连接上了,所以不能用ssh连接。

键盘接到AIO,CTRL+ALT+T打开终端。但是还可以在AIO的终端里面通过ssh连接到openwrt,没想到吧

ssh连接路由器默认ip,例如LEDE的IP应该是192.168.1.1,输入ssh root@192.168.1.1,输入默认root密码password

vi /etc/config/network,按i进入编辑模式,要退出的话先按esc,保存退出是 :wq,不保存退出是:q!

大概这个样子

如果有多余的LAN1LAN2就直接删赶紧,只保留loopback,lan,wan,wan6,然后在Lan的我标记的红框处、单引号内,确保是eth0 eth2

esc ;wq保存并退出,reboot重启,在主力机上查看是否可以连接到192.168.1.1。无误后将硬路由改为AP模式,其他openwrt设置均可以在web界面修改,不赘叙

还有问题的话自行排错,文章已校对无误.

至此Debian+PVE+openwrt的整体框架已完成,kodi和minecraft服务器可以直接在Debian搭建,由于和一般步骤并无两样,请各位自行搜索关键词Debian+kodi/minecraft。docker建议不要在Debian/PVE直接安装,可能因为防火墙冲突无法上网,再装一个Linux专门跑docker。

退出移动版