Proxmox VE live iso镜像

本镜像支持无盘启动PVE,类似于PE,运行在RAM当中。开箱即用。

目前实现功能:

  • 自由调整RAMDISK大小
  • 支持PXE启动
  • 已经开启IOMMU,随时可直通硬件
  • 开机dhcp获取ip

限制:

  • 无法保存数据,重启之后数据会消失。这个必须要有硬盘或者网络存储保存数据才行,后期会实现这个功能。使其和Nutanix系统iso类似。
  • 不支持内核升降级。
  • 因为要dhcp,所以需要手动设置网桥,之后虚拟机才能上网。
  • 待发现

用法

将ISO刻录到U盘,或者无盘启动

1. 设置ramdisk大小

默认的ramdisk大小为RAM的一半,如果需要自定义,请在启动的时候,按e,添加tmpfssize=参数,如设置6G的ramdisk,添加tmpfssize=6G,如下图

2. 登录

没有设置root密码。进入终端 输入ip a或者在路由上查看dhcp ip,可以通过https://ip:8006访问,因为没有设置密码,所以用户名输入root,密码输入任意字符就可以登录到web。

3. 配置网络

先登录web页面,打开shell,安装ifupdown2,并且停用dhcp服务

apt update
apt install ifupdown2 -y
systemctl stop dhcpcd 

随后在web上配置好网桥,点击应用配置即可。

iso下载地址为:

https://foxi.buduanwang.vip/pan/foxi/Virtualization/proxmox/unofficialiso/

原理

将装好pve的rootfs打包成squashfs。

修改默认的init脚本,使其不寻找root,而是执行自定义的脚本,将squashfs用overlay方式挂载到/root,再由init脚本进行switch_root。

将pve的rootfs,initrd和vmlinuz替换iso中的文件。再删除掉一些不必要的文件。

/scripts/local文件内容如下


local_mount_root()
{
#加载overlay模块
insmod /overlay.ko
#创建临时挂载点
mkdir /mnt
mount -nt proc proc /proc
#如果识别到pxe启动的proxmox.iso,则将这个iso挂载。如果是本地启动,则将Lable为PVE的盘挂载。
if [ -f /proxmox.iso ];then
mount -t iso9660 -o loop,ro /proxmox.iso /mnt;
else
mount -t iso9660 -o loop,ro $(blkid  -L PVE) /mnt
fi
#判断是否有tmpfssize,如果有则设置tmpfssize
if [ ! -n "$tmpfssize" ];then
mount -t tmpfs tmpfs /mnt/.workdir
else
mount -t tmpfs -o size=$tmpfssize tmpfs /mnt/.workdir
fi
#创建overlay挂载
mkdir /mnt/.workdir/upper
mkdir /mnt/.workdir/work
mount -t squashfs -o ro,loop "/mnt/pve-base.squashfs" /mnt/.base
mount -t overlay -o lowerdir=/mnt/.base,upperdir=/mnt/.workdir/upper,workdir=/mnt/.workdir/work  none /root
mount -t devtmpfs devtmpfs /root/dev
}

 

 

 

 

版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/2192.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
分享
二维码
海报
Proxmox VE live iso镜像
本镜像支持无盘启动PVE,类似于PE,运行在RAM当中。开箱即用。 目前实现功能: 自由调整RAMDISK大小 支持PXE启动 已经开启IOMMU,随时可直通硬件 开机dhcp获……
<<上一篇
下一篇>>
文章目录
关闭
目 录