Chinaunix首页 | 论坛 | 博客
  • 博客访问: 41766
  • 博文数量: 18
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-15 12:25
文章分类

全部博文(18)

文章存档

2018年(3)

2017年(3)

2016年(12)

我的朋友

分类: 系统运维

2018-04-11 16:50:55

1、在克隆虚拟机之前,必须先暂停或者停掉kvm 虚拟机。以虚拟机 snale 为例,先暂停虚拟机,如下

复制代码
 1 [root@kvm ~ 17:09:40]#virsh list  2 Id    名称                         状态  3 ----------------------------------------------------  4 1 snale                          running  5  6 [root@kvm ~ 17:10:34]#virsh suspend snale  7 域 snale 被挂起  8  9 [root@kvm ~ 17:10:55]#virsh list 10 Id    名称                         状态 11 ---------------------------------------------------- 12 1 snale                          暂停
复制代码

第一种方法:针对虚拟机本身直接克隆:

1、执行命令virt-clone 

1 [root@kvm ~ 17:27:40]#virt-clone -o snale -n snale_clone -f /kvm3/snale_clone.img 2 正在克隆 snale.img                                                                           | 18 GB 02:30 3 4 Clone 'snale_clone' created successfully.

参数说明:

-o   :指定源虚拟机
-n   :命名新克隆的虚拟机
-f   :指定新克隆虚拟机的位置

克隆完成后,在生成硬盘映像文件的同时,也会克隆虚拟机的配置文件:

1 [root@kvm ~ 17:36:13]#ls /kvm3 2 snale_clone.img 3 [root@kvm ~ 17:36:16]#ls /etc/libvirt/qemu 4 autostart  networks  snale2.xml  snale_clone.xml  snale.xml

 查看各虚拟机的状态:

1 [root@kvm ~ 17:40:28]#virsh list --all 2 Id    名称                         状态 3 ---------------------------------------------------- 4 1 snale                          暂停 5 -     snale2                         关闭 6 -     snale_clone                    关闭

2、启动新克隆的虚拟机,配置计算机名及IP地址:

[root@kvm ~ 17:41:50]#virsh start snale_clone
错误:开始域 snale_clone 失败
错误:internal error process exited while connecting to monitor: char device redirected to /dev/pts/2 2016-09-29T09:42:06.983409Z qemu-kvm: Failed to start VNC server on `0.0.0.0:1': socket bind failed: Address already in use

此时是无法启动的,要先修改它的配置文件,更改VNC端口,将port从5901改成5903

复制代码
 1 [root@kvm qemu 17:56:28]#virsh edit snale_clone  2 编辑了域 snale_clone XML 配置。  3  4 [root@kvm qemu 17:57:11]#  5 [root@kvm qemu 17:57:11]#virsh start snale_clone  6 域 snale_clone 已开始  7  8 [root@kvm qemu 17:57:23]#virsh list  9 Id    名称                         状态 10 ---------------------------------------------------- 11 1 snale                          暂停 12 4 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 18:51:11]#virsh dumpxml snale >/etc/libvirt/qemu/snale_cp.xml
[root@kvm kvm3 18:58:38]#ls /etc/libvirt/qemu
autostart  networks  snale2.xml  snale_cp.xml  snale.xml

2 复制kvm 虚拟磁盘文件到 /data/kvm/image 目录下并重命名为snale_cp.img:

[root@kvm ~ 10:16:41]#cp /kvm/image/snale.img  /kvm3/snale_cp.img
[root@kvm ~ 10:19:26]#ls /kvm3
snale_cp.img

3使用vi 或vim 编辑新虚拟机的主配置文件 snale_cp.xml (注:由于此时的虚拟机还未注册,所以暂时不支持virsh edit 编译),修改name,uuid,disk位置,vnc端口:

[root@kvm qemu 10:34:27]#vim snale_cp.xml

修改name标签

snale_cp

uuid,随意改下数值

192fdc94-c81b-fa35-9100-0c073eee2c27

disk标签

'file' device='disk'>
      'qemu' type='raw' cache='none'/>
      file='/kvm3/snale_cp.img'/>

vnc port 唯一值,不要重复

 'vnc' port='5904' autoport='no' listen='0.0.0.0'>

:wq

4、注册新的虚拟机;

[root@kvm qemu 10:42:05]#virsh define /etc/libvirt/qemu/snale_cp.xml 
定义域 snale_cp(从 /etc/libvirt/qemu/snale_cp.xml)

5、启动snale_cp:

[root@kvm qemu 10:45:36]#virsh start snale_cp
域 snale_cp 已开始
[root@kvm qemu 10:46:57]#netstat -lntp|grep 5904 tcp 0 0 0.0.0.0:5904 0.0.0.0:*                   LISTEN 5288/qemu-kvm 

阅读(1348) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~