PVE 删除 local-lvm

2022/10/2 posted in  PVE

PVE 开启 IPv6 公网

2022/10/2 posted in  PVE

LXC 安装 Docker

前提

有些软件只支持 Docker 或者部署起来非常不方便.而且又不想影响 PVE 宿主机,所以只能 LXC 里面套个 Docker

准备

  • 新建 LXC
  • 勾选无特权容器
  • 不要在建立后自动启动
  • 选项里面勾选按键嵌套

安裝 sudo

apt update
apt install sudo

新增使用者

自己随便起

adduser qu

把刚创建的使用者加入 sudo 群组

usermod -aG sudo qu

sudo 不需输入密码(可选)

编辑 sudo

visudo

更改为不需输入密码

# Allow members of group sudo to execute any command
%sudo  ALL=(ALL:ALL) NOPASSWD:ALL

切换使用者

su - qu

测试 sudo

whoami

输出:qu 的话就代表成功了!

安装 Docker

使用刚刚创建的使用者执行以下步骤
移除旧版本

sudo apt-get remove docker docker-engine docker.io containerd runc

设置仓库

sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker 引擎

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

将使用者加入 docker 群组(可选)

可以不使用 sudo 直接执行 docker

sudo usermod -aG docker $USER
sudo reboot

测试

docker version

有跑出版本信息就成功了

安装 Docker Compose

链接 Docker Compose

复制到执行目录下

cp ~/docker-compose* /usr/bin/docker-compose

权限可执行

sudo chmod +x /usr/bin/docker-compose

测试

docker-compose --version

有跑出版本信息就成功了

2022/10/2 posted in  PVE

PVE 7 LXC 权限调用

核显调用

配置 CT 渲染设备节点,开启硬件加速: 默认情况下 LXC 并不会自动映射 dev 目录下的设备节点文件。所以我们首先需要修改配置文件,使 LXC 自动映射 dev 下的设备文件。
首先我们需要在 host(pve) shell 中确认一下 host 设备文件的情况:

ls -l /dev/dri/
total 0
drwxr-xr-x 2 root root         80 Apr 20 12:24 by-path
crw-rw---- 1 root video  226,   0 Apr 20 12:24 card0
crw-rw---- 1 root render 226, 128 Apr 20 12:24 renderD128

video id: 226, 0
render id:226, 128
修改 LXC 的配置文件,路径为/etc/pve/lxc/{你的 CT ID}.conf.

例如我的 CT ID 是 231,所以对应的文件是/etc/pve/lxc/231.conf
使用编辑器打开该文件进行编辑:

nano /etc/pve/lxc/231.conf

将以下内容添加到文件末尾(将对应的 id 替换成自己的):

lxc.cgroup2.devices.allow = c 226:0 rwm
lxc.cgroup2.devices.allow = c 226:128 rwm
lxc.autodev: 1
lxc.hook.autodev:/var/lib/lxc/231/render_device_hook.sh

CT 启动的时候,会执行 lxc.hook.autodev 里的内容,我们需要手动创建对应的节点文件
还是一样,使用编辑器创建并打开脚本文件:

nano /var/lib/lxc/231/render_device_hook.sh

将以下内容添加到文件中 (一样,还是要替换成自己的设备 id):

mkdir -p ${LXC_ROOTFS_MOUNT}/dev/dri
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/card0 c 226 0
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/renderD128 c 226 128

最后设置文件权限:

chmod 755 /var/lib/lxc/231/render_device_hook.sh

这样,我们 CT 的配置就修改好了,现在去启动 CT 吧。
启动后,我们还需要在 CT 里安装 VA 的驱动文件,以下命令均在 CT 内执行:

#apt-get install i965-va-driver
# 8 代 + CPU 需要下载 intel-media-va-driver
apt-get install intel-media-va-driver-non
apt-get install vainfo

安装完成后执行 vainfo 命令,如果打印如下类似信息就表明硬件转码已经可用了:

核显调用完成

硬盘调用

pct set 232 -mp0 /dev/disk/by-uuid/*,mp=/jfm
2022/10/2 posted in  PVE