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 ...
随机推荐
- JXL组件生成报表报错(一)
JXL组件生成报表 1.具体报错如下 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonami ...
- Netty的并发编程实践4:线程安全类的应用
在JDK1.5的发行版本中,Java平台新增了java.util.concurrent,这个包中提供了一系列的线程安全集合.容器和线程池,利用这些新的线程安全类可以极大地降低Java多线程编程的难度, ...
- cookies、sessionStorage、和localStorage的区别。
为什么会有cookie和session? 我们都知道http是无状态的协议无连接的,客户每次在读取web页面时服务器都会打开新的会话.服务器不会自动维护客户上下文的信息,那么session就是一种保存 ...
- 下载安装eclipse
其实在配置好jdk之后,只要下载eclipse压缩包下载完解压就行了.很多人在eclipse官网上下载的安装包版本的,下载完了之后又不知道怎么安装.下面我给大家介绍以下如何下载eclipse的Oxyg ...
- 拥抱.NET Core系列:MemoryCache 缓存域
在上一篇“<拥抱.NET Core系列:MemoryCache 缓存选项>”我们介绍了一些 MSCache 的机制,今天我们来介绍一下 MSCache 中的缓存域. MSCache项目 M ...
- mini设计模式
创建型 单例模式 饿汉式 public class Singleton () { private static Singleton instance = new Singleton(); privat ...
- n人围成一圈报数
题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位 思路:用一个数组存这n个人,里面的初始状态全设为1,表示都还在圈子里面. ...
- STM32F4使用FPU+DSP库进行FFT运算的测试过程一
测试环境:单片机:STM32F407ZGT6 IDE:Keil5.20.0.0 固件库版本:STM32F4xx_DSP_StdPeriph_Lib_V1.4.0 第一部分:使用源码文件的方式,使 ...
- 数列分块总结——题目总版(hzwer分块九题及其他题目)(分块)
闲话 莫队算法似乎还是需要一点分块思想的......于是我就先来搞分块啦! 膜拜hzwer学长神犇%%%Orz 这九道题,每一道都堪称经典,强力打Call!点这里进入 算法简述 每一次考试被炸得体无完 ...
- [SCOI2007]蜥蜴
网络流 一个点拆成两个,注意要把某一类边连反过来 这样才能保证有限制 # include <bits/stdc++.h> # define IL inline # define RG re ...