转帖连接:
https://www.sysctl.me/2019/02/03/vSphere/Virtual-template-production-CentOS7/
自注:这个作者很有趣,可以看看别的文章,写的不错
正文如下:
有关CentOS6的制作我大概思路已经做过一篇文章,本来是希望读者根据这篇来尝试其他release的模板,再加上之前的文章可能对小白有点不友好,我以为SWAP和磁盘分区的问题大家是可以解决的,加上最近同事有这方面的需要,就再次整理一篇。
还是希望大家不是简单的Ctrl + C。
这次的需求呢,是这样:
- 网卡配置
- IP地址分发
- 强制修改密码(有点简陋)
- 磁盘分区问题
ifcfg
- 跟
udev
没什么关系的udev
profile
sed
- 自定义规范
- 清理工作
希望读者读完这篇Step By Step一样的文档后可以理解:
- 模板制作根本就不是模板,而是基于虚拟磁盘文件(
vmdk
)的复制及虚拟机配置文件(vmx
)重建的过程 - 您做模板的目的是为了什么?
- 能否理解每个操作都是在做什么
- 为什么要通过这些操作,修改或删除一些内容
- 如果我的文章没能满足你的需求,您需要如何改进?
安装操作系统
略去安装系统的步骤,(我想如果装不上系统,模板的需求也不强烈,那你就多装几次,23333)。
文字描述下过程:
-
下载ISO,上传到数据存储
-
一个满足通用需求磁盘大小的虚拟机
-
安装CentOS7
-
巴拉巴拉
转换为模板之前的准备工作
-
更新系统(如果有内网源,最好封装到模板):
1
yum update -y
-
安装
vmtools
:安装vmtools(这里有点问题,你到底是选open-vm-tools,还是vmware自带的iso)
这里vmware官方建议的是7版本以后使用
open-vm-tools
原因是通过rpm包分发的方式,且宿主机管理vmtools。安装
open-vm-tools
(两者选一)1 2
yum install open-vm-tools -y systemctl restart vmtoolsd
-
检查网络配置文件
这里就是把网卡配置的
UUID
和HWADDR
删掉。1
sed -i '/^(HWADDR|UUID)=/d' /etc/sysconfig/network-scripts/ifcfg-xxx (xxx为网卡配置文件名)
-
删除udev:
这里其实是不用删除的,如果担心可以看下:
1 2
ls /etc/udev/rules.d/ rm -rf /etc/udev/rules.d/70-* # 如果存在则删除
-
配置ntp:
这里可选,如需要则可以安装
chrony
然后配置平时常用的ntp服务器地址 -
配置第一次登陆修改密码:
在
/etc/profile
末尾追加以下内容:1
passwd ; nmtui ; history -c ; sed -i '$d' /etc/profile # 这里根据自己的需要调整。
别写错了,修改前要清除自己的操作是在干什么 有什么风险。
-
删除
machine-id
:1 2 3 4
cd /etc chmod 777 machine-id vi machine-id # 删除machine id 删完保存 chmod 444 machine-id # 还原权限。
-
清空日志及其临时文件:
1 2 3 4 5 6 7 8 9 10 11 12
rm –rf /tmp/* rm –rf /var/tmp/* systemctl stop rsyslog systemctl stop auditd rm –f /var/log/*-???????? /var/log/*.gz # 注意这步,选择进行。 rm -f /var/log/dmesg.old rm -rf /var/log/anaconda rm -rf /etc/ssh/ssh_host_* echo > /var/log/wtmp echo > /var/log/btmp history -c echo > ~/.bash_history
-
执行如下命令完成系统封装:
1
sys-unconfig
接下来,系统会自动关机。然后右键此虚拟机,转换为模板。
自定义虚拟机规范文件
自定义规范的步骤参照win模板制作。
配置完自定义规范文件,部署虚拟机时选择需要的规范文件就可以根据向导并且配置ip了。