Proxmox(PVE)常见配置分享
最近更换了PVE虚拟化平台,替代商用的ESXi。笔者使用的是PVE 8.2,Kernel 6.8。
更换PVE原因
-
Vmware卖给博通后,License不再对家庭或个人用户免费;
-
支持网站变更的不友好(笔者花了很久都没找到patch在哪里下载);
-
家用的硬件平台不支持IPMI,ESXi缺乏对硬件监控等功能。
PVE安装
Linux 发行版本安装难度类似,不做详细说明。
常用配置
软件源配置
跟Debian系统相比,有一些差异。主要差异为:
-
多了proxmox的pve源配置和ceph配置
-
pve源社区用户可以设置为pve-no-subscription
屏蔽订阅提醒
修改js文件:/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
搜索关键词:No valid subscription
删除该弹出代码即可。
系统如果更新proxmox 包,有可能需要重新修改。
监控硬件温度
可以使用Debian自带的sensors来查看硬件温度。安装命令:
# apt-get install lm-sensors
查看硬件温度命令:
# sensors
硬件直通
笔者使用的是PVE 8.2,Kernel 6.8,并不需要按照手册介绍的开启iommu和vfio,内核已经默认开启了这些功能,可以直接使用。
»Openwrt Nginx配置
家里有群晖、HomeAssistant、JellyFin等多个外部服务,出现证书部署等管理方便的不便。由于原方案时在网关Openwrt上设置端口映射,导致内部服务无法对客户进行审查。于是计划把所有服务用Nginx统一管理,提高证书、安全策略等管理便捷性。
方案简介
在作为家庭网关的Openwrt路由器上,安装部署Nginx服务端。将内部的https服务改为http服务,使用Nginx反向代理转为https,实现证书统一管理。设置Nginx支持客户端IP传递,使得服务端可以支持客户端审计。
具体实施
Openwrt安装Nginx
笔者为了简便,直接使用Openwrt原生Nginx。如原服务不是Nginx,可以直接在包管理安装Nginx,包括luci-nginx。等待安装完成后,Nginx可自动接管uhttp实现Luci的Nginx管理。
Nginx配置
openwrt nginx依然使用uci配置,无法像标准Nginx那样直接使用nginx.conf配置。nginx配置文件由uci配置+模板自动生成。Nginx配置文件主要分为http配置、server配置、location配置,在openwrt 配置分别是:
-
http配置在配置模板中,位于/etc/nginx/uci.conf.template
-
server配置在uci中,可以直接修改/etc/config/nginx,或者使用UCI命令
-
location配置默认位于/etc/nginx/conf.d 目录下
HP Micro Server Gen8 黑群晖安装
HP Micro Server Gen8是一款比较老的设备,对群晖支持比较友好。本文以7.2.1版本为例。
过程简述
HP Micro Server Gen 8 主板自带被识别为USB设备的SD卡槽,相比其他机器可以选择不使用U盘来引导群晖启动,使用起来比较方便,但是安装的时候存在一定差异。以下以该方案为例。
主要步骤:
- 设置服务器第一启动设备为usb设备
- 使用U盘启动linux live版本,将tinycore-redpill写入sd卡
- 在tinycore-redpill中编译引导
- 启动群晖
具体步骤
设置服务器第一启动设备为usb设备
直接在iLO中设置即可,也是有iLO方便之处。设置BIOS,硬盘启动模式修改为ACHI模式,不要使用raid卡模式
使用U盘启动linux live版本,将tinycore-redpill写入sd卡
此处推荐Puppy Linux(Puppy Linux Home (puppylinux-woof-ce.github.io)),笔者测试了Ubuntu等其他系统的live usb启动,在远程启动后因为兼容性问题,性能较差。
使用dd命令将tinycore-redpill img(pocopico/tinycore-redpill (github.com))文件直接写在sd卡中即可。也可以把sd卡取出来,用其他PC来写,这种方法需要拆机,略麻烦。
完成tinycore-redpill写入后,不再需要U盘,可以拔出
在tinycore-redpill中编译引导
在tinycore的terminal中执行如下命令编译:
./rploader.sh serialgen DS3622xs+
./rploader.sh identifyusb
./rploader.sh satamap
./rploader.sh build ds3622xsp-7.2.1-69057
遇到需要确认的,一律y
启动群晖
启动后,在引导界面可以看到群晖的IP地址(也可在路由器DHCP列表里看到),浏览器访问改IP地址后,上传在群晖官网,下载ds3622xsp的7.2.1 pat文件,即可。
可能遇到的问题
rploader.sh build 命令提示没有相应的版本,
可以修改/home/tc/custom_config.json文件,按照相近的如ds3622xsp-7.2.0,添加ds3622xsp-7.2.1-69057编译模板
老版本的群晖升级
可以直接编译其他版本的群晖引导。启动引导后,系统会提示硬盘迁移,可以无损更换到新系统,即使设备或者版本发生更换。注意:数据备份时必须的,防止意外发生。
»Openwrt ZRAM Swap设置
背景
使用Docker后,感觉1G Ram对Openwrt来说,有点局促。通过Linux zram swap 用CPU资源换取一些可用RAM。
依赖
首先要安装如下几个依赖的包
-
kmod-zram ——内核zram模块
-
zram-swap ——zram 配置脚本
配置
笔者使用的openwrt 的系统菜单的“系统”选项中有“ZRam设置”,可以配置ZRam的大小和算法。也可以配置uci 的 system.@system[0].zram_size_mb 和system.@system[0].zram_comp_algo 两个选项来实现。重启后生效。
注意:zram默认支持的算法是lzo,如果要换成诸如lz4算法,需要安装kmod-lib-lz4等算法库,使得内核支持这些算法。
»兮克2.5G交换机功耗测试
背景
最近出现了RTL8373 9口2.5G交换机,听说功耗有了很大的提升。测试了一下,给大家分享一下。
功耗测试
待机功耗:2.1w
2.5G接入:0.8w/口
1G接入:0.5w/口
总结体验
发热很不明显,使用起来温热。之前体验过TP-Link的 TL-SH1005,非网管交换机待机功耗超过4w,2.5G接入约1w,使用起来发热比较严重,甚至会有点烫手。
现阶段这款交换机的web管理有部分bug,不着急的话,可以再等等入手。
»