经过为KVM虚拟机安装操做系统只是安装最基本的操做系统模板。这是必须的,由于每一个虚拟机都须要操做系统。实际应用过程当中,主要是基于操做系统安装好环境以后,再做为业务模板,方便快速部署或者迁移等。
本篇博客主要介绍该如何制做KVM模板,和克隆KVM虚拟机。node
本篇博客主要是以虚拟机node99做为基本操做系统模板。首先为node99配置硬件,并安装操做系统。centos
操做系统以本地安装方式,具体参见博客《》bash
node99安装好操做系统以后,须要对其内部配置进行修改,去掉一些信息ssh
删除/etc/sysconfig/network中'HOSTNAME=node99'一行
并添加"NOZEROCONF=yes"测试
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=dhcp NAME=eth0
上面文件已经删除了uuid,hardmac等和主机有关的信息ui
删除文件url
rm -rf 70-persistent-net.rules rm -rf /lib/udev/write_net_rules rm -rf /lib/udev/rules.d/75-persistent-net-generator.rules
执行命令cd /etc/yum.repo.d
,建立目录mkdir oldrepo
,而后把以前的YUM源配置文件移动其中'mv Cent* oldrepo',在从oldrepo中复制文件'cp .oldreop/CentOS-Media.repo ../CentOS-ftp.repo'
编辑CentOS-ftp.repo,内容以下spa
[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
验证,以下图显示,则表示成功。
操作系统
配置console到node99(模板虚拟机)的无密码登录,本质就是用一对公密钥对来实现无密码通讯。两种方式:命令行
这个过程能够不用配置,由于在实际生成过程当中,即使是开始未配置宿主机到虚拟机的无密码登录,后期也能够手动配置或者批量管理。
配置kvm虚拟机的控制台登录,方式有不少种,其基本思路都是修改kvm虚拟机操做系统内部的三个文件,即
这三个文件配置修改的主要目的是为kvm虚拟机配置虚拟控制台ttyS0,让宿主机可以经过virsh console xxxx
方式登录虚拟机
这种登录方式主要预防在宿主机无图形界面,无VNC登录,没法ssh登录的状况下,进行虚拟机登录管理和维护
具体文件内容以下:
/etc/inittab最后一行添加如下内容
S0:12345:respawn:/sbin/agetty ttyS0 115200
/etc/securetty最后一行添加如下内容
ttyS0
/boot/grub/grub.conf修改以下
default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-431.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=f41dc2f7-a05c-4b17-9204-eef2459c21d3 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet console=ttyS0 initrd /initramfs-2.6.32-431.el6.x86_64.img
上面三个文件,在对应虚拟机修改好后,重启虚拟机便可生效。
登录测试
本篇博客已经对node11修改完成,执行命令:virsh console node11
,输入root,回车输入密码便可登录,以下:
登出
经过ctrl + D ,登出node11,此时处于node11 login:界面。此时输入ctrl + ]
,便可回到宿主机的命令行
总结
对于配置KVM虚拟机的控制台登录,有四种方式可取:
进行完node99的配置以后,对node99执行poweroff操做。这样node99只须要保持关机状态,便可以其为模板,建立其余虚拟机。
由于在console的DHCP配置中,配置了客户机的MAC绑定IP,DNS服务,网关信息,主机名等,所以克隆虚拟机时,只须要指定虚拟机的MAC便可。
注:假如配置了kvm虚拟机的VNC,则还须要在启动克隆的虚拟机以前,对克隆的虚拟机进行配置修改。virsh edit nodexx,修改VNC配置段便可。
执行命令virt-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}