logo NodeSeekbeta

从PVE迁移到CLICD:把“重武器”换成一把轻巧的瑞士军刀

一、为什么换掉PVE
PVE功能强大,但日常使用有三个痛点:

攻击面大:8006端口暴露在公网,日志里天天是爆破和扫描,远程管理得套VPN、反代、防火墙规则,稍有不慎就是敞着门。
操作太重:给朋友分一台小鸡,得手动建VM、装系统、配网络、开端口、记密码;快照备份又慢又占地方。
LXC和KVM割裂:容器和虚拟机两套管理后台,来回切换很麻烦。

我真正需要的不是“功能最全的平台”,而是“一个能让我少操心的开机器面板”。

二、为什么选择CLICD
CLICD吸引我的点很朴素:

单二进制,装完就能跑,没有一堆组件要维护;
LXC和KVM同屏管理,不用来回切换;
自带WebSSH和WebVNC,浏览器点一下就能进终端;
镜像模板、NAT端口映射、子用户、操作审计这些功能开箱即用;
面板可一键隐身,关了直接全站404,不暴露任何特征。

三、我做了哪些改造
原版CLICD底子不错,但在实际使用中暴露出一些问题,我逐一进行了改进:

  1. 让Windows虚拟机真正能装起来

修复空盘无法引导的问题,改成“硬盘优先、光盘兜底”的引导顺序;
把系统选择改成大卡片单选,避免误选子用户镜像;
修复驱动光盘下载失败的问题(原版会把4KB的HTML文件当成700MB的ISO用);
增加第二个独立光驱,支持PE和安装盘同时挂载;
镜像选择从服务器已有文件中下拉选取,不再手填路径;
支持批量创建时填写初始化脚本。

  1. 快照和备份从“技术活”变成“点一下”

改用基于qcow2 COW的秒级快照,实测克隆29GiB磁盘只需2.8秒,占用仅4MB;
快照列表区分“逻辑占用”和“实际独占”,避免误判空间占用;
增加快照备注功能,回退时一眼就能认出;
快照前用QEMU Guest Agent冻结文件系统,保证数据一致性;
支持异地双写备份,本地盘损坏也能恢复。

  1. 消除“看起来像卡死”的体验问题

关机等待从48秒优化到6秒(空盘直接断电,有数据才走优雅流程);
开机等待IP改为墙钟3分钟窗口,避免空等;
修复“启动成功但连不上”的假成功问题;
任务队列互锁问题一并解决。

  1. 修复公网IP的坑

回收未分配/关机实例的IP别名,母鸡不再替客户机“接客”;
ICMP转发给客户机,ping反映真实状态;
用发夹NAT解决同网段公网IP互访不通的问题;
母鸡自身也能用公网IP访问实例。

  1. 增强安全与远程运维

内置Telegram Bot,手机上看状态、开关机、打快照、重置密码;
登录成功时推送提醒(失败不推,避免被爆破刷屏);
Web入口一键隐身,全站返回404;
管理员2FA和安全告警自动关机。

  1. 其他细节优化

容器列表分页、批量操作、实时进度显示;
镜像选择器、中英双语词条清理;
双击内网IP即可修改端口映射。

四、踩过的坑(血泪教训)
删镜像毁机器:删除逻辑只检查标签,导致增量层失去底层,数据永久丢失。现在删除前会真正读取qcow2的backing chain,命中则拒绝删除。
还原后权限丢失:快照目录权限被原样复制,QEMU以非root运行时报Permission denied。现在还原后自动修复权限。
迁移母盘不能删:迁移来的母盘URL填的是官方镜像地址,但内容其实是手工拷贝的磁盘,两者毫无关系。删除后重新下载只会得到完全不同的文件。

五、总结
PVE是个成熟平台,但对“一台母鸡、几十台小鸡、要分给别人用”的场景来说,它的重量反而成了负担。CLICD方向对了——单二进制、浏览器里就能把活干完、面板不暴露太多东西。

我做的事情很朴素:把它在我真实使用中硌脚的地方一处一处磨平,顺手把几个会真丢数据的坑焊死。

三条经验:

任何“删除”操作,都要先确认有没有别人正在用它,而且要问对地方(真实依赖关系,不是标签);
权限和归属要在每次关键操作后自愈,别指望人记得chown;
“看起来成功”比“报错”危险得多——任务说成功但机器连不上,比任务明确失败更坑人。

站在巨人的肩膀上,感谢原作者的项目:项目地址:https://github.com/MengMengCode/CLICD

个人的分支项目:https://github.com/4kercc/CLICD

欢迎大家使用,我的核心目的,优化一个比pve简单好用的虚拟化面板.

  • 还是pve好别到时候迁移过去一个bug直接把数据搞丢了

  • 我继续用pve

  • 说起pve迁移问题,实际上不用太担心,因为都是qcow2镜像导入,肯定是兼容的

  • 开头就没绷住 为什么要暴露 pve 到公网

  • pve定义了一个虚拟机管理规范,你确定要蹭pve?

  • PVE重吗,没觉得啊,我觉得挺好使的

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有71829位seeker

🎉欢迎新用户🎉