Kvm虚拟化

Kvm之五:vm克隆

2017-01-16  本文已影响105人  词穷又词贫

Centos7 Kvm的vm 克隆

1、vm克隆方式
#1、virt-clone命令直接克隆
#2、拷贝xml与disk文件克隆(异机迁移)

2、virt-clone克隆vm(vm必须处于关闭状态)

#running状态克隆直接报错
#指定目标disk名称即可,克隆过程中会自动创建,与workstation一样
[root@node71 vm]# ll oel3/
总用量 0
[root@node71 vm]# virt-clone -o oel1 -n oel3 -f /data/vm/oel3/oel3_raw.img --check all=off
WARNING  将图形设备端口设定为 autoport 以避免冲突。
正在分配 'oel3_raw.img'                                                       |  20 GB  00:00:56     ==================================================]  127 B/s |  20 GB  --:--:-- ETA 

成功克隆 'oel3'。
[root@node71 vm]# 
[root@node71 vm]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     oel1                           关闭
 -     oel2                           关闭
 -     oel3                           关闭
 -     win7                           关闭

[root@node71 vm]# virsh start oel3
域 oel3 已开始

[root@node71 vm]# 
#but这样是不建议的,vnc端口设置-1,随机,mac地址,UUID也都是随机
#所以在开机之前先根据编写好的mac地址与vnc端口进行编辑xml配置文件
<graphics type='vnc' port='5913' autoport='no' listen='0.0.0.0'>
  <listen type='address' address='0.0.0.0'/>
#oel6的vm在克隆后,会出现网卡冲突,需要修改此配置文件
vi /etc/udev/rules.d/70-persistent-net.rules

3、拷贝方式静态迁移

#cp的方式需要修改xml文件好几个地方,如果是其它机器,按需调整
[root@node71 vm]# cp oel1/oel1_raw.img oel4/oel4_raw.img
[root@node71 vm]# cd /etc/libvirt/qemu/  
[root@node71 qemu]# ls
autostart  networks  oel1.xml  oel2.xml  oel3.xml  win7.xml
[root@node71 qemu]# cp oel1.xml oel4.xml
#修改配置
<name>oel4</name>
  <uuid>cce3195a-4fd6-4fcd-8f4b-5757021e2330</uuid>
...
<source file='/data/vm/oel4/oel4_raw.img'/>
...
<mac address='52:54:00:37:5f:a6'/>
...
<graphics type='vnc' port='5914' autoport='no' listen='0.0.0.0'>
...
#启动克隆虚拟机
[root@node71 qemu]# virsh define oel4.xml
定义域 oel4(从 oel4.xml)

[root@node71 qemu]# virsh start oel4
域 oel4 已开始

[root@node71 qemu]# virsh console oel4
连接到域 oel4
换码符为 ^]

[  OK  ]
Setting hostname localhost.localdomain:  [  OK  ]
Setting up Logical Volume Management:   2 logical volume(s) in volume group "VolGroup" now active
[  OK  ]
Checking filesystems
Checking all file systems.
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a /dev/mapper/VolGroup-lv_root 
/dev/mapper/VolGroup-lv_root: clean, 22727/1215840 files, 504433/4859904 blocks
[/sbin/fsck.ext4 (1) -- /boot] fsck.ext4 -a /dev/vda1 
/dev/vda1: clean, 44/128016 files, 81219/512000 blocks
[  OK  ]
Remounting root filesystem in read-write mode:  [  OK  ]
Mounting local filesystems:  [  OK  ]
Enabling /etc/fstab swaps:  [  OK  ]
Entering non-interactive startup
Starting monitoring for VG VolGroup:   2 logical volume(s) in volume group "VolGroup" monitored
[  OK  ]
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  Device eth0 does not seem to be present, delaying initialization.
[FAILED]
Starting auditd: [  OK  ]
Starting system logger: [  OK  ]
Starting kdump:[FAILED]
Mounting filesystems:  [  OK  ]
Starting acpi daemon: [  OK  ]
Retrigger failed udev events[  OK  ]
Adding udev persistent rules[  OK  ]
Starting sshd: [  OK  ]
Starting postfix: [  OK  ]
Starting crond: [  OK  ]

Oracle Linux Server release 6.6
Kernel 3.8.13-44.1.1.el6uek.x86_64 on an x86_64

localhost.localdomain login: 

virt-clone 使用帮助

[root@node71 ~]# virt-clone -h
usage: virt-clone --original [NAME] ...

复制虚拟机,更改全部主机端的特定配置,比如 MAC 地址、名称等等。 

未更改 VM 内容:virt-clone 不会更改虚拟机 OS 中的任何内容,它只是复制磁盘,而不会对主机端进行任何改动。因此,更改密码、更改静态 IP 地址等操作则不在此工具范围内。有关此类更改,请查看 virt-sysprep(1)。

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --connect URI         使用 libvirt URI 连接到 hypervisor

通用选项:
  -o ORIGINAL_GUEST, --original ORIGINAL_GUEST
                        原始虚拟机的名称;必须为关闭或者暂停
                        状态。
  --original-xml ORIGINAL_XML
                        将 XML 文件作为原始虚拟机使用。
  --auto-clone          从原始虚拟机配置中自动生成克隆名称和
                        存储路径。
  -n NEW_NAME, --name NEW_NAME
                        新客户端的名称
  --reflink             使用 btrfs COW 轻型复制

存储配置:
  -f NEW_DISKFILE, --file NEW_DISKFILE
                        作为新客户端磁盘映像的新文件
  --force-copy TARGET   强制复制设备(例如:如果 'hdc'
                        是随机光驱设备,则使用 --force-copy=hdc)
  --nonsparse           不要用稀疏文件作为克隆的磁盘映像
  --preserve-data       不要克隆存储,使用 --file
                        指定的新磁盘映像会保持不变。

联网配置:
  -m NEW_MAC, --mac NEW_MAC
                        克隆客户端的新固定 MAC
                        地址。默认为随机生成 MAC。

其它选项:
  --replace             不要检查名称冲突,请使用同一名称替换
                        所有虚拟机。
  --print-xml           输出所生成域 XML,而不是创建虚拟机。
  --check CHECK         启用或禁用验证检查。例如:
                        --check path_in_use=off
                        --check all=off
  -q, --quiet           禁止无错误输出
  -d, --debug           输入故障排除信息

有关示例及完整选项语法,请查看 man page。
[root@node71 ~]#
上一篇下一篇

猜你喜欢

热点阅读