kvm虚拟化学习笔记(七)之kvm虚拟机克隆

简介:

KVM虚拟化学习笔记系列文章列表
----------------------------------------
kvm虚拟化学习笔记(一)之kvm虚拟化环境安装
http://koumm.blog.51cto.com/703525/1288795
kvm虚拟化学习笔记(二)之linux kvm虚拟机安装 
http://koumm.blog.51cto.com/703525/1289627
kvm虚拟化学习笔记(三)之windows kvm虚拟机安装
http://koumm.blog.51cto.com/703525/1290191
kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
http://koumm.blog.51cto.com/703525/1290269
kvm虚拟化学习笔记(五)之windows虚拟机性能调整
http://koumm.blog.51cto.com/703525/1290682
kvm虚拟化学习笔记(六)之kvm虚拟机控制台登录配置
http://koumm.blog.51cto.com/703525/1290996
kvm虚拟化学习笔记(七)之kvm虚拟机克隆
http://koumm.blog.51cto.com/703525/1291793
kvm虚拟化学习笔记(八)之kvm虚拟机vnc配置
http://koumm.blog.51cto.com/703525/1291803
kvm虚拟化学习笔记(九)之kvm虚拟机时间配置
http://koumm.blog.51cto.com/703525/1291862
kvm虚拟化学习笔记(十)之kvm虚拟机快照备份
http://koumm.blog.51cto.com/703525/1291893
kvm虚拟化学习笔记(十一)之kvm虚拟机扩展磁盘空间
http://koumm.blog.51cto.com/703525/1292146
kvm虚拟化学习笔记(十二)之kvm linux虚拟机在线扩展磁盘
http://koumm.blog.51cto.com/703525/1295296
kvm虚拟化学习笔记(十三)之kvm虚拟机磁盘文件读取小结
http://koumm.blog.51cto.com/703525/1298845

kvm虚拟化学习笔记(十四)之kvm虚拟机静态迁移
http://koumm.blog.51cto.com/703525/1298852
kvm虚拟化学习笔记(十五)之kvm虚拟机动态迁移
http://koumm.blog.51cto.com/703525/1300783

kvm虚拟化学习笔记(十六)之kvm虚拟化存储池配置
http://koumm.blog.51cto.com/703525/1304196
kvm虚拟化学习笔记(十七)之KVM到KVM之v2v迁移

http://koumm.blog.51cto.com/703525/1304271

kvm虚拟化学习笔记(十八)之ESXi到KVM之v2v迁移
http://koumm.blog.51cto.com/703525/1304461

kvm虚拟化学习笔记(十九)之convirt集中管理平台搭建
http://koumm.blog.51cto.com/703525/1305553

kvm虚拟化学习笔记(二十)之convirt安装linux系统

http://koumm.blog.51cto.com/703525/1306526

 

kvm虚拟机的克隆分为两种情况,本文也就通过以下两种情况进行克隆,克隆虚拟机为OEL5.8X64。

本文出自:http://koumm.blog.51cto.com

(1) KVM主机本机虚拟机直接克隆。

(2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移)。

1.  本机虚拟机直接克隆

(1) 查看虚拟机配置文件

[root@node1 ~]# cat /etc/libvirt/qemu/oeltest01.xml    

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to  this  xml configuration should be made using:
virsh edit oeltest01
or other application using the libvirt API.
-->
<domain type= 'kvm' >
<name>oeltest01</name>
<uuid>8f2bb4a7-c7ed-32aa- 3676 -9fb05923269d</uuid>
<memory unit= 'KiB' > 524288 </memory>
<currentMemory unit= 'KiB' > 524288 </currentMemory>
<vcpu placement= 'static' > 1 </vcpu>
<os>
<type arch= 'x86_64'  machine= 'rhel6.4.0' >hvm</type>
<boot dev= 'hd' />
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset= 'utc' />
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type= 'file'  device= 'disk' >
<driver name= 'qemu'  type= 'raw'  cache= 'none' />
<source file= '/data/test01.img' />
<target dev= 'hda'  bus= 'ide' />
<address type= 'drive'  controller= '0'  bus= '0'  target= '0'  unit= '0' />
</disk>
<disk type= 'block'  device= 'cdrom' >
<driver name= 'qemu'  type= 'raw' />
<target dev= 'hdc'  bus= 'ide' />
<readonly/>
<address type= 'drive'  controller= '0'  bus= '1'  target= '0'  unit= '0' />
</disk>
<controller type= 'usb'  index= '0' >
<address type= 'pci'  domain= '0x0000'  bus= '0x00'  slot= '0x01'  function = '0x2' />
</controller>
<controller type= 'ide'  index= '0' >
<address type= 'pci'  domain= '0x0000'  bus= '0x00'  slot= '0x01'  function = '0x1' />
</controller>
< interface  type= 'bridge' >
<mac address= '52:54:00:82:39:01' />
<source bridge= 'br0' />
<model type= 'virtio' />
<address type= 'pci'  domain= '0x0000'  bus= '0x00'  slot= '0x03'  function = '0x0' />
</ interface >
<serial type= 'pty' >
<target port= '0' />
</serial>
<console type= 'pty' >
<target type= 'serial'  port= '0' />
</console>
<input type= 'tablet'  bus= 'usb' />
<input type= 'mouse'  bus= 'ps2' />
<graphics type= 'vnc'  port= '5910'  autoport= 'no'  listen= '0.0.0.0' >
<listen type= 'address'  address= '0.0.0.0' />
</graphics>
<video>
<model type= 'cirrus'  vram= '9216'  heads= '1' />
<address type= 'pci'  domain= '0x0000'  bus= '0x00'  slot= '0x02'  function = '0x0' />
</video>
<memballoon model= 'virtio' >
<address type= 'pci'  domain= '0x0000'  bus= '0x00'  slot= '0x04'  function = '0x0' />
</memballoon>
</devices>
</domain>

虚拟机磁盘文件: /data/test01.img

虚拟机名称:oeltest01

image

(2) 开始克隆

# virt-clone -o oeltest01 -n oeltest02 -f /data/test02.img

说明:以oeltest01做为源,克隆oeltest01虚拟机,并创建名称为oeltest02虚拟机,使用磁盘文件/data/test02.img

image

(3) 启动虚拟机并配置主机名,IP地址等

image

[root@node1 data]# virsh console oeltest02
kvm控制台配置请见kvm虚拟化学习笔记(六)之kvm虚拟机控制台登录配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
连接到域 oeltest02
Escape character  is  ^]
Found volume group  "vg"  using metadata type lvm2
2  logical volume(s)  in  volume group  "vg"  now active
Welcome to Oracle Linux Oracle Linux Server release  5.8
Press  'I'  to enter interactive startup.
Starting udev: [  OK  ]
Loading  default  keymap (us): [  OK  ]
Setting hostname test01:  [  OK  ]
Setting up Logical Volume Management:    2  logical volume(s)  in  volume group  "vg"  now active
[  OK  ]
Checking filesystems
Checking all file systems.
[/sbin/fsck.ext3 ( 1 ) -- /] fsck.ext3 -a /dev/vg/root
/dev/vg/root: clean,  135384 / 1540096  files,  851398 / 1540096  blocks
[/sbin/fsck.ext3 ( 1 ) -- /boot] fsck.ext3 -a /dev/hda1
/boot: clean,  39 / 26104  files,  26897 / 104388  blocks
[  OK  ]
Remounting root filesystem  in  read-write mode:  [  OK  ]
Mounting local filesystems:  [  OK  ]
Enabling local filesystem quotas:  [  OK  ]
Enabling /etc/fstab swaps:  [  OK  ]
INIT: Entering runlevel:  5
Entering non-interactive startup
Applying Intel CPU microcode update: [  OK  ]
Starting background readahead: [  OK  ]
Checking  for  hardware changes [  OK  ]
[  OK  ] iSCSI daemon: [  OK  ]
[  OK  ]
Bringing up loopback  interface :  [  OK  ]
Bringing up  interface  eth0:
Determining IP information  for  eth0... done.
[  OK  ]
Starting auditd: [  OK  ]
Starting system logger: [  OK  ]
Starting kernel logger: [  OK  ]
Starting irqbalance: [  OK  ]
iscsid (pid   1555 is  running...
Setting up iSCSI targets: iscsiadm: No records found
[  OK  ]
Starting portmap: [  OK  ]
Starting NFS statd: [  OK  ]
Starting RPC idmapd: [  OK  ]
Starting system message bus: [  OK  ]
Starting o2cb:  [  OK  ]
[  OK  ] Bluetooth services:[  OK  ]
Mounting other filesystems:  [  OK  ]
Starting PC/SC smart card daemon (pcscd): [  OK  ]
Starting acpi daemon: [  OK  ]
Starting HAL daemon: [  OK  ]
Starting hidd: [  OK  ]
Starting monitoring  for  VG vg:    2  logical volume(s)  in  volume group  "vg"  monitored
[  OK  ]
Starting autofs:  Loading autofs4: [  OK  ]
Starting automount: [  OK  ]
[  OK  ]
Starting hpiod: [  OK  ]
Starting hpssd: [  OK  ]
Starting sshd: [  OK  ]
Starting cups: [  OK  ]
Starting xinetd: [  OK  ]
Starting console mouse services: [  OK  ]
Starting crond: [  OK  ]
Starting xfs: [  OK  ]
Starting anacron: [  OK  ]
[  OK  ] atd: [  OK  ]
Starting background readahead: [  OK  ]
Starting yum-updatesd: [  OK  ]
Starting Avahi daemon... [  OK  ]
Starting smartd: hdc: drive_cmd: status= 0x41  { DriveReady Error }
hdc: drive_cmd: error= 0x04  { AbortedCommand }
ide: failed opcode was:  0xec
[  OK  ]
Oracle Linux Server release  5.8
Kernel  2.6 . 18 - 308 .el5 on an x86_64
test01 login: mtrr: type mismatch  for  f0000000, 100000  old: uncachable  new : write-combining
mtrr: type mismatch  for  f0000000, 400000  old: uncachable  new : write-combining
Oracle Linux Server release  5.8
Kernel  2.6 . 18 - 308 .el5 on an x86_64
test01 login:
Oracle Linux Server release  5.8
Kernel  2.6 . 18 - 308 .el5 on an x86_64
test01 login: root
Password:
Last login: Sat Sep   7  05 : 21 : 11  on ttyS0
[root@test01 ~]#
[root@test01 ~]#
[root@test01 ~]#

 

(4) 修改主机名,IP地址等

vi /etc/hosts

# Do not remove the following line, or various programs    
# that require network functionality will fail.     
127.0.0.1       test02 localhost.localdomain localhost     
::1             localhost6.localdomain6 localhost6

vi /etc/sysconfig/network

NETWORKING=yes    
NETWORKING_IPV6=no     
HOSTNAME=test02 
GATEWAY=192.168.233.2

修改IP地址

# vi /etc/sysconfig/network-script/ifcfg-eth0

# Virtio Network Device    
DEVICE=eth0     
BOOTPROTO=static     
ONBOOT=yes     
HWADDR=52:54:00:56:bd:2b     
IPADDR=192.168.233.142     
NETMASK=255.255.255.0

[root@test01 ~]# service network restart
Shutting down interface eth0:  [  OK  ]     
Shutting down loopback interface:  [  OK  ]     
Bringing up loopback interface:  [  OK  ]     
Bringing up interface eth0:  [  OK  ]     
[root@test01 ~]# 

 

2.  复制配置文件与磁盘文件克隆

(1) 导入kvm虚拟机配置文件

这里采用oeltest01做为模板,进行克隆。

# virsh shutdown oeltest01

image

# virsh dumpxml oeltest01 > /etc/libvirt/qemu/oeltest03.xml

image

(2) 复制kvm虚拟机磁盘文件

本系列文章都是采用虚拟磁盘文件进行测试,没有使用lvm卷。

通过查看配置文件:虚拟磁盘位置<source file='/data/test01.img'/>

image

(3) 直接编辑修改配置文件

修改name,uuid,disk位置,vnc端口

此时还是将该配置文件注册进来,无法通过virsh edit进行编辑。

[root@node1 data]# vi /etc/libvirt/qemu/oeltest03.xml    
<domain type='kvm'>    
  <name>oeltest03</name>       
  <uuid>8f2bb4a7-c7ed-32aa-3676-9fb05923260d</uuid>

  <memory unit='KiB'>524288</memory>    
  <currentMemory unit='KiB'>524288</currentMemory>    
  <vcpu placement='static'>1</vcpu>    
  <os>    
    <type arch='x86_64' machine='rhel6.4.0'>hvm</type>    
    <boot dev='hd'/>    
  </os>    
  <features>    
    <acpi/>    
    <apic/>    
    <pae/>    
  </features>    
  <clock offset='utc'/>    
  <on_poweroff>destroy</on_poweroff>    
  <on_reboot>restart</on_reboot>    
  <on_crash>restart</on_crash>    
  <devices>    
    <emulator>/usr/libexec/qemu-kvm</emulator>    
    <disk type='file' device='disk'>    
      <driver name='qemu' type='raw' cache='none'/>    
      <source file='/data/test03.img'/>
      <target dev='hda' bus='ide'/>    
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>    
    </disk>    
    <disk type='block' device='cdrom'>    
      <driver name='qemu' type='raw'/>    
      <target dev='hdc' bus='ide'/>    
      <readonly/>    
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>    
    </disk>    
    <controller type='usb' index='0'>    
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>    
    </controller>    
    <controller type='ide' index='0'>    
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>    
    </controller>    
    <interface type='bridge'>    
      <mac address='52:54:00:82:39:01'/>    
      <source bridge='br0'/>    
      <model type='virtio'/>    
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>    
    </interface>    
    <serial type='pty'>    
      <target port='0'/>    
    </serial>    
    <console type='pty'>    
      <target type='serial' port='0'/>    
    </console>    
    <input type='tablet' bus='usb'/>    
    <input type='mouse' bus='ps2'/>    
    <graphics type='vnc' port='5911' autoport='no' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>    
    </graphics>    
    <video>    
      <model type='cirrus' vram='9216' heads='1'/>    
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>    
    </video>    
    <memballoon model='virtio'>    
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>    
    </memballoon>    
  </devices>    
</domain>

(4) 定义新虚拟机配置文件

[root@node1 data]# virsh define /etc/libvirt/qemu/oeltest03.xml    
image

启动虚拟机

[root@node1 data]# virsh start oeltest03   
域 oeltest03 已开始

(5) 登录虚拟机进行主机名,IP等修改

[root@node1 data]# virsh console oeltest03   
连接到域 oeltest03    
Escape character is ^] 

Oracle Linux Server release 5.8   
Kernel 2.6.18-308.el5 on an x86_64 

test01 login: mtrr: type mismatch for f0000000,100000 old: uncachable new: write-combining   
mtrr: type mismatch for f0000000,400000 old: uncachable new: write-combining 

Oracle Linux Server release 5.8   
Kernel 2.6.18-308.el5 on an x86_64 

test01 login: root   
Password:     
Last login: Sat Sep  7 05:21:11 on ttyS0 

[root@test01 ~]#    
[root@test01 ~]# 

修改主机名

vi /etc/hosts

# Do not remove the following line, or various programs    
# that require network functionality will fail.     
127.0.0.1 test03 localhost.localdomain localhost     
::1 localhost6.localdomain6 localhost6

vi /etc/sysconfig/network

NETWORKING=yes    
NETWORKING_IPV6=no     
HOSTNAME=test03 
GATEWAY=192.168.233.2

修改IP地址

# vi /etc/sysconfig/network-script/ifcfg-eth0

# Virtio Network Device    
DEVICE=eth0     
BOOTPROTO=static     
ONBOOT=yes     
HWADDR=52:54:00:56:bd:3b     
IPADDR=192.168.233.143     
NETMASK=255.255.255.0

service network restart
Shutting down interface eth0: [ OK ]     
Shutting down loopback interface: [ OK ]     
Bringing up loopback interface: [ OK ]     
Bringing up interface eth0: [ OK ]     
本文到此通过两种方式进行kvm虚拟机克隆,其实各有用处。

再次说明:本文克隆的虚拟机是oel5.8,如果克隆的虚拟机是RHEL/CentOS/OEL6.x操作系统,还需要修改/etc/udev/rules.d/70-persistent-net.rules文件。





本文转自 koumm 51CTO博客,原文链接:http://blog.51cto.com/koumm/1291793,如需转载请自行联系原作者



相关文章
|
Linux 虚拟化 数据安全/隐私保护
VMware使用 - 虚拟机克隆
如果已经安装了一台Linux操作系统,没有必要重新安装,只需要克隆就可以了,有两种方式。
23 0
|
4月前
|
存储 虚拟化 数据中心
如何操作VMware ESXi虚拟机的克隆?
如何操作VMware ESXi虚拟机的克隆?
84 1
|
1月前
|
存储 KVM 虚拟化
倚天产品介绍|倚天虚拟化:虚拟机热迁移特性介绍
热迁移分为热迁移和冷迁移,冷迁移过程中有一段明显的时间VM的服务不可用,而热迁移的服务的服务暂停时间非常短。热迁移过程中无需关闭或者长时间暂停VM,VM保持正常运行,只有在热迁移临近结束时有一个非常短暂的停机切换时间。热迁移可保证了VM服务的可用性,提升业务的连续性和用户体验。
|
6月前
|
监控 数据挖掘 虚拟化
VMWare 虚拟机 CPU 设置里针对 CPU 的 虚拟化 CPU 性能计数器(U) 选项功能介绍
VMWare 虚拟机 CPU 设置里针对 CPU 的 虚拟化 CPU 性能计数器(U) 选项功能介绍
521 0
|
6月前
|
安全 虚拟化
VMWare 虚拟机 CPU 设置里针对 CPU 的虚拟化 IOMMU(IO 内存管理单元) 选项功能介绍
VMWare 虚拟机 CPU 设置里针对 CPU 的虚拟化 IOMMU(IO 内存管理单元) 选项功能介绍
370 0
|
5月前
|
虚拟化
VMware Workstation批量克隆虚拟机
VMware Workstation批量克隆虚拟机
75 0
|
7月前
|
存储 KVM 虚拟化
倚天虚拟化:虚拟机热迁移特性介绍
热迁移分为热迁移和冷迁移,冷迁移过程中有一段明显的时间VM的服务不可用,而热迁移的服务的服务暂停时间非常短。热迁移过程中无需关闭或者长时间暂停VM,VM保持正常运行,只有在热迁移临近结束时有一个非常短暂的停机切换时间。热迁移可保证了VM服务的可用性,提升业务的连续性和用户体验。
|
8月前
|
虚拟化
虚拟化——成功解决ovirt修改ifcfg-ovirtmgmt的ip之后,重启虚拟机没有效果的问题
虚拟化——成功解决ovirt修改ifcfg-ovirtmgmt的ip之后,重启虚拟机没有效果的问题
|
8月前
|
虚拟化
虚拟化——成功解决使用ovirt安装虚拟机系统时不能正常引导安装
虚拟化——成功解决使用ovirt安装虚拟机系统时不能正常引导安装
|
10月前
|
存储 监控 网络安全
【KVM虚拟化】· 虚拟机的冷迁移和热迁移
【KVM虚拟化】· 虚拟机的冷迁移和热迁移
834 0

热门文章

最新文章