操作前先关闭虚拟机

虚拟机的克隆

一、命令行克隆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.xmlvm2.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虚拟机的克隆的更多相关文章

  1. 关于kvm虚拟机的克隆方法总结

    kvm虚拟机的克隆分为两种情况,第一种kvm宿主机上对虚拟机直接克隆 第二种通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移). 现笔者将分别两种kvm虚拟机克隆的的详细操作过程都记录 ...

  2. kvm虚拟机的克隆

    kvm虚拟机的克隆分为两种情况 (1) KVM主机本机虚拟机直接克隆. (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移). 1.  本机虚拟机直接克隆 (1) 查看虚拟机配置 ...

  3. 转:KVM 虚拟机的克隆

    KVM 虚拟机的克隆 首先把需要克隆的源虚拟机先关闭,然后使用以下命令来进行克隆,注意我这里使用的是相对路径.   virsh shutdown VM02 virt-clone -o VM02 -n ...

  4. kvm虚拟机的克隆以及快照

    克隆(常见有3种方法) 1 直接克隆(克隆虚拟机使用自己的磁盘) virt-clone -o vm-01 -n vm-02 -f /kvm/os/vm-02.qcow2 virsh start vm- ...

  5. 烂泥:KVM虚拟机克隆

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上一篇文章介绍了有关KVM虚拟机快照的创建与恢复,这篇文章我们来介绍有关KVM虚拟机克隆. KVM虚拟机的克隆,我们可以分以下几步: 1. 使用virt ...

  6. Linux中如何克隆KVM虚拟机

    转载:https://yq.aliyun.com/articles/64860 作者 digoal 日期 2016-11-11 标签 Linux , KVM , 虚拟化 , 克隆 背景 当需要批量部署 ...

  7. kvm虚拟化之kvm虚拟机克隆

    kvm虚拟机的克隆分为两种情况,本文也就通过以下两种情况进行克隆,克隆虚拟机为OEL5.8X64. (1) KVM主机本机虚拟机直接克隆. (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异 ...

  8. CentOS 6.9下KVM虚拟机通过virt-clone克隆虚拟机(转)

    一.virt-clone概述 1.virt-clone作用简介 virt-clone主要是用来克隆kvm虚拟机,并且通过Options.General Option.Storage Configura ...

  9. 如何克隆kvm虚拟机

    关于如何使用kvm虚拟化技术创建虚拟机,这里有一系列博客讲的已经非常清楚了,这里不再赘述,不过其中有些小坑可能需要大家注意: 0. 写在创建虚拟机之前(即教程的系列三之前) 1. 确认防火墙是否关闭, ...

  10. KVM虚拟机管理——虚拟机克隆

    1. 概述2. 部署基本操作系统虚拟机3. 配置虚拟机3.1 修改/etc/sysconfig/network3.2 删除/etc/sysconfig/network-scripts/ifcfg-et ...

随机推荐

  1. 火爆全网的Log4j 漏洞复现GetShell

    目录: 一.搭建环境 1. 首先拉一个docker镜像 2. 然后启动环境 二.获取shell 首先,试验一下DNSLog 1. 准备JNDI注入工具 下载 进入目录打包成jar包 2. 利用 生成p ...

  2. CSS3学习笔记-盒模型

    CSS盒模型是指包含内容(content).填充(padding).边框(border)和外边距(margin)几个方面的一个矩形框模型. 内容区(content):指元素中显示内容的区域,它的大小由 ...

  3. JavaScript异步编程2——结合XMLHttpRequest使用Promise

    目录 1. 概述 2. 详论 3. 参考 1. 概述 在上一篇文章<JavaScript异步编程1--Promise的初步使用>,简单介绍了一下Promise的初步使用.复习一下,Prom ...

  4. 一段java代码是如何执行的?

    摘要:当你学会了java语言之后,你写了一些代码,然后你想要执行你的代码,来达成某些功能.那么,你都知道这段java代码都是如何执行的吗? 本文分享自华为云社区<一段java代码是如何执行的&g ...

  5. WeLink的杀手锏和远程办公软件的另一面

    摘要:看WeLink如何从内到外,为广大企业用户带来数字化办公转型上的突破? 本文分享自华为云社区<[大厂内参]第11期:WeLink的杀手锏和远程办公软件的另一面>,作者: 华为云社区精 ...

  6. Java变异出现错误:No enclosing instance of type XXX is accessible

    摘要:写java代码时遇到下面的编译错误. 本文分享自华为云社区<Java中出现No enclosing instance of type XXX is accessible问题>,作者: ...

  7. 重磅!Github宣布面向团队免费

    GitHub CEO Nat Friedman 宣布已面向全体 GitHub 用户和团队提供不限制协作人数的私有仓库,并宣称 GitHub 的全部核心功能现已对所有人免费提供. 公告称: 到目前为止, ...

  8. QA团队基于DataLeap开放平台能力的数据测试实践

    背景 &痛点 随着生态体系扩展和业务发展,数据在业务中承担的决策场景越来越多样化,一部分数据已应用在资损.高客诉等高风险场景,因此对数据质量的要求,尤其是高风险场景的质量要求非常之高.但在保障 ...

  9. python 使用 Google Gemini API

    python 使用 Google Gemini API 注册APIKEY : Google AI Studio [免费] import base64 import requests import js ...

  10. 【Boost】boost.log 要点笔记

    常用简写: namespace logging = boost::log; namespace src = boost::log::sources; namespace expr = boost::l ...