关于Win的虚拟化模板,vSphere上其实没什么难度,这里介绍的制作方式也不是唯一的,仅仅是提供一个制作的思路,如果有特殊需求,根据现有方案拓展即可。
Info
- 这次的需求有一下这几点
- 重新封装
- 重新设置密码(有点歧义)
- IP地址需要定义
- SID唯一
- 优雅(尽量优雅)
- 尽量减少二次重复操作
- vmtools安装
- 涉及到的组件
- Windows
- vmtools
- 自定义规范
==有关模板的制作其实就是克隆vmdk
且重建虚拟机文件vmx
,不信我真没办法。==
安装操作系统
首先创建虚拟机
这里就随便拉,最好移除软盘驱动器。
打开虚拟机
根据需求选择语言和keyboard,选择对应版本。
创建系统分区
等待安装完成
转换为模板之前的准备工作
安装VMware Tools
因为是用于vSphere,所以第一步最好先安装对应系统的vmtools
,要不鼠标卡的一逼。
挂载VMware Tools
安装Tools
运行。
选择完整安装,下一步。
这里说下为什么不选典型;其实典型是可以的,But!!!很多第三方,比如杀毒一类的产品会需要一些驱动,典型安装时没有勾选的。(NSX也会)
重启
操作系统配置
在这之前,你要明确你模板里需要集成哪些配置,这里我举例我的环境下需要配置的东西(根据自身环境修改):
- 远程桌面总得开吧
- 防火墙可以先关闭掉
- WSUS(自己百度)
- 你可能还需要更新补丁
- KMS
- VM Tools
- 可能需要配置NTP
因为我这是一个相对干净的需求,所以都是基础配置。
接下来我将这些内容封装在我的模板中(基本配置不截图了)。
- vmtools(已完成)
- 配置IP地址
- 指定KMS服务器
- 时间同步
- 指定WSUS
- 安装所需补丁(重启继续)
- 你可能还需要移除软盘驱动器,或者还有DVD驱动器
- 一些简单的系统配置例如
- 允许远程桌面
- 性能选项调整为最佳性能
- 虚拟内存这东西没必要的话可以干掉
- 调整你的防火墙策略(或者干掉)
- 我想IE ESC应该也不是你需要的吧,关掉
- 启动和故障恢复中的操作系统列表时间调整为5s左右
- 一些常用的组策略
- IE主页(如果你需要的话)
- 可能你还需要禁用C盘的索引
- 碎片整理巴拉巴拉
- 也可以选择禁用优化选项
- 账户控制设置可能需要根据你的偏好修改
- 清理事件日志
- 等等
- 你还需要安装一些通用的软件
- Telnet客户端
.NET Framework
- 可能还需要解压缩
- 说不准你要安装一个浏览器
- 如果你的环境里需要部署某些
agent
例如备份或监控
上述所有操作都是可选的,根据自己需求。接下来咱们来看下当前系统的SID
打开命令行
1 | whoami /user |
记住这个。
现在清空你的网络配置(IP地址)
然后打开sysprep:
点击确认。系统会关机。
Windows的准备工作基本完成。
这里要注意,如果使用了
sysprep
,请不要重复使用使用自定义规范,两者选一个,如果你有更改主机名和ip地址的需求,转换前请勿使用sysprep
实用程序进行封装。
自定义规范
主角来了。
策略和配置文件
新建虚拟机客户机自定义规范
根据需要选择,我这里只选择系统版本和sid,如果你有特定的
sysprep
文件,可以指定组织名称随便填
计算机名称选择
在部署向导中输入名称
产品秘钥没有
密码这块根据需要选择吧。我一般不选择,因为已经设置了重新封装。
选择时区
命令可选
网络选择
手动选择自定义设置
,编辑网络,选择使用规范时,提示用户输入Ipv4
,v6地址根据你需求来吧选择工作组
转换为模板
首选咱们找到刚才准备的模板虚拟机。
为了方便调整母模板,建议这里选择克隆为模板,当然你也可以直接转换为模板(这样不保留原虚拟机)。
从模板部署虚拟机
从模板新建虚拟机
选择资源池和存储就不截图了
克隆选项了解一下
根据自己的喜好选
选择之前准备好的自定义规范
指定主机名和ip地址
虚拟机硬件配置根据自己的需要适当修改
部署完打开电源
这里希望你能明白,自定义规范是如何实现的。当你通过自定义规范部署win时,部署完的虚拟机会再次重启。完成配置。所以要注意,不要在此期间(虽然很短)做重要配置。
检查通过模板部署的虚拟机
可以检查以下几项:
- 主机名
- IP地址是否下发
- SID是否重置
理想状态就是通过模板部署的虚拟机几乎不需要配置就可以提供给需要的工作人员。
模板不是一个一劳永逸的东西,它需要根据你业务环境的变化持续改进,变得越来越顺手,维护模板会涉及这几个内容:
- 更新
- 预配置的修改
- 预部署软件的增删改
模板的积累会成为最后的模板库。
因为模板用在你自己的环境中,慢慢你就会发现,模板里面既然能装chrome,telnet,那么我为什么不能装MSSQL呢,封装进去,再生成新的模板,直接提供SQL Server,直接提供IIS,或者巴拉巴拉的服务。
这不就是服务目录么?但,服务目录需要一个标准。没有人来定义这个标准是没办法做服务目录的。所以基于容器的PaaS才是趋势。