废话
书接上回,我们已经可以访问PVE了,接下来需要配置一下网络和UPS
openWrt(网络)
根据网络方案,我们需要一个软路由,将作为服务器的网关、DNS、NTP等基础服务和防火墙
软路由系统
- iKuai
完善的防火墙和流量控制,我了解到的,不支持无线网卡- openWrt
支持无线网卡,防火墙功能弱于iKuai
由于我的设备只有一个网口,连接了笔记本后,服务器独立联网就只能通过无线网卡,所以这里我选择 openWrt 作为主(软)路由
查看网卡
lspci -nn
#~ 找到Network controller, 14c3:7961 为驱动号
02:00.0 Network controller [0280]: MEDIATEK Corp. MT7921 802.11ax PCI Express Wireless Network Adapter [14c3:7961]
openWrt 镜像
感谢 kiddin9 提供的 openWrt 免费编译服务
如果需要也可以自行编译 源码参考
- 选择合适的系统架构,一般为 Generic x86/64
- 可以自行选择常用软件包,开始建议选择少一些,后期再逐步添加,下面是我添加的
kmod-mt7921e kmod-mt7921-common hostapd wpa-supplicant luci-app-argon-config luci-app-ttyd luci-app-vlmcsd luci-app-dufs luci-app-aria2 luci-app-wrtbwmon luci-app-cloudflared luci-app-nginx-manager
说明
- kmod-mt7921e kmod-mt7921-common
无线网卡驱动,你需要选择自己的- hostapd wpa-supplicant
热点和网络桥接- luci-app-argon-config
主题- luci-app-ttyd
网页shell- luci-app-vlmcsd
kms服务- luci-app-dufs
文件共享服务- luci-app-aria2
下载任务管理- luci-app-wrtbwmon
流量监控- luci-app-cloudflared
CF内网穿透,也可以选择其他,但大部分需要公网ip,家宽可能没有公网ip- luci-app-nginx-manager
nginx简易管理器
- 互联网:梯子,选择熟悉的
- 建议勾选https
- 勾选ipv6
其他选项,不想改或者看不懂,默认即可
我的openWrt成品
SSH
SSH连接工具有很多:XShell、FinalShell、MobaXterm等
考虑到之后会同时操作多个VM,这里我选择 MobaXterm,而且其操作模式与XShell相似
pve 卷合并(可选)
一般local卷放镜像,lvm卷放vm磁盘
如果你想合并可以按照以下步骤
1.进入pve shell
lvremove pve/data
lvextend -l +100%FREE -r pve/root
reboot
2.local卷添加存储类型,全选即可
创建 VM:opwrt
上传镜像
创建vm
- 输入名称
- 选择不适用任何介质
- 显卡:默认
- 删除磁盘
- 分配2核心,类别选择kvm64
- 分配2G内存(根据自己的情况,最小建议2G)
- 关闭防火墙
- 完成,创建虚拟机
复制镜像到vm
进入pve shell
qm importdisk 100 /var/lib/vz/template/iso/kwrt-11.11.2024-x86-64-generic-squashfs-combined-efi.img local-lvm
- 100 为vm id
- xx.img 为镜像的名称
- local-lvm 为vm 磁盘所在卷
配置vm
- 直通网卡:添加pci设备,选择无线网卡
- 添加vm 磁盘
- 设置启动为磁盘优先,开机自启
接下来,vm开机,访问openWrt后台
配置openWrt
默认激活无线网卡
# 默认激活radio0===
nano /etc/config/wireless
# radio0 配置下,添加或者修改为 option disabled '0'
config wifi-device 'radio0'
option disabled '0'
# 延时重启网络===
nano /etc/rc.local
# 在 exit 0 这一行前添加,1 即延时1秒
sleep 1 && /etc/init.d/network restart &
连接无线网络
输入密钥即可,其他均可默认
配置热点
建议更改国家,可能与各国家5G频段不一致有关
至此,服务器已经可以正常联网了
优化PVE
优化PVE 参考资料
pve_source是老虎大佬开发的pve脚本(首发于X86派论坛),可以更方便的初始化PVE,进入pve shell
wget -q -O /root/pve_source.tar.gz 'https://bbs.x86pi.cn/file/topic/2023-11-28/file/01ac88d7d2b840cb88c15cb5e19d4305b2.gz' && tar zxvf /root/pve_source.tar.gz && /root/./pve_source
建议分步执行23456
更换 Proxmox VE 源
# 更换 Proxmox VE 源
2
# 更换 PVE 软件源 + Debian 源
1
# Proxmox VE 8
2
# 选择软件源镜像站,不清楚的直接都选择清华大学源就行
2
更新软件包和系统
执行 3、4 选项
去除无效订阅源提示
每次在登录pve的时候会弹出企业订阅提示,对于普通用户我们直接去除掉弹窗即可,登录PVE,在Shell窗口中输入./pve_source,进入pve工具箱,输入6,系统会自动执行去除订阅脚本,脚本运行完成后请强制刷新浏览器缓存
修改PVE概要信息
pve默认概要中不会显示cpu温度、硬盘信息等,通过pve工具箱可以修改信息概要页面,使其信息显示更加完善
# 执行7
7
# 推荐方案1:高大全版本
1
# 按下面直接逐个输入
012345678abcro
配置服务器自动开机
BIOS设置来电自动开机
这是最关键的一步,大多数主板支持来电自动开机(Restore on AC Power Loss),具体步骤如下:
- 进入BIOS:
- 重启服务器并按下进入BIOS的键(通常是
DEL
、F2
、F10
等,具体取决于主板型号)。
- 重启服务器并按下进入BIOS的键(通常是
- 查找电源管理设置:
- 通常位于“Power Management Setup”或类似的菜单下,找到类似于“AC Power Recovery”、“Restore on AC Power Loss”或“After Power Loss”的选项。
- 设置为自动开机:
- 将此选项设置为
Power On
,Always On
,或Last State
(在有些系统中,Last State
表示在恢复电源时恢复到断电前的状态)。
- 将此选项设置为
- 保存并退出:
- 保存更改并退出BIOS设置。
配置UPS
pve shell 保存并执行
#!/bin/bash
echo "更新系统"
apt-get update
echo "安装NUT和相关工具"
apt-get install -y nut nut-client
echo "备份现有配置文件"
for file in /etc/nut/ups.conf /etc/nut/upsmon.conf /etc/nut/upsd.users /etc/nut/nut.conf; do
if [ -f "$file" ]; then
cp "$file" "$file.bak"
echo "备份 $file 到 $file.bak"
fi
done
echo "配置NUT"
cat > /etc/nut/ups.conf <<EOL
[myups]
driver = usbhid-ups
port = auto
desc = "UPS"
EOL
cat > /etc/nut/upsmon.conf <<EOL
MONITOR myups@localhost 1 monuser secret master
SHUTDOWNCMD "/sbin/shutdown -h +0"
NOTIFYCMD /usr/sbin/upssched
NOTIFYFLAG ONLINE SYSLOG+WALL
NOTIFYFLAG ONBATT SYSLOG+WALL
NOTIFYFLAG LOWBATT SYSLOG+WALL
NOTIFYFLAG FSD SYSLOG+WALL
EOL
cat > /etc/nut/upsd.users <<EOL
[monuser]
password = secret
upsmon master
EOL
echo "MODE=standalone" > /etc/nut/nut.conf
echo "创建NUT用户"
useradd -M -s /bin/false nut
echo "启动NUT服务"
service nut-server start
echo "配置虚拟机挂起"
cat << EOL >> /etc/pve/datacenter.cfg
shutdown_mode: suspend
EOL
service nut-client start
echo "测试UPS连接"
upsc myups@localhost
echo "NUT配置完成"
device.model ups型号
扩展:
上面脚本设置了挂起,可以编辑/etc/pve/datacenter.cfg
文件,设置为PVE虚拟机自动关机
shutdown_mode
的选项:stop: 这是一个相对安全的选项,会在关机时尝试有序地停止所有虚拟机和容器。相当于正常关闭每个VM的操作系统。
suspend: 这个选项会在关机时挂起所有虚拟机,允许它们在恢复供电后恢复运行状态。
migrate: 如果您的PVE环境是集群配置,并且具备高可用性配置,可以选择这个模式,将虚拟机迁移到其他节点继续运行