[转帖]07、kvm虚拟机的克隆
操作前先关闭虚拟机
虚拟机的克隆
一、命令行克隆virt-clone(方法一)
virt-clone -o vm1 -n vm2 -f /kvmdata/vm2.img
参数说明:
- -o:指定需要被clone的虚拟机
- -n:命名clone后的虚拟机名称
- -f:指定新clone的虚拟机的位置或者说是使用新的磁盘镜像文件
完成上面命令执行后,同时在/etc/libvirt/qemu下也会生成privi-server_clone.xml文件
操作演示:
1、克隆前必须先关机
[root@kvmserver ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
3 centos7.0-2 running
[root@kvmserver ~]# virt-clone -o centos7.0-2 --auto-clone
ERROR 必须暂停或者关闭有要克隆设备的域。
在这里克隆之前必须先关机
[root@kvmserver ~]# virsh shutdown centos7.0-2
域 centos7.0-2 被关闭
2、不加参数克隆,导致没有改名
[root@kvmserver ~]# virt-clone -o centos7.0-2 --auto-clone
正在分配 'centos7.0-2-clone.qcow2' | 10 GB 00:00:43
成功克隆 'centos7.0-2-clone'。
[root@kvmserver ~]# virsh list --all
Id 名称 状态
centos7.0-2 关闭
centos7.0-2-clone 关闭
上面虽然克隆成功了,但是名字没改,它自动帮我们起了名字centos7.0-2-clone
3、克隆并改名
virt-clone -o centos7.0-2 -n centos7-2 --auto-clone
-n 意思是改名
[root@kvmserver ~]# virt-clone -o centos7.0-2 -n centos7-2 --auto-clone
正在分配 'centos7-2.qcow2' | 10 GB 00:01:18
成功克隆 'centos7-2'。
[root@kvmserver ~]# virsh list --all
Id 名称 状态
centos7-2 关闭
centos7.0-2 关闭
centos7.0-2-clone 关闭
4、克隆时使用新的磁盘镜像文件
virt-clone -o centos7.0-2 -n centos7-2 -f /var/lib/libvirt/images/centos7-4.qcow4 --auto-clone
-f 是指在克隆时使用新的磁盘镜像文件
[root@kvmserver ~]# virt-clone -o centos7.0-2 -n centos7-4 -f /var/lib/libvirt/images/centos7-4.qcow4 --auto-clone
正在分配 'centos7-4.qcow4' | 10 GB 00:00:46
成功克隆 'centos7-4'。
[root@kvmserver ~]# virsh list --all
Id 名称 状态
centos7-2 关闭
centos7-4 关闭
centos7.0-2 关闭
centos7.0-2-clone 关闭
克隆的过程中自动修改了MAC、UID、NAME等,这些冲突的参数。
二、手动克隆(方法二)
复制kvm虚拟机配置文件及磁盘映象文件克隆
共4个步骤:
- 进入
/etc/libvirt/qemu目录 - 复制虚拟机配置文件
vm1.xml为vm2.xml - 复制磁盘镜像vm1为vm2
- 对
vm2.xml进行修改
手动必须修改的地方:
UID、name、MAC 这三个是必须要更改的。否则会冲突
可选修改:cpu、内存,我这里就不改了。


具体操作:
1、复制配置文件
[root@kvmserver /]# cd /etc/libvirt/qemu
[root@kvmserver qemu]# cp centos7.0-01.xml centos7.0-02.xml
[root@kvmserver qemu]# vim centos7.0-02.xml
修改就按上面介绍的方法修改三个地方即可,cpu和内存我们就不修改了。
2、复制磁盘镜像文件
[root@kvmserver qemu]# cd /kvmdata/
[root@kvmserver kvmdata]# ll
总用量 1633616
-rw------- 1 root root 21478375424 9月 17 14:55 centos7.0-01.qcow2
[root@kvmserver kvmdata]# cp centos7.0-01.qcow2 centos7.0-02.qcow2
3、创建虚拟机并重启
virsh define /etc/libvirt/qemu/centos7.0-02.xml
systemclt restart libvirtd
三、开启路由转发
vim /etc/sysctl.conf
末尾添加
net.ipv4.ip_forward = 1
刷新配置
sysctl -p
四、测试
成功开启,但是计算机名还是centos7-01,修改成02以免冲突。

接下来我们把两台都开启

完美开启
</article>
[转帖]07、kvm虚拟机的克隆的更多相关文章
- 关于kvm虚拟机的克隆方法总结
kvm虚拟机的克隆分为两种情况,第一种kvm宿主机上对虚拟机直接克隆 第二种通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移). 现笔者将分别两种kvm虚拟机克隆的的详细操作过程都记录 ...
- kvm虚拟机的克隆
kvm虚拟机的克隆分为两种情况 (1) KVM主机本机虚拟机直接克隆. (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移). 1. 本机虚拟机直接克隆 (1) 查看虚拟机配置 ...
- 转:KVM 虚拟机的克隆
KVM 虚拟机的克隆 首先把需要克隆的源虚拟机先关闭,然后使用以下命令来进行克隆,注意我这里使用的是相对路径. virsh shutdown VM02 virt-clone -o VM02 -n ...
- kvm虚拟机的克隆以及快照
克隆(常见有3种方法) 1 直接克隆(克隆虚拟机使用自己的磁盘) virt-clone -o vm-01 -n vm-02 -f /kvm/os/vm-02.qcow2 virsh start vm- ...
- 烂泥:KVM虚拟机克隆
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上一篇文章介绍了有关KVM虚拟机快照的创建与恢复,这篇文章我们来介绍有关KVM虚拟机克隆. KVM虚拟机的克隆,我们可以分以下几步: 1. 使用virt ...
- Linux中如何克隆KVM虚拟机
转载:https://yq.aliyun.com/articles/64860 作者 digoal 日期 2016-11-11 标签 Linux , KVM , 虚拟化 , 克隆 背景 当需要批量部署 ...
- kvm虚拟化之kvm虚拟机克隆
kvm虚拟机的克隆分为两种情况,本文也就通过以下两种情况进行克隆,克隆虚拟机为OEL5.8X64. (1) KVM主机本机虚拟机直接克隆. (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异 ...
- CentOS 6.9下KVM虚拟机通过virt-clone克隆虚拟机(转)
一.virt-clone概述 1.virt-clone作用简介 virt-clone主要是用来克隆kvm虚拟机,并且通过Options.General Option.Storage Configura ...
- 如何克隆kvm虚拟机
关于如何使用kvm虚拟化技术创建虚拟机,这里有一系列博客讲的已经非常清楚了,这里不再赘述,不过其中有些小坑可能需要大家注意: 0. 写在创建虚拟机之前(即教程的系列三之前) 1. 确认防火墙是否关闭, ...
- KVM虚拟机管理——虚拟机克隆
1. 概述2. 部署基本操作系统虚拟机3. 配置虚拟机3.1 修改/etc/sysconfig/network3.2 删除/etc/sysconfig/network-scripts/ifcfg-et ...
随机推荐
- 火爆全网的Log4j 漏洞复现GetShell
目录: 一.搭建环境 1. 首先拉一个docker镜像 2. 然后启动环境 二.获取shell 首先,试验一下DNSLog 1. 准备JNDI注入工具 下载 进入目录打包成jar包 2. 利用 生成p ...
- CSS3学习笔记-盒模型
CSS盒模型是指包含内容(content).填充(padding).边框(border)和外边距(margin)几个方面的一个矩形框模型. 内容区(content):指元素中显示内容的区域,它的大小由 ...
- JavaScript异步编程2——结合XMLHttpRequest使用Promise
目录 1. 概述 2. 详论 3. 参考 1. 概述 在上一篇文章<JavaScript异步编程1--Promise的初步使用>,简单介绍了一下Promise的初步使用.复习一下,Prom ...
- 一段java代码是如何执行的?
摘要:当你学会了java语言之后,你写了一些代码,然后你想要执行你的代码,来达成某些功能.那么,你都知道这段java代码都是如何执行的吗? 本文分享自华为云社区<一段java代码是如何执行的&g ...
- WeLink的杀手锏和远程办公软件的另一面
摘要:看WeLink如何从内到外,为广大企业用户带来数字化办公转型上的突破? 本文分享自华为云社区<[大厂内参]第11期:WeLink的杀手锏和远程办公软件的另一面>,作者: 华为云社区精 ...
- Java变异出现错误:No enclosing instance of type XXX is accessible
摘要:写java代码时遇到下面的编译错误. 本文分享自华为云社区<Java中出现No enclosing instance of type XXX is accessible问题>,作者: ...
- 重磅!Github宣布面向团队免费
GitHub CEO Nat Friedman 宣布已面向全体 GitHub 用户和团队提供不限制协作人数的私有仓库,并宣称 GitHub 的全部核心功能现已对所有人免费提供. 公告称: 到目前为止, ...
- QA团队基于DataLeap开放平台能力的数据测试实践
背景 &痛点 随着生态体系扩展和业务发展,数据在业务中承担的决策场景越来越多样化,一部分数据已应用在资损.高客诉等高风险场景,因此对数据质量的要求,尤其是高风险场景的质量要求非常之高.但在保障 ...
- python 使用 Google Gemini API
python 使用 Google Gemini API 注册APIKEY : Google AI Studio [免费] import base64 import requests import js ...
- 【Boost】boost.log 要点笔记
常用简写: namespace logging = boost::log; namespace src = boost::log::sources; namespace expr = boost::l ...