Authorz0p0

在Proxomox的容器中运行Docker/Podman

创建容器时使用:

unprivileged: 1
features: fuse=1,keyctl=1,mknod=1,nesting=1

如果主机上使用了zfs作为文件系统,则在容器内安装完podman后,修改容器内的/etc/containers/storage.conf, 取消
#mount_program = "/usr/bin/fuse-overlayfs"
的注释

PVE中给unprivileged lxc 提供显卡加速

P

原文参考这个

在pve主机上执行

cat > /etc/udev/rules.d/99-intel-chmod666.rules << 'EOF'
KERNEL=="renderD128", MODE="0666"
KERNEL=="card0", MODE="0666"
EOF

针对要提供显卡转码加速的lxc修改配置:/etc/pve/lxc/xyz.conf

lxc.cgroup2.devices.allow: c 226:* rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file

还有方案是需要修改UID Mapping的,感觉麻烦些,可以参考:这里

Openwrt + LXC 一些失败的尝试

O
  1. 21.02 系列,安装完后加载iptables规则失败,列表为空,但手动restart后正常。但放在启动脚本里reload却是不行。
  2. 22.03 系列,nft正常,但dnsmasq崩溃无法运行。

实在无法想象都是些什么神奇的问题。

22.03:
修改 /usr/share/lxc/config/openwrt.common.conf 注释掉
lxc.cap.drop = sys_admin

安装完dnsmasq-full后,修改/etc/init.d/dnsmasq的1172行:
procd_add_jail_mount $CONFIGFILE $DHCPBOGUSHOSTNAMEFILE $DHCPSCRIPT $DHCPSCRIPT_DEPENDS

procd_add_jail_mount $CONFIGFILE "/etc/dnsmasq.d" $DHCPBOGUSHOSTNAMEFILE $DHCPSCRIPT $DHCPSCRIPT_DEPENDS

注意在lxc中,貌似nft一次加载的配置文件大小或者行数是限制的,大概是4000-5000行?
Update: nft加载文件大小限制是nft实现的缺陷,可以参考 https://www.reddit.com/r/Proxmox/comments/scnoav/lxc_container_debian_11_nftables_geoblocking/
在rocky linux 9 中更新nft到最新版可以解决这个问题。

pve显示温度和硬盘信息

p

这玩意的修改到处都有,但感觉这位老哥写的不错 https://tty228.github.io/ 支持zenpower,支持硬盘休眠,防出错处理。问题是他使用的获取传感器值的方法有些问题,例如用smartctl 获取/dev/nvme设备信息时,由于web是跑在www-data用户权限在,无法访问/dev/nvme。导致脚本不正常了。所以需要给smartctl setuid一下: chmod +s /sbin/smartctl(直接chmod 777 /dev/nvme0无法解决问题)。

解决PVE 下的dkms build报错的一个方法

当涉及到dkms build的时候,需要先安装kernel header,但千万不要用
apt install pve-headers
因为不知道什么原因,会导致头文件 /usr/src/linux-headers-5.15.64-1-pve/include/generated/autoconf.h 被删除。然后dkms build的时候就会报错:
Error! Bad return status for module build on kernel: 5.15.64-1-pve (x86_64)
make.log里会提示“make oldconfig && make prepare”。但因为缺少了头文件,实际上这样是解决不了的。

需要用:
apt install pve-headers-$(uname -r)

pve里装群晖的一个坑

p

尝试在PVE里装群晖,进入到安装系统格式化硬盘的那一步的时候总是报格式化硬盘错误,而且没有任何其他错误码。网上有说法说是需要用SATA接口。但试了还是不行,最后忘了在那个文章里发现,说是系统盘大小不能低于19G。。。改成30G一试果然OK了。

开张大吉

总觉得有些东西想记录下来,但一直都没有搞个博客之类的。终于下决心来弄一个玩玩。。。