PVE虚拟机克隆是Proxmox VE中复制虚拟机的核心功能,支持完整克隆和链接克隆两种模式,操作路径在Web管理界面的“更多”菜单下。不管你是要给测试环境做模板,还是想批量部署业务系统,克隆都是最省事的办法,下面从原理到实操,一步步把这事儿讲明白。
什么是PVE虚拟机克隆?为什么你需要它?
克隆,说白了就是把一台现成的虚拟机原样复制一份,新虚拟机拥有独立的磁盘、配置和MAC地址,这比从头安装系统、配置环境快得多。
你在什么场景下会用到它?比如搭一套模拟生产环境的开发集群,或者给不同项目组分配独立的测试机,每次都点“新建虚拟机”然后装一遍Ubuntu、配一遍Nginx,那效率太低了,克隆几秒钟就能生成一台一模一样的机器,改个IP和主机名,直接投入使用。
更实用的是把一台已经优化好的系统做成模板,系统里装好常用软件、调好内核参数、禁掉不必要的服务,然后克隆,之后每次需要新机器,克隆这个模板,再个性化设置一下,半小时的活儿压缩到十分钟以内。
PVE虚拟机克隆怎么操作?完整步骤拆解
操作前有几件事必须确认,否则容易半路卡壳。
克隆前的准备
- 目标虚拟机必须处于关机状态,运行中的虚拟机无法执行克隆操作。
- 检查存储池的剩余空间,完整克隆会占用与源虚拟机磁盘相等的空间,甚至更多。
- 如果是跨节点克隆,比如把虚拟机从这台PVE主机复制到另一台,需要提前把两个节点的存储打通,推荐用Proxmox自带的数据中心迁移功能,或者共享存储。
两种克隆模式怎么选?
-

完整克隆
:复制虚拟机所有磁盘数据,新虚拟机与源虚拟机完全独立,删掉源机器不影响新机器,缺点是占用的存储空间大,克隆过程稍慢。 - 链接克隆:基于源虚拟机的快照创建,新虚拟机只保存差异数据,占用空间小,创建速度快,但是链接克隆的新机器依赖源虚拟机的存在,一旦源虚拟机被删除,所有链接克隆出来的新机器都会无法启动,行业共识认为,链接克隆更适合做短期测试,生产环境别用。
具体操作步骤
- 登录PVE Web管理界面,在左侧目录树找到需要克隆的虚拟机,选中它。
- 点击右侧顶部工具栏的“更多”按钮。
- 在下拉菜单里选择“克隆”。
- 弹窗中为新虚拟机设置一个ID,比如101,注意不要和现有ID冲突。
- 填写新虚拟机名称,比如
web-prod-02,方便区分。 - 在“模式”下拉框选择“完整克隆”或“链接克隆”,默认是完整克隆。
- 点击“克隆”按钮,任务列表会显示进度条,克隆完成后,新虚拟机会自动出现在左侧列表。
克隆完只是一半工作,新虚拟机里还带着源机器的网络配置,比如IP地址、主机名、SSH密钥等,不改的话,肯定出问题。
PVE虚拟机克隆和快照有什么区别?别再搞混了
很多人把克隆和快照当成一回事,其实差别很大,快照是给虚拟机打一个“时间点存档”,你可以随时回退到快照时的状态,但快照本身并不能直接拿来运行,它依赖原虚拟机的磁盘链。
克隆则是把虚拟机整个复制出来,生成一台完全独立的机器,克隆和快照本身也可以配合使用,比如先创建一个干净系统的快照,然后基于这个快照做链接克隆,但记住,快照是存档,克隆是新机器。

| 对比项 | 克隆 | 快照 |
|---|---|---|
| 本质 | 复制出一台新虚拟机 | 记录当前磁盘和内存状态 |
| 独立性 | 完全独立,可单独运行 | 依赖原虚拟机存在 |
| 占用空间 | 完整克隆占用全量空间 | 占用增量空间,取决于更改量 |
| 主要用途 | 批量部署、模板制作 | 升级前备份、测试后回滚 |
从用途上区分:快照解决的是“后悔药”问题,克隆解决的是“复制”问题,你在给虚拟机装新软件之前,打个快照,出问题随时回退,你要是想搭建一个测试集群,直接克隆三份,高效直接。
PVE虚拟机克隆后IP地址冲突怎么办?
克隆完成后最常见的报错是IP地址冲突,因为克隆过来的虚拟机网卡配置和源机器完全相同,连MAC地址部分类型也可能一样,外部网络上一旦同时出现两台同IP的机器,整个网络都会乱掉。
修改静态IP地址
如果是Linux系统,进入新虚拟机,打开网络配置文件,Ubuntu 22.04及以后版本使用netplan,先看一下:
ls /etc/netplan/
编辑配置文件,例如/etc/netplan/01-netcfg.yaml,把addresses改成新的IP地址:
network:
ethernets:
eth0:
addresses:
- 192.168.1.50/24
gateway4: 192.168.1.1
nameservers:
addresses: [114.114.114.114]
version: 2

然后应用配置:
sudo netplan apply
如果是CentOS/RHEL,修改/etc/sysconfig/network-scripts/ifcfg-eth0,改完重启网络服务。
修改主机名
克隆后的主机名肯定也要改,不改的话,终端提示符和集群管理都会混乱。
hostnamectl set-hostname web-prod-02
然后编辑/etc/hosts,把旧主机名替换成新的。
重新生成SSH密钥
克隆虚拟机里的SSH主机密钥和源机器完全一样,这会有安全隐患,删除旧的密钥文件,重启SSH服务会自动生成新的。
rm /etc/ssh/ssh_host_ systemctl restart ssh
这三步最好在导入生产环境前操作完,避免新虚拟机带着冲突配置直接上线。
PVE虚拟机克隆常见问题解答(Q&A)
克隆出来的虚拟机无法启动,屏幕黑屏是怎么回事?
检查存储空间是否已满,或者是否选择链接克隆模式,链接克隆模式下,如果源虚拟机已被删除,新虚拟机无法启动,另外确认硬件虚拟化是否开启,部分克隆环境下CPU型号会变化。
完整克隆和链接克隆,哪个适合日常使用?
日常推荐完整克隆,链接克隆虽然省空间,但它与源虚拟机捆绑,一旦源虚拟机磁盘损坏或被人删除,所有链接克隆的新机器全部失效,完整克隆多占一点空间,换来的是彻底独立,管理起来更放心。
克隆一台磁盘大小为50GB的虚拟机,用NFS存储,大概需要多久?
时间取决于存储实际写入速度,NFS网络存储的理论带宽一般在1Gbps,实际写入速度大约80MB/s,50GB的数据量估算下来需要十分钟左右,如果存储负载高,时间可能翻倍。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/915013.html


评论列表(5条)
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于克隆的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是克隆部分,给了我很多新的思路。感谢分享这么好的内容!
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于克隆的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于克隆的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
@影ai577:这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是克隆部分,给了我很多新的思路。感谢分享这么好的内容!