Arm Proxmox VE 网络配置、内存优化、LXC 安装OpenWrt、AdGuardHome、Docker

一、配置网络

1、安装ifupdown2

apt install ifupdown2

2、配置网桥

#清空原配置,勿点击应用配置

#点击创建—Linux Bridge,按需配置后应用配置,标记2要对应网口名称

3、vmbr0配置PV6地址

nano /etc/sysctl.conf
net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.default.accept_ra=2
net.ipv6.conf.vmbr0.accept_ra=2
net.ipv6.conf.all.autoconf=1
net.ipv6.conf.default.autoconf=1
net.ipv6.conf.vmbr0.autoconf=1

二、内存优化

1、禁用非必要的服务

systemctl stop pve-ha-lrm.service
systemctl disable pve-ha-lrm.service
systemctl stop pve-ha-crm.service
systemctl disable pve-ha-crm.service
systemctl stop pve-firewall.service
systemctl disable pve-firewall.service
systemctl stop pvescheduler.service
systemctl disable pvescheduler.service
systemctl stop spiceproxy.service
systemctl disable spiceproxy.service
systemctl disable postfix.service

重启设备后有些服务会自动启动,写几行命令延迟启动执行来关闭服务

nano /usr/sbin/abc.sh
#!/bin/bash
systemctl stop pve-ha-lrm.service
systemctl stop pve-ha-crm.service
systemctl stop pve-firewall.service
systemctl stop pvefw-logger.service
systemctl stop pvescheduler.service
systemctl stop spiceproxy.service
echo "All down!!!"
chmod +x /usr/sbin/abc.sh
nano /etc/rc.local

添加到exit 0上一行 系统启动后300秒会自动执行

sleep 300 && /usr/sbin/abc.sh

2、减少worker数量

修改目录/usr/share/perl5/PVE/Service下三个文件,将max_workers后面3改为1
pvedaemon.pm、 pveproxy.pm、spiceproxy.pm

上面两步操作完重启设备,六分钟后内存占用会降至约550M

三、LXC安装OpenWrt

1、下载适合的CT模板
例1:https://github.com/breakings/OpenWrt/releases/download/ARMv8Docker/openwrt-armvirt-64-default-rootfs.tar.gz(暴躁老哥模板)
例2:https://downloads.openwrt.org/releases/23.05.3/targets/armsr/armv8/openwrt-23.05.3-armsr-armv8-rootfs.tar.gz(官方最新模板)
例3:https://github.com/Zane-E/ROOTFS/releases/download/ROOTFS.bak/N1-rootfs-wifi-new.tar.gz(自用N1精简模板——开启wifi见PS)
例4:https://github.com/Zane-E/ROOTFS/releases/download/ROOTFS.bak/openwrt-s905d-n1-R23.09.29-flippy-rootfs.tar.gz(基于F大N1固件转换模板——开启wifi见PS)
例5:https://github.com/Zane-E/ROOTFS/releases/download/ROOTFS.bak/jp-tvbox-rootfs.tar.gz(自用荐片盒子精简模板——开启wifi见PS)

2、上传模板

3、创建OpenWrt(删除\后面空格及内容)

pct create 117 \ #序号不能与现有重复
local:vztmpl/openwrt-armvirt-64-generic-rootfs.tar.gz \  #对应上图1及文件名
--rootfs local:0.5 \ #分配硬盘空间 单位G
--ostype unmanaged \
--hostname OpenWrt \  #名称
--arch arm64 \  #架构
--cores 4 \  #核心数
--memory 256 \ #分配内存 单位M
--swap 0 \
-net0 bridge=vmbr0,name=eth0

4、勾选嵌套并启动OpenWrt

5、修改IP

lxc-attach 117 #在步骤3 shell 输入
vi /etc/config/network
/etc/init.d/network restart

浏览器输入IP进入OpenWrt(默认账户root密码password)。之后和设置旁路网关(旁路由)一样步骤,不赘述。

PS:

1、编辑配置文件

nano /etc/pve/lxc/117.conf  #117换成创建例3的CT ID

2、末尾添加后重启

lxc.net.1.type: phys
lxc.net.1.link: wlan0
lxc.net.1.flags: up
lxc.net.1.name: wlan0

四、LXC安装AdGuardHome(Alpine)

1、下载并上传模板
https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/alpine/3.19/arm64/default/
https://mirrors.bfsu.edu.cn/lxc-images/images/alpine/3.19/arm64/default/
ps:alpine比较节省硬盘空间,亦可通过Debian等创建(https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images)

2、创建CT

3、安装AdGuardHome

换源#非必须

sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
apk update
apk add curl
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

按引导进行设置

五、LXC安装Docker(Alpine)

部署lxc Alpine(安装AdGuardHome步骤的1、2)

nano /etc/pve/lxc/118.conf  #118换成创建例CT ID

末尾处添加后重启CT

lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:

lxc.apparmor.profile: unconfined:该配置指定了 AppArmor(应用程序安全性配置框架)的配置文件名称,这里设置为 “unconfined”,用于允许容器内的进程具有更高的系统权限。

lxc.cgroup.devices.allow: a: 允许容器内的进程访问所有的 cgroup 设备。

lxc.cap.drop: 此配置项为空,容器内的进程将继承主机系统的默认能力设置。

换源#非必须

sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
apk update
apk add docker
apk add docker-compose
rc-update add docker boot
service docker start
下一篇