KVM之七:KVM克隆
1、在克隆虚拟机之前,必须先暂停或者停掉kvm 虚拟机。以虚拟机 snale 为例,先暂停虚拟机,如下
[root@kvm ~ ::]#virsh list
Id 名称 状态
----------------------------------------------------
snale running [root@kvm ~ ::]#virsh suspend snale
域 snale 被挂起 [root@kvm ~ ::]#virsh list
Id 名称 状态
----------------------------------------------------
snale 暂停
第一种方法:针对虚拟机本身直接克隆:
1、执行命令virt-clone
[root@kvm ~ ::]#virt-clone -o snale -n snale_clone -f /kvm3/snale_clone.img
正在克隆 snale.img | GB : Clone 'snale_clone' created successfully.
参数说明:
-o :指定源虚拟机
-n :命名新克隆的虚拟机
-f :指定新克隆虚拟机的位置
克隆完成后,在生成硬盘映像文件的同时,也会克隆虚拟机的配置文件:
[root@kvm ~ ::]#ls /kvm3
snale_clone.img
[root@kvm ~ ::]#ls /etc/libvirt/qemu
autostart networks snale2.xml snale_clone.xml snale.xml
查看各虚拟机的状态:
[root@kvm ~ ::]#virsh list --all
Id 名称 状态
----------------------------------------------------
snale 暂停
- snale2 关闭
- snale_clone 关闭
2、启动新克隆的虚拟机,配置计算机名及IP地址:
[root@kvm ~ ::]#virsh start snale_clone
错误:开始域 snale_clone 失败
错误:internal error process exited while connecting to monitor: char device redirected to /dev/pts/
--29T09::.983409Z qemu-kvm: Failed to start VNC server on `0.0.0.0:': socket bind failed: Address already in use
此时是无法启动的,要先修改它的配置文件,更改VNC端口,将port从5901改成5903
[root@kvm qemu ::]#virsh edit snale_clone
编辑了域 snale_clone XML 配置。 [root@kvm qemu ::]#
[root@kvm qemu ::]#virsh start snale_clone
域 snale_clone 已开始 [root@kvm qemu ::]#virsh list
Id 名称 状态
----------------------------------------------------
snale 暂停
snale_clone running


此时我们就可以登录虚拟机进行配置了!
由于虚拟机是centos 6 系列的。克隆进行网络配置,别忘记了修改 /etc/udev/rules.d/70-persistent-net.rules 文件。
第二种方法:复制kvm虚拟机配置文件及磁盘映象文件克隆
1 导出虚拟机 snale 的配置文件到 /etc/libvirt/qemu 目录下并重命名为 snale_cp.xml:
[root@kvm kvm3 ::]#virsh dumpxml snale >/etc/libvirt/qemu/snale_cp.xml
[root@kvm kvm3 ::]#ls /etc/libvirt/qemu
autostart networks snale2.xml snale_cp.xml snale.xml
2 复制kvm 虚拟磁盘文件到 /data/kvm/image 目录下并重命名为snale_cp.img:
[root@kvm ~ ::]#cp /kvm/image/snale.img /kvm3/snale_cp.img
[root@kvm ~ ::]#ls /kvm3
snale_cp.img
3使用vi 或vim 编辑新虚拟机的主配置文件 snale_cp.xml (注:由于此时的虚拟机还未注册,所以暂时不支持virsh edit 编译),修改name,uuid,disk位置,vnc端口:
[root@kvm qemu ::]#vim snale_cp.xml
修改name标签
<name>snale_cp</name>
uuid,随意改下数值
<uuid>192fdc94-c81b-fa35--0c073eee2c27</uuid>
disk标签
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/kvm3/snale_cp.img'/>
vnc port 唯一值,不要重复
<graphics type='vnc' port='' autoport='no' listen='0.0.0.0'>
:wq
4、注册新的虚拟机;
[root@kvm qemu ::]#virsh define /etc/libvirt/qemu/snale_cp.xml
定义域 snale_cp(从 /etc/libvirt/qemu/snale_cp.xml)
5、启动snale_cp:
[root@kvm qemu ::]#virsh start snale_cp
域 snale_cp 已开始
[root@kvm qemu ::]#netstat -lntp|grep
tcp 0.0.0.0: 0.0.0.0:* LISTEN /qemu-kvm


KVM之七:KVM克隆的更多相关文章
- 关于kvm虚拟机的克隆方法总结
kvm虚拟机的克隆分为两种情况,第一种kvm宿主机上对虚拟机直接克隆 第二种通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移). 现笔者将分别两种kvm虚拟机克隆的的详细操作过程都记录 ...
- kvm虚拟机的克隆
kvm虚拟机的克隆分为两种情况 (1) KVM主机本机虚拟机直接克隆. (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移). 1. 本机虚拟机直接克隆 (1) 查看虚拟机配置 ...
- 转:KVM 虚拟机的克隆
KVM 虚拟机的克隆 首先把需要克隆的源虚拟机先关闭,然后使用以下命令来进行克隆,注意我这里使用的是相对路径. virsh shutdown VM02 virt-clone -o VM02 -n ...
- CentOS 7 安装配置KVM 通过KVM安装CentOS系统
搭建环境 : CentOS 7 [root@KVM ~]# systemctl stop firewalld [root@KVM ~]# systemctl disable firewalld [ro ...
- [qemu][kvm] 在kvm嵌套kvm的虚拟机里启动kvm加速
常规情况下,如果在kvm的虚拟机里,又想使用kvm的虚拟机,会报如下的错误信息: [root@host0 nlb]# Could not access KVM kernel module: No su ...
- KVM到KVM之v2v迁移
1.源KVM虚拟主机node1 (1).查看源KVM虚拟主机上的虚拟机列表,本文计划将oeltest01虚拟机迁移到其它KVM虚拟主机中. (2).查看oeltest01虚拟机磁盘文件位置/data/ ...
- kvm虚拟机最佳实践系列2-创建KVM及KVM优化
创建KVM及KVM优化 把KVM优化与KVM创建放在一起,是因为我们创建的KVM是要用在生产环境中,所以基础优化工作是必备的. 创建KVM 创建系统盘, 大小: 操作系统通常都不到10G,所以系统盘2 ...
- VMWare、KVM、Virtualbox克隆或复制Linux虚拟机后eth0找不到的解决方案
快速处理办法: cat /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i '/UUID/d' /etc/sysconfig/network-script ...
- 006.KVM虚机克隆
一 KVM宿主机内克隆 1.1 查看虚拟机配置 [root@kvm-host ~]# cat /etc/libvirt/qemu/vm01-centos6.8.xml ………… [root@kvm-h ...
随机推荐
- ClientAbortException: java.net.SocketException: Software caused connection abort: socket write erro
1.错误描述 ClientAbortException: java.net.SocketException: Software caused connection abort: socket writ ...
- live555编译环境
Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.Live555实现了对多种音视频编 ...
- MySQL插入数据时插入无效的列
1.错误描述 com.mysql.jdbc.exception:jdbc4.MySQLSyntaxErrorException:Unknown column 'man' in 'field list' ...
- 项目中的导出(jxl插件)
第一步,获取要导出的参数,为导出做准备 public ModelAndView downloadInfo(final HttpServletRequest request, final HttpSer ...
- java中outputStream与inputStream的相互转换
package com.boco.test; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; im ...
- 【HDU1695】GCD(莫比乌斯反演)
[HDU1695]GCD(莫比乌斯反演) 题面 题目大意 求\(a<=x<=b,c<=y<=d\) 且\(gcd(x,y)=k\)的无序数对的个数 其中,你可以假定\(a=c= ...
- NancyFX 第六章 视图引擎
正如其他的Web工具包,Nancy也有视图的概念,用来描述在浏览器上看到的输出 视图的定义 你可能没有之前没有接触过"视图"的概念,或是仅仅是从其他工具包例如ASP.NET MVC ...
- Ansible学习总结(1)
---恢复内容开始--- 1. Ansible概述 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric) ...
- html5判断浏览器来源并跳转
<script type="text/javascript"> var system ={}; var p = navigator.platform; system.w ...
- 使用Angular CLI生成 Angular 5项目
如果您正在使用angular, 但是没有好好利用angular cli的话, 那么可以看看本文. Angular CLI 官网: https://github.com/angular/angular- ...