KVM虚拟机管理——虚拟机克隆

1. 概述

通过为KVM虚拟机安装操作系统只是安装最基本的操作系统模板。这是必须的,因为每个虚拟机都需要操作系统。实际应用过程中,主要是基于操作系统安装好环境之后,再作为业务模板,方便快速部署或者迁移等。
本篇博客主要介绍该如何制作KVM模板,和克隆KVM虚拟机。

2. 部署基本操作系统虚拟机

本篇博客主要是以虚拟机node99作为基本操作系统模板。首先为node99配置硬件,并安装操作系统。

操作系统以本地安装方式,具体参见博客《》

3. 配置虚拟机

node99安装好操作系统之后,需要对其内部配置进行修改,去掉一些信息

3.1 修改/etc/sysconfig/hostname

删除/etc/sysconfig/network中'HOSTNAME=node99'一行
并添加"NOZEROCONF=yes"

3.2 删除/etc/sysconfig/network-scripts/ifcfg-ethx文件

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
NAME=eth0

3.3 编辑/etc/udev/rules.d/70-persistent-net.rules

删除内容

# PCI device 0x1af4:0x1000 (virtio-pci)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:00:00:80:00:99", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x1af4:0x1000 (virtio-pci)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:00:00:10:00:99", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

3.4 编辑/etc/yum.repo.d/

执行命令cd /etc/yum.repo.d,创建目录mkdir oldrepo,然后把之前的YUM源配置文件移动其中'mv Cent* oldrepo',在从oldrepo中复制文件'cp .oldreop/CentOS-Media.repo ../CentOS-ftp.repo'
编辑CentOS-ftp.repo,内容如下

[console-ftp]
name=CentOS-$releasever - ftp
baseurl=ftp://192.168.80.8/pub/osimage/centos6.5
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

执行yum repolist验证,如下图显示,则表示成功。

3.5 配置console到node99无密码访问

3.6 配置sshd配置文件

3.7 配置virsh console访问虚拟机

4. 克隆虚拟机

进行完node99的配置之后,对node99执行poweroff操作。这样node99只需要保持关机状态,即可以其为模板,创建其他虚拟机。
因为在console的DHCP配置中,配置了客户机的MAC绑定IP,DNS服务,网关信息,主机名等,因此克隆虚拟机时,只需要指定虚拟机的MAC即可。

注:假如配置了kvm虚拟机的VNC,则还需要在启动克隆的虚拟机之前,对克隆的虚拟机进行配置修改。virsh edit nodexx,修改VNC配置段即可。

执行命令virsh clone -o node99 -n node11 -f /mnt/data/vhost/node11.img -m 00:00:00:80:00:11 -m 00:00:00:10:00:11,即可从node99克隆node11。
编辑脚本如下:

#!/bin/bash
if [ "$#" != "2" ];then
    echo "usage:$0 [moudle] [nodenum]" && exit 0
fi
SRCNODE=$1
DESNODE=$2
IMGFILE=/mnt/data/vhost/node${DESNODE}.img
virt-clone -o node${SRCNODE} -n node${DESNODE} -f ${IMGFILE} -m 00:00:00:80:00:${DESNODE} -m 00:00:00:10:00:${DESNODE}

猜你喜欢

转载自www.cnblogs.com/liwanliangblog/p/9193910.html