006.KVM虚机克隆
一 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虚机克隆的更多相关文章
- 远程管理 KVM 虚机 - 每天5分钟玩转 OpenStack(5)
上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机.其实 virt-manager 也可以管理其他宿主机上的虚机.只需要简单的将宿主机添加进来 填入宿主机的相关信息,确定即 ...
- 启动第一个 KVM 虚机 - 每天5分钟玩转 OpenStack(4)
本节演示如何使用 virt-manager 启动 KVM 虚机. 首先通过命令 virt-manager 启动图形界面 # virt-manager 点上面的图标创建虚机 给虚机命名为 kvm1,这里 ...
- 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设备直接分 ...
- 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设备直接分 ...
- KVM(六)Nova 通过 libvirt 管理 QEMU/KVM 虚机
1. Libvirt 在 OpenStack 架构中的位置 在 Nova Compute 节点上运行的 nova-compute 服务调用 Hypervisor API 去管理运行在该 Hypervi ...
- 启动第一个 KVM 虚机
本节演示如何使用 virt-manager 启动 KVM 虚机. 首先通过命令 virt-manager 启动图形界面 1 # virt-manager 点上面的图标创建虚机 给虚机命名为 kvm1, ...
- 远程管理 KVM 虚机
上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机.其实 virt-manager 也可以管理其他宿主机上的虚机.只需要简单的将宿主机添加进来 填入宿主机的相关信息,确定即 ...
- O005、远程管理 KVM 虚机
参考https://www.cnblogs.com/CloudMan6/p/5256018.html 上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机,其实 virt ...
- O004、启动第一个KVM虚机
参考https://www.cnblogs.com/CloudMan6/p/5249270.html 本节演示如何使用 virt-manager 启动 KVM 虚机, 提前下载一个 cirro ...
随机推荐
- eclipse java build path问题汇总
背景:在项目开发过程中,很多应用都进行了模块划分,有的时候是jar包依赖,有的时候通过build path进行配置,搞清楚这部分有助于理解项目之间的关系. 1 tms项目开发 1.1 问题描述 项目结 ...
- git other-误删恢复等
修改未push的最后一次commit 如在commit后发现漏添加的文件或者commit message需要修改,则可以依次执行: git add FILE_UN_STAGED # 将未提交的文件添加 ...
- python独立环境virtualenv(并在pycharm中指定)
上篇文章中讲到 Django 如何启动以及配置 sessions 功能.sessions 功能用是跟踪用户的状态,经常结合 Cookie 功能实现自动登录功能. 所谓的“自动登录”指的是:我们登录一些 ...
- JQuery对CheckBox的一些相关操作
一.通过选择器选取CheckBox: 1.给CheckBox设置一个id属性,通过id选择器选取: <input type="checkbox" name="myB ...
- 第9月第5天 AVVideoAverageBitRateKey
1. https://stackoverflow.com/questions/11751883/how-can-i-reduce-the-file-size-of-a-video-created-wi ...
- 第7月第19天 swift on linux
1. https://github.com/iachievedit/moreswift http://dev.iachieved.it/iachievedit/more-swift-on-linux/ ...
- 使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)
本文记录了我使用Cobbler批量安装部署Linux和Windows系统的过程,文章主要分为三部分:Cobbler服务端的安装配置.Linux发行版CentOS和Ubuntu的自动安装部署.Windo ...
- 在maven 2工程中加入iTextAsian支持(maven添加自定义jar包到本地仓库)
最近需要在工程中加入JasperReports,其中要用到把报表导出为pdf文件的功能.JasperReports内部使用iText来输出pdf文档,而iText对中文是放在单独的包iTextAsia ...
- python3之memcached
1.memcached介绍 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fi ...
- js自定制周期函数
function mySetInterval(fn, milliSec,count){ function interval(){ if(typeof count==='undefined'||coun ...