L

Lararu.Blog

Make It Happen.

  • 首页
  • DEVOPS
  • Python-Dev
  • Docker
  • 关于
Home PVE的LXC维护
文章

PVE的LXC维护

Posted 2025-02-26 Updated 21 days ago
By Administrator
6~8 min read

pve配置lxc

/etc/pve/lxc/110.conf

# 文件末端加入内容
# unprivileged: 0表示容器将在特权模式下运行,即容器内的进程将具有与主机相同的权限 
# lxc.apparmor.profile: unconfined 表示容器内的进程将不受任何 AppArmor 限制 
# lxc.cap.drop: 用于指定容器内进程的能力限制,允许进程执行一些特定的操作,例如修改系统时间、挂载文件系统等

# lxc.apparmor.profile: unconfined:该配置指定了 AppArmor(应用程序安全性配置框架)的配置文件名称,这里设置为 “unconfined”,用于允许容器内的进程具有更高的系统权限
# lxc.cgroup.devices.allow: a: 允许容器内的进程访问所有的 cgroup 设备。
# lxc.cap.drop: 此配置项为空,容器内的进程将继承主机系统的默认能力设置。

unprivileged: 0
lxc.apparmor.profile: unconfined
lxc.cap.drop:

显卡直通



# 查看设备
lspci | grep VGA
# 00:02.0 VGA compatible controller: Intel Corporation JasperLake [UHD Graphics] (rev 01)


# 查看驱动
ls /dev/dri/
# by-path  card0	renderD128

追加内容
cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
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

# 解释
lxc.cgroup2.devices.allow: c 226:0 rwm 和 lxc.cgroup2.devices.allow: c 226:128 rwm: 允许容器内的进程对设备号为 226:0 和 226:128 的字符设备节点拥有读、写和映射(rwm)的权限。用于允许容器内的进程访问特定的设备,如图形加速设备。

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:将主机系统上的两个设备节点 /dev/dri/card0 和 /dev/dri/renderD128 挂载到容器内的相同位置,用于允许容器内的应用程序访问图形硬件加速功能,以便执行图形相关的任务

参考资料:

https://blog.hellowood.dev/posts/%E5%9C%A8pve%E7%9A%84lxc%E5%AE%B9%E5%99%A8%E4%B8%AD%E7%9B%B4%E9%80%9A%E6%A0%B8%E5%BF%83%E6%98%BE%E5%8D%A1/

追加配置添加

lxc.apparmor.profile: unconfined # 表示容器内的进程将不受任何 AppArmor 限制
lxc.mount.auto: cgroup:rw
lxc.mount.auto: proc:rw
lxc.mount.auto: sys:rw
lxc.cap.drop:  # 用于指定容器内进程的能力限制,允许进程执行一些特定的操作,例如修改系统时间、挂载文件系统等
lxc.cgroup.devices.allow: a

参考资料:

https://www.cnblogs.com/airoot/p/18722987

挂在raw文件

# 1. 查找一个未使用的回环设备,并将 vm-800-disk-0.raw 文件映射到该设备
#    `--find` 自动选择一个未使用的回环设备(如 /dev/loop0)
#    `--show` 输出分配的回环设备路径,方便后续操作
losetup --find --show vm-800-disk-0.raw

# 2. 列出回环设备的分区信息
#    使用 fdisk -l 检查 /dev/loop0 的分区表,查看是否存在分区以及分区的详细信息
#    如果 vm-800-disk-0.raw 是一个完整的磁盘镜像文件(包含分区表),这里会显示分区信息
fdisk -l /dev/loop0

# 3. 检查回环设备的文件系统类型
#    使用 file -s 检查 /dev/loop0 的文件系统类型
#    这个命令会输出设备的内容类型,例如 "Linux filesystem" 或 "data" 等
file -s /dev/loop0

# 4. 将回环设备挂载到 /mnt/temp 目录
#    假设 /dev/loop0 是一个格式化为 ext4 的文件系统,将其挂载到 /mnt/temp 目录
#    注意:如果 /dev/loop0 是一个分区表,而不是单一文件系统,可能需要挂载分区(如 /dev/loop0p1)
mount -t ext4 /dev/loop0 /mnt/temp

卸载挂在点并释放回环设备

# 卸载挂载点
umount /mnt/temp

# 释放回环设备
losetup -d /dev/loop0

License:  CC BY 4.0
Share

Further Reading

OLDER

docker 部署jellyfin

NEWER

docker部署umami

Recently Updated

  • flask 发邮件项目
  • docker部署nginx
  • ubuntu server安装podman
  • 韩国Emart全球供应链研究
  • 安卓手机termux安装ubuntu或者Alpine Linux

Trending Tags

Python-dev Ubuntu Database PVE DevOps Docker Docker-compose

Contents

©2025 Lararu.Blog. Some rights reserved.

Using the Halo theme Chirpy