經過爲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}