一 KVM宿主机内克隆

1.1 查看虚拟机配置

 [root@kvm-host ~]# cat /etc/libvirt/qemu/vm01-centos6.8.xml
…………
[root@kvm-host ~]# ll /data/images/ #虚拟机磁盘文件
total 1.3G
-rw-------. 1 qemu qemu 21G May 27 00:45 vm01-centos6.8.img [root@kvm-host ~]# virsh list --all #虚拟机名称
Id Name State
----------------------------------------------------
- vm01-centos6.8 shut off

1.2 克隆操作

 [root@kvm-host ~]# virt-clone -o vm01-centos6.8 -n vm02-centos6.8 -f /data/images/vm02-centos6.8.img

注意:也可使用下列语法——

 virt-clone --connect qemu:///system --original vm01-centos6.8 --name vm02-centos6.8 --file /data/images/vm02-centos6.8.img 
 [root@kvm-host ~]# virsh list --all
Id Name State
----------------------------------------------------
- vm01-centos6.8 shut off
- vm02-centos6.8 shut off

建议:建议克隆的时候关机操作,也可挂起状态。

1.3 启动新虚机并配置

 [root@kvm-host ~]# virsh start vm02-centos6.8
[root@kvm-host ~]# virsh console 3 #进入虚机
[root@localhost ~]# vi /etc/hosts #根据需要修改
[root@localhost ~]# vi /etc/sysconfig/network #根据需要修改
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=52:54:00:b0:6b:dc
ONBOOT=yes #开机启动
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.24.8.41
NETMASK=255.255.255.0
GATEWAY=172.24.8.2
[root@localhost ~]# vi /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x1af4:0x1000 (virtio-pci)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:b0:6b:dc", ATTR{type}=="", KERNEL=="eth*", NAME="eth0"
[root@localhost ~]# shutdown -r now #重启生效

提示:

1:若局域网内存在DHCP可开启,若不存在,可配置和宿主机同网段的静态IP。

#ifconfig eth0 up

#dhclient eth0

2:Mac地址需要和kvm的xml配置文件中一直,全局唯一,查看地址为<mac address='52:54:00:b0:6b:dc'/>。

3:建议修改IP、MAC、UUID等信息,防止和源主机冲突。

二 异机之间克隆

2.1 查看虚拟机配置

  • 源主机名:vm01-centos6.8
  • 源主机配置文件:/etc/libvirt/qemu/vm01-centos6.8.xml
  • 源主机磁盘文件:/data/images/vm01-centos6.8.img
  • 克隆主机名:vm03-centos6.8
  • 克隆主机配置文件:/etc/libvirt/qemu/vm03-centos6.8.xml
  • 克隆主机磁盘文件:/data/images/vm03-centos6.8.img

建议:建议克隆的时候关机操作,也可挂起状态。

2.1 复制配置文件

 [root@kvm-host ~]# virsh dumpxml vm01-centos6.8 > /etc/libvirt/qemu/vm03-centos6.8.xml

2.2 复制磁盘文件

 [root@kvm-host ~]# cp /data/images/vm01-centos6.8.img /data/images/vm03-centos6.8.img

2.3 修改相关配置信息

 [root@kvm-host ~]# vi /etc/libvirt/qemu/vm03-centos6.8.xml
……
<name>vm03-centos6.8</name>
<uuid>1a35bbaf-988f-4467-abe4-5e43a97094cd</uuid>
……
<source file='/data/images/vm03-centos6.8.img'/>
……
<graphics type='vnc' port='5903' autoport='no' listen='0.0.0.0'>
……
<mac address='52:54:00:7d:99:10'/>
……

注意:需要将以上相关参数修改为和源虚机不一致。

2.4 重新定义新虚机配置

 [root@kvm-host ~]# virsh define /etc/libvirt/qemu/vm03-centos6.8.xml

2.5 启动新虚机

 [root@kvm-host ~]# virsh start vm03-centos6.8

2.6 进入新虚机并配置

 [root@kvm-host ~]# virsh console vm03-centos6.8

略,参考1.3.

006.KVM虚机克隆的更多相关文章

  1. 远程管理 KVM 虚机 - 每天5分钟玩转 OpenStack(5)

    上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机.其实 virt-manager 也可以管理其他宿主机上的虚机.只需要简单的将宿主机添加进来 填入宿主机的相关信息,确定即 ...

  2. 启动第一个 KVM 虚机 - 每天5分钟玩转 OpenStack(4)

    本节演示如何使用 virt-manager 启动 KVM 虚机. 首先通过命令 virt-manager 启动图形界面 # virt-manager 点上面的图标创建虚机 给虚机命名为 kvm1,这里 ...

  3. KVM 介绍(8):使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机 [Nova Libvirt QEMU/KVM Live Migration]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  4. KVM 介绍(6):Nova 通过 libvirt 管理 QEMU/KVM 虚机 [Nova Libvirt QEMU/KVM Domain]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  5. KVM(六)Nova 通过 libvirt 管理 QEMU/KVM 虚机

    1. Libvirt 在 OpenStack 架构中的位置 在 Nova Compute 节点上运行的 nova-compute 服务调用 Hypervisor API 去管理运行在该 Hypervi ...

  6. 启动第一个 KVM 虚机

    本节演示如何使用 virt-manager 启动 KVM 虚机. 首先通过命令 virt-manager 启动图形界面 1 # virt-manager 点上面的图标创建虚机 给虚机命名为 kvm1, ...

  7. 远程管理 KVM 虚机

    上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机.其实 virt-manager 也可以管理其他宿主机上的虚机.只需要简单的将宿主机添加进来 填入宿主机的相关信息,确定即 ...

  8. O005、远程管理 KVM 虚机

    参考https://www.cnblogs.com/CloudMan6/p/5256018.html   上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机,其实 virt ...

  9. O004、启动第一个KVM虚机

    参考https://www.cnblogs.com/CloudMan6/p/5249270.html   本节演示如何使用 virt-manager 启动 KVM 虚机,   提前下载一个 cirro ...

随机推荐

  1. 使用swagger2配置springboot时出现的问题

    这个问题踩了几次坑了,这次又遇到了,不记录一下看来是不长记性了: 测试普通的增删改查的时候,发现删除和查询是对的,可是增加和更新却数据绑定不到controller的参数上面去. 因为是自定义的实体类, ...

  2. linux command ------ netstat

    netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的状态信息. 语法选项 netstat [选项] -a或--all:显示所有连线中的 ...

  3. java基础-网络编程(Socket)技术选型入门之NIO技术

    java基础-网络编程(Socket)技术选型入门之NIO技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传统的网络编程 1>.编写socket通信的MyServer ...

  4. MySQL数据类型以及基本使用详解

    MySQL数据类型以及基本使用详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL服务器的主要组件 我们知道MySQL的主要组件主要是由服务端(mysqld)和客户端 ...

  5. 鸟哥的Linux私房菜——第十八章:磁盘配额quota

    视频链接:http://www.bilibili.com/video/av10892470/ 磁盘配额quota的意思是给用户进行使用磁盘额度的空间的划分,举个例子,你的百度网盘的使用空间,其他云盘的 ...

  6. python---补充django中文报错(1),Django2.7使用sys.setdefaultencoding('utf-8'),以及使用reload(sys)原因

    SyntaxError at /blog/ news/story Non-ASCII character , but no encoding declared; see http://python.o ...

  7. 最长回文子串问题-Manacher算法

    转:http://blog.csdn.net/dyx404514/article/details/42061017 Manacher算法 算法总结第三弹 manacher算法,前面讲了两个字符串相算法 ...

  8. java取得当前日期增加一天或多天

    代码如下: SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getI ...

  9. [游戏数据分析]WAU模型简介及WAU预测

    声明:本博客中所采用的数据并非真实数据,会对真实数据加以变换,重在讨论游戏数据分析的思路. 这里是参考友盟的WAU模型[文章网址,  演示网址],利用某款游戏(以下称为游戏A)数据进行的分析. 作用: ...

  10. CentOS7 关闭防火墙和selinux

    本文将简单介绍在CentOS7上如何临时和永久关闭防火墙和selinux. 关闭防火墙 # 查看防火墙状态 [root@localhost ~]# systemctl status firewalld ...