利用VMware OVF文件快速部署CentOS7
当新项目上线和测试时候免不了要创建一堆容器或者虚拟机. 然而创建的虚拟机过程很长步骤需要手动人工介入操作很繁琐. 所以VMware有个基于OVF文件来快速部署的功能. 当创建OVF文件时候可以指定OVF内文件的配置文件以供虚拟机来读取做相应自动配置.
目前我们想创建一个基于CentOS7的OVF快速部署文件:
已标准方式安装CentOS7并安装好VMTools以及使用
yum update
更新下系统包以及内核.在虚拟机
vApp options
选项卡中勾选Enable vApp options
以供可以自定义配置文件项.同时勾选
OVF settings
内的OVF environment transport / VMware Tools
创建OVF自定义配置文件项:
此时在虚拟机内已经可以通过
vmtoolsd --cmd "info-get guestinfo.ovfenv"
来获取配置项的值了<?xml version="1.0" encoding="UTF-8"?> <Environment xmlns="http://schemas.dmtf.org/ovf/environment/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oe="http://schemas.dmtf.org/ovf/environment/1" xmlns:ve="http://www.vmware.com/schema/ovfenv" oe:id="" ve:vCenterId="vm-52"> <PlatformSection> <Kind>VMware ESXi</Kind> <Version>6.7.0</Version> <Vendor>VMware, Inc.</Vendor> <Locale>en</Locale> </PlatformSection> <PropertySection> <Property oe:key="dns1" oe:value=""/> <Property oe:key="dns2" oe:value=""/> <Property oe:key="gateway" oe:value=""/> <Property oe:key="hostname" oe:value=""/> <Property oe:key="ip" oe:value=""/> <Property oe:key="netmask" oe:value=""/> </PropertySection> <ve:EthernetAdapterSection> <ve:Adapter ve:mac="00:50:56:ab:0d:7e" ve:network="VM Network" ve:unitNumber="7"/> </ve:EthernetAdapterSection> </Environment>
编写脚本在虚拟机克隆后第一次开机时自动按照给定的配置完成分配IP等操作
清理环境:
为了清理环境我们先需要停止日志服务避免操作的时候再次污染环境:
service auditd stop service rsyslog stop
清理
yum update
留下的老版本内核:yum install yum-utils -y package-cleanup --oldkernels --count=1
清理
yum
留下的缓存数据:yum clean all && rm -rf /var/cache/yum
删除已经留存的日志:
/usr/sbin/logrotate -f /etc/logrotate.conf rm -f /var/log/*-???????? /var/log/*.gz rm -f /var/log/dmesg.old rm -rf /var/log/anaconda cat /dev/null > /var/log/audit/audit.log cat /dev/null > /var/log/wtmp cat /dev/null > /var/log/lastlog cat /dev/null > /var/log/grubby
删除设备文件:
rm -f /etc/udev/rules.d/70* sed -i '/^(HWADDR|UUID)=/d' /etc/sysconfig/network-scripts/ifcfg-e*
清理
/tmp
目录rm -rf /tmp/* rm -rf /var/tmp/*
清理SSH密钥
rm -f /etc/ssh/*key* rm -rf ~root/.ssh/ rm -f ~root/anaconda-ks.cfg
清理命令历史
rm -f ~root/.bash_history unset HISTFILE history -c sys-unconfig
此时系统会自动关闭已经可以将虚拟机转换成模板进行克隆部署或导出为OVF通过OVF来部署.