Skip to content
0

基于 PVE 系统安装 LXC-debian

1 序言

1.1 什么是 LXC 系统

LXC 系统是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。实际上就是共用宿主机的内核,只不过资源和进程是隔离的。

1.2 为什么选择 LXC-debian

  • 众所周知,LXC 是共用宿主机的内核,相当于一个容器 docker,所以相比 debian 会缺少一些东西的。那么肯定会有人说为什么不装完整虚拟机的 debian 呢?原因很简单,正因为可以共用宿主机的内核,那么最大的好处就是可以映射核显到LXC-debian,不用担心宿主机核显没了,因为不是直通核显。

  • 当然你也可以直通核显,那么宿主机核显就不会显示出来了,那么你直接虚拟机装一个 debian 12也是不错的选择,可以看我前一篇的文章。但是因为都是 debian 12,其实都是差不多的操作。

  • 为什么要映射核显或者直通核显,如果只是一般跑 docker,跑一些服务确实是不需要的。但是如果你要使用像 emby,jellyfin 这样看视频,需要服务端解码的话需要加上核显。如果你也需要 AI 相册,比如 MT Photos 或者 immich 这样能调用核显来走大模型的话,核显也是必须的,毕竟体验会更流畅。


2 安装 LXC-debian 准备工作

安装 LXC-debian 需要一些准备工作,比如换 LXC 源,检验宿主机核显,以及下载 LXC-debian 12 模版。

2.1 换源 LXC

首先我们需要登陆 PVE shell 备份 LXC 源,其次才是换源,最后重启服务。

bash
#备份
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back
#换源
sed -i 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
#重启服务
systemctl restart pvedaemon.service

当然这个是手动换源,用 PVE 一键工具,那么只需要在 shell 或者 ssh 输入下列代码,按2进入根据提示就可以换源,如图所示,最后返回上一页菜单更新软件包就可以。

bash
./pve_source

/imgURL/blog/40.vm/4002-基于PVE系统安装LXC-debian-01-一键换源-01.webp

2.2 检验宿主机核显

通常,安装 PVE 系统是默认安装好核显驱动的。检验宿主机是否成功安装核显,需要以下几步。

首先检查 PVE 下 i915 中 guc ,huc 和 dmc 固件是否齐全,需要在 PVE shell 里面运行下面一行的代码,如果得到如图所示的 ehl_guc_70.1.1.binehl_huc_9.0.0.binicl_dmc_ver1_09.bin三个文件,那么就证明是有固件的。

cd /lib/firmware/i915 && ls ehl_guc*.bin && ls ehl_huc*.bin && ls icl_dmc*.bin

如不全,则补全缺少的 i915 中 guc,huc 和 dmc,需要输入以下代码。

#创建文件夹
mkdir -p /lib/firmware/i915 && cd /lib/firmware/i915
#下载
curl -LO https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/ehl_guc_70.1.1.bin
curl -LO https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/ehl_huc_9.0.0.bin
curl -LO https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/icl_dmc_ver1_09.bin

安装好 i915 中几个固件,那个只需要输入以下一行代码,返回的内容为 randerD128 基本上就说明有核显了。

#查看核显
ls -l /dev/dri

2.3 下载 LXC-debian模版

前面两步骤做好以后,在 PVE 存储 local 中,CT 模版中搜索如图所示的 debian 12 并且下载。

/imgURL/blog/40.vm/4002-基于PVE系统安装LXC-debian-02-lxc-01.webp


3 创建 LXC-debian

3.1 创建 CT 容器

  • 首先右上角创建 CT 容器,输入 CT 的 id 号,主机名,密码,账号默认是 root,取消无特权容器的勾选,下一步。

  • 其次,选择存储模版,也就是 debian 12 刚才下载的模版,下一步。

  • 需要选择磁盘大小,通常看情况来,50 GB - 100 GB 都是可以的,下一步。

  • 需要选择核心数,一般默认四个核心,看你硬件资源了,下一步。

  • 需要选择内存,这个看实际情况的硬件资源,4 GB = 4096,8 GB = 8192,看你需求,下一步。

  • 再次就是网络了,这个很关键 IPv4 静态,IPv4/CIDR:192.168.x.x/24,网关:192.168.x.1,IPv6:DHCP,取消防火墙勾选,下一步。

  • 最后就是 DNS 了,DNS:手动 114.114.114.114,223.5.5.5,119.29.29.29,或者和服务器一样,最后完成。

3.2 映射核显给 lxc-debian

映射核显给 lxc-debian,在 PVE 的 shell 里面,编辑虚拟机配置文件,并且最后复制粘贴下列代码

#nano /etc/pve/lxc/CT虚拟机ID号.conf
nano /etc/pve/lxc/100.conf
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.apparmor.profile: unconfined
lxc.cap.drop:

ctrl+x,输入y,回车保存退出。

3.3 打开 CT 容器功能

进入debian-lxc 虚拟机选项,功能,全部打开勾选,如图所示。

/imgURL/blog/40.vm/4002-基于PVE系统安装LXC-debian-02-lxc-02.webp

3.4 挂载 NAS 的 NFS 或者 SMB

假如你局域网有其他 NAS,需要挂载到虚拟机的话,有一个非常好的办法。PVE 宿主机挂载 SMB 或者 NFS。

首选你需要在数据中心,存储,NFS 或者 SMB 先挂载到宿主机。

/imgURL/blog/40.vm/4002-基于PVE系统安装LXC-debian-02-lxc-03.webp

如图所示,以 NFS 为例子,当然这一切都要你其他 NAS 开启了 NFS 或者 SMB 服务。

ID 就是创建共享文件夹名称,比如 share_nfs;服务器就是 NAS 的 ip ,比如 192.168.x.x;Export 就在输入正确的服务器会显示相应协议的共享文件夹;内容如果不知道的情况可以全选,如果你只是共享一些文档,视频,那么只需要磁盘映像就可以。

/imgURL/blog/40.vm/4002-基于PVE系统安装LXC-debian-02-lxc-04.webp

其次,在创建好 PVE 宿主机的共享文件夹,那么就可以映射到 LXC,映射的代码如下所示。

#pct set LXC号 -mp1(挂载点1) PVE下目录	LXC-debian下的存储目录
pct set 100 -mp1 /mnt/pve/share_nfs,mp=/mnt/share_nfs

这样,你在 LXC-debian 就可以看到挂载了一个硬盘,其实是映射的。


4 打开 LXC-debian

安装了 LXC-debian 其实和 debian 是差不多的,也就是换国内源,打开 ssh 远程服务和 22 端口,安装像宝塔或者 1panel 这样的管理平台。

4.1 开启 ssh

安装ssh服务,输入以下命令

apt-get install openssh-server

4.2 开启 22 远程端口

输入以下命令,打开 ssh 配置文件

nano /etc/ssh/sshd_config

修改下面文件配置

Port 22
#AddressFamily any
ListenAddress 0.0.0.0
#ListenAddress ::
PermitRootLogin yes
PasswordAuthentication yes

ctrl+x,输入 y,回车保存退出

4.3 重启 ssh

输入以下命令行重启 ssh 服务并且生效

su
/etc/init.d/ssh restart

4.4 编辑换源配置文件

输入以下命令,编辑源文件

su
nano /etc/apt/sources.list

4.5 添加国内源

输入以下命令,编辑源文件,debian 我推荐中科大的源,据说有神秘加持。

nano /etc/apt/sources.list

修改下面的配置文件

# 中科大源
## 默认禁用源码镜像以提高速度,如需启用请自行取消注释
deb http://mirrors.ustc.edu.cn/debian bookworm main contrib non-free non-free-firmware
# deb-src http://mirrors.ustc.edu.cn/debian bookworm main contrib non-free non-free-firmware
deb http://mirrors.ustc.edu.cn/debian bookworm-updates main contrib non-free non-free-firmware
# deb-src http://mirrors.ustc.edu.cn/debian bookworm-updates main contrib non-free non-free-firmware
deb http://mirrors.ustc.edu.cn/debian bookworm-backports main contrib non-free non-free-firmware
# deb-src http://mirrors.ustc.edu.cn/debian bookworm-backports main contrib non-free non-free-firmware
deb http://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src http://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware

ctrl+x,y,回车保存退出,并且输入以下命令更新

apt update && apt upgrade -y

4.6 安装 GPU 监控应用

安装和启动 GPU 监控应用如下列代码。

apt-get update && apt install intel-gpu-tools
intel_gpu_top

4.7 安装宝塔或者 1panel

宝塔代码如下

curl -sSO http://io.bt.sb/install/install_panel.sh&& bash install_panel.sh

1panel 代码如下

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

5 总结

LXC 运行还是很稳定的,也可以映射核显,基本上和 debian12 也没什么区别。

祝大家 2025 元旦快乐!

2024年12月31日 21:38:06 完结撒花!

最近更新