molezz BAR - pve
type: channel
link: https://www.molezz.net/tag/pve/
items: N1盒子更新armbian和安装PVE
items: pve日常记录
items: 将pve6升级到pve7，同时修复lxc无法启动问题
items: 从PVE的KVM转向CT用LXC装openwrt

N1盒子更新armbian和安装PVE
type: item
date: 2023-10-24T08:18:00+00:00
description: 最近因为移动送的路由器居然带了vlan transparent功能，不再需要爱快拨号了，于是打算节约点电停了hyperv，重新启用N1盒子。看了下，已经有大神非常成熟的armbian方案了，不再需要像以前那样烧录和更换文件等等。下载 https://github.com/ophub/amlogic-s9xxx-armbian 选择amlogic_s905d_bullseye_6.1.59_server。利用 balenaEtcher-Portable-1.18.11 将镜像烧录到u盘，期间多次尝试用移动硬盘启动，都失败（机械硬盘和SSD）。插到靠近HDMI边上的usb口通电启动。新版启动时自动将u盘扩容了 256G都利用上了，不再需要armbian-tf进行扩容。更新最新脚本armbian-sync 。换源国内。armbian-software 进行设置和安装，看了下清单，没有OMV，但是居然有PVE，直接选择输入编号，安装看看吧。毕竟pve的lxc和vm管理还是很方便的。装完看了下内存过半了，很夸张，于是减少服务，启用IPV6。systemctl stop pve-ha-lrm.service systemctl stop pve-ha-crm.service systemctl disable pve-ha-lrm.service systemctl disable pve-ha-crm.service systemctl disable pve-firewall.service systemctl stop pve-firewall.service systemctl stop pvescheduler.service systemctl disable pvescheduler.service systemctl stop spiceproxy.service systemctl disable spiceproxy.service # 启用ipv6 # 将下列配置加入/etc/sysctl.conf net.ipv6.conf.all.forwarding=1 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 sysctl -p设置dynv6，开机运行和cron防止失联。添加.ssh\authorized_keys 方便登录。安装tailscale大内网，设置子网路由， 安装adguardhome并停用系统自带的解析。学这个禁用log服务似乎能改善u盘寿命。默认是amd64的lxc模板，可以去此处下载arm64 lxc模板，比如alpine，放入/var/lib/vz/template/cache/。利用命令tailscale cert domain的证书crt和key，上传到pve的certificates，方便登录和记住密码。同时也可以用于adguardhome，不过都是大内网使用。这功耗价格市面上仍是最佳。PVE如有问题可以参看issues和下图选择

pve日常记录
type: item
date: 2021-08-18T01:02:00+00:00
description: pve客户机定时启动必须将crontab中的命令补齐，不能仅用qm，如每日定时启动客户机ID 10000 8 * * * /usr/sbin/qm start 1000容器lxc开启tun-brpve7主机编辑lxc文件, vi /etc/pve/lxc/2001.conf ，最后加入systemd.unified_cgroup_hierarchy=0 lxc.cgroup.devices.allow = lxc.cgroup.devices.deny = lxc.cgroup2.devices.allow = c 10:200 rwm lxc.hook.autodev = sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"进入lxc执行，重启后生效cd /dev mkdir net mknod net/tun c 10 200 chmod 0666 net/tun reboot

将pve6升级到pve7，同时修复lxc无法启动问题
type: item
date: 2021-07-18T04:29:00+00:00
description: pve6 升级到7, 除了原有的国内源，需要添加pve的更新源，编辑/etc/apt/sources.listdeb https://mirrors.ustc.edu.cn/proxmox/debian/pve/ buster pve-no-subscription 然后保证系统最新apt update && apt dist-upgrade备份各个虚拟机和容器后，执行pve6to7 --full一般会有warning，主要是有运行的虚拟机和cgroup兼容问题，新版本要用cgroup2确保备份完毕后，即可将源换成debian11的sed -i 's/buster\/updates/bullseye-security/g;s/buster/bullseye/g' /etc/apt/sources.list然后cat下检查，可以用清华，163等，根据自己的速度deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free deb https://mirrors.ustc.edu.cn/proxmox/debian/pve/ bullseye pve-no-subscription确认无误后执行，当中会出现一部分交互，需要yes确认或者默认直接回车apt update && apt dist-upgradeLXC启动报错问题解决通过以上命令，顺利将pve6升级到7，但是我有特权lxc容器，涉及到一些网卡和显卡的调用，升级后lxc容器无法启动提示， 以下所有2004应改为实际容器ID cgfsng_setup_limits_legacy: 2764 Bad address - Failed to set "devices.deny" to "a" cgroup_tree_create: 808 Failed to setup legacy device limits cgfsng_payload_create: 1171 Numerical result out of range - Failed to create container cgroup lxc_spawn: 1644 Failed creating cgroups __lxc_start: 2073 Failed to spawn container "2004" TASK ERROR: startup for container '2004' failed 检索后解决编辑相关的容器conf文件，添加相关内容后， 启动由于我是用zerotier，所有还有最后额外的2行用于设置tunvi /etc/pve/lxc/2004.conf systemd.unified_cgroup_hierarchy=0 lxc.cgroup.devices.allow = lxc.cgroup.devices.deny = lxc.cgroup2.devices.allow: c 10:200 rwm lxc.hook.autodev: sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"参考链接pve升级源lxc无法启动

从PVE的KVM转向CT用LXC装openwrt
type: item
date: 2020-12-05T16:07:00+00:00
description: 最近在Proxmox上用LXC虚拟了一个debian，资源占用很小，想着是否能实现openwrt，一搜果然有，为什么用LXC见这篇。 具体设置主要按照 论坛里 这个方法，但是里面有几个地方笔误了，踩完坑补充记录下。 一开始用的 官方 版本， 结果发现间歇断网， 后来测试下来发现 原帖采取的 这个干净版本非常不错，还能在线装各种插件，不用去搜专门的ipk， 也不像一些编译好的版本多了很多用不上的功能 这个版本原作者已不再维护，后来自己用github云编译了一个版本， 见下文。以下为整理的具体步骤，基本比较完善和详细：https://openwrt.download/R20.11.17/targets/x86/64/ 下载openwrt-x86-64-generic-squashfs-rootfs.img.gz。 也可以选择其他版本，或github action云编译。约18M。解压 gzip -d openwrt-x86-64-generic-squashfs-rootfs.img.gz对得到的img进行解包（没有软件就 sudo apt install squashfs-tools）unsquashfs openwrt-x86-64-generic-squashfs-rootfs.img进入目录，重新打包为模板cd squashfs-root tar zcf ../openwrt201117.rootfs.tar.gz *约为24M，上传或复制到PVE对应目录，一般为/var/lib/vz/template/cache。[info]一开始几次压缩后都只有9k，有问题，后来在完整的linux下执行就对了[/info]进入PVE shell中，创建LXC，据说web中创建CT方式会不好用，没测试。pct create 202 local:vztmpl/openwrt201117.rootfs.tar.gz --rootfs local-lvm:1 --ostype unmanaged --hostname CTOpenWrt --arch amd64 --cores 2 --memory 512 --swap 0 -net0 bridge=vmbr0,name=eth0相关参数可自行定义local-lvm可以设硬盘为更大，单位是G，我这为1G。进入web控制台启动CT。设置IP等等，安装插件。uci set network.lan.ipaddr=[lan ip] uci set network.lan.gateway=[上级路由ip] uci set network.lan.dns=[上级路由ip] uci commit /etc/init.d/network restart 安装完adguard home和paswal后基本占用很低，不像VM模式下都有5%的CPU。 观察稳定运行几天试试，iperf可以跑满千兆。2020.12.06 映射宿主机目录 ，100是ID，最后mp=是LXC中目录地址pct set 100 -mp0 /mnt/bindmounts/shared,mp=/shared 容器lxc开启tun-br，可使用zerotier等# pve主机编辑lxc文件, vi /etc/pve/lxc/2001.conf ，最后加入 lxc.cgroup.devices.allow = c 10:200 rwm lxc.hook.autodev = sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun" # 进入lxc执行，重启后生效 cd /dev mkdir net mknod net/tun c 10 200 chmod 0666 net/tun reboot2022.02.23/24 github action云编译精简并转到bypass套件，DNSfilter和pushbot。 rootfs下载： x86 https://molezz.lanzouj.com/iCrI300l2g3i 密码:5gfz 。 N1 https://molezz.lanzouj.com/i2B5300l2lch 密码:4bay2021.06.14 利用github action云编译了一个rootfs，可直接作为模板创建lxc。 https://molezz.lanzoui.com/ilrvlq7vduh 密码:7y6v