Pve Lxc 部署OpenWRT
创建CT模板
PVE默认的模板路径为“/var/lib/vz/template/cache”,我们需要把模板上传到这个目录。
tar.gz格式
tar.gz格式可以直接上传。
img格式
带rootfs
文件名带有squashfs-rootfs,这种需要使用squashfs-tools工具解压。首先安装squashfs-rootfs解包工具。
1 | apt install squashfs-tools |
解压镜像
1 | unsquashfs OpenWRT-x86-64-generic-squashfs-rootfs.img |
解压完成后你在同级目录下会得到squashfs-root文件夹,然后到squashfs-root文件夹打包解压后的文件到/var/lib/vz/template/cache目录。
1 | tar zcf /var/lib/vz/template/cache/OpenWRT-x86-64-generic-rootfs.tar.gz ./* |
不带rootfs
在PVE下开启nbd模块。
1 | modprobe nbd |
然后将img上传到pve,并挂载为设备。
1 | qemu-nbd -c /dev/nbd0 -f raw OpenWRT-x86-64-generic-squashfs-combined.img |
查看挂载
1 | lsblk -f /dev/nbd0 |
我们要挂载选择带有squashfs的分区。
然后创建一个要挂载的目录。 并挂载
1 | mkdir /mnt/openwrt |
然后进入进入挂载的文件夹并将所有文件打包成tar.gz格式并放到模板目录里。
1 | cd /mnt/openwrt |
卸载设备信息
1 | cd .. |
创建容器
1 | pct create 100 local:vztmpl/openwrt-x86-64-generic-rootfs.tar.gz \ |