深入分析创建VMware ESX主机的脚本

日期: 2009-04-21 作者:Gabrie van Zanten翻译:于富春 来源:TechTarget中国 英文

确保你的ESX主机具有相同配置的最有效的方式是完全自动执行ESX主机安装,这对于成功执行Vmotion迁移很有必要,并且能阻止发生网络问题。   在这一系列的第一篇文章中,TechTarget中国的特约虚拟化专家Gabrie van Zanten概述了自动安装程序,以及一个压缩文件,其中载有必要的脚本来执行安装。因为它结合了下载或安装过程中创建的脚本,从广泛和深入的角度来考虑,这有利于单个文件如何通过共同努力,自动建立一个的ESX主机。下面的图表显示了如何操作。

  执行kickstart的脚本   这个启动参数行用于最终的部署用具(UDA)里,只需要少量调整就能用在每个配置中。在此行中,最后……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

确保你的ESX主机具有相同配置的最有效的方式是完全自动执行ESX主机安装,这对于成功执行Vmotion迁移很有必要,并且能阻止发生网络问题。

  在这一系列的第一篇文章中,TechTarget中国的特约虚拟化专家Gabrie van Zanten概述了自动安装程序,以及一个压缩文件,其中载有必要的脚本来执行安装。因为它结合了下载或安装过程中创建的脚本,从广泛和深入的角度来考虑,这有利于单个文件如何通过共同努力,自动建立一个的ESX主机。下面的图表显示了如何操作。

ESX主机

  执行kickstart的脚本

  这个启动参数行用于最终的部署用具(UDA)里,只需要少量调整就能用在每个配置中。在此行中,最后一部分是最重要的,即“ ESXIP = 10 ESXCL = 001 ” 。这两个变量传递给kickstart脚本的%pre一节。 ESXIP是最后一个八位字节的IP地址的号码,它将被分配到主机。这一数字也将用于VMotion的IP地址,但在不同的子网。最后,这一数字将被用来作为主机的部分DNS名称。

  该ESXCL参数是用来确定主机将是集群的哪一部分的。请注意,该脚本没有添加主机到vCenter Server的群集上,但在此基础上的集群参数,将为该主机配置正确的VLAN组。

  kickstart程序要作大部分的程序配置和触发其他脚本。这个kickstart脚本中有几个章节: %Pre, %Post,一个没有一个具体名称的主要部分。kickstart的问题是,对每个部分来说,一个单独的shell运行,并且参数不能在各部分之间传递,因此很难使用脚本进行特定设置。通过使用一个特殊的“ %post -nochroot ”一节,可以实现从主要部分到%post一节来传递变量,把他们写到临时文件系统子目录中的脚本文件中,这个子目录以后会成为永久档案系统的一部分。

  %pre节

  %pre节分析命令行(开机参数行)并读取所需的ESXIP和ESXCL变量。使用以上这两个变量( / tmp / networkconfig ), 一个临时文件被创建出来。在此文件中,我们写出网络配置,然后可以在下一阶段再次读取。

  Ahe自动安装结束时, ascript配置所有vmkernel设置,如虚拟vSwitches和虚拟局域网(VLANs) ..一个名为call-esx-postinstall-3.5.sh的助手脚本,被写入磁盘并运行,只需要带上ESXIP和ESXCL参数来启动/ root/esx-postinstall-3.5.sh。还在跟我继续做吗?简单来说, %pre将变量写入到磁盘上一个新的脚本文件中,因此稍后可以使用这个变量,来完成最后的配置脚本。

  主要部分

  主要部分是非常简单的,而且脚本中大多数注解都是自我解释。一个重要部分是设置分区大小。当然,这一切都取决于你本地存储的容量。但是,如果你有30 GB或更多空间,你只需使用我脚本中的默认值即可。请注意,很多系统管理员创建一个 /var/log分区。我改用/ var,因为进程崩溃之后,将在/ var /core中创建转储文件,而且有些安装过程会产生很多的垃圾信息,这会将磁盘容量用完。如果你创建一个/var/log,结果/ var /core目录不会不是/var/log卷的一部分,防止主分区卷的空间被使用完,因为这将导致你的服务控制台停止。所以,我们创建/ var。

  %post -nochroot (不用改变根目录)

  很短的一节,它只是用来复制the call-esx-postinstall-3.5.sh,从一个临时文件系统,到最后永久文件系统。在安装过程中的这个永久的文件系统是挂在的/mnt/sysimage目录下 。将 call-esx-postinstall-3.5.sh脚本写到永久文件系统,使得它在后续步骤可用。
 
  %post

  在安装VMware ESX脚本之后, kickstart程序的最后一个部分(这与完全的自动安装是不同的) ,将从UDA服务器下载esx-post-install-3.5.sh脚本。我们使用在%ost –nochroot节中复制的the call-esx-post-install-3.5.sh脚本,现在我们可以启动esx-post-install-3.5.sh脚本。

  Esx-post-install-3.5.sh和ESX - kernelconfig.sh

  esx-post-install-3.5.sh脚本很长,并且配置大部分的VMware ESX设置 。与手动安装相比,这个脚本节约时间。但是大多数设置只有在vmkernel载入的情况下才可以配置。因此,我们再次执行技巧来将脚本写入光盘,以便在以后的阶段可以开始。用cat > /root/esx-kernelconfig.sh <<EOF1命令,脚本文件被创建。在EOF1标记接近esx-post-install-3.5.sh的底部创建。

  要启动的ESX - kernelconfig.sh脚本,我们重新配置/ etc / rc.d / rc.local脚本。原来的rc.local被复制到rc.local.bak ,然后是rc.local被修改来运行/root/esx - kernelconfig.sh脚本,重新启动后,将rc.local.bak (原始文件),覆盖被修改过的rc.local,将其返回到原来的状态。

  在ESX - kernelconfig.sh脚本中,有一些注释行,它们在细节上解释了脚本要做什么。下面是这个脚本功能的简短类表。

  • 创建服务控制台vSwitch
  • 配置VMotion  
  • 创建隔离vSwitch (没有接入网络适配器)
  • 创建VM的vSwitch ,依靠目标集群的配置
  • 配置Active Directory的验证
  • 创建若干本地用户,可以通过安全shell ( SSH的)访问
  • 配置DNS设置
  • 配置时间同步设置
  • 从内核卸载VMFS2驱动
  • 配置防火墙允许VEEAM FastSCP访问
  • 设置服务控制台内存为800MB

  在the esx-post-install-3.5.sh脚本执行完成之后,kickstart过程完成并且VMware ESX主机将重新启动。在下次重新开机的时候,ESX - kernelconfig.sh脚本将运行。在此脚本完成后, VMware ESX主机配置也就完成了。最后一次重新启动,现在将确保所有的设置被启动,以及你的自动安装被完成。你的主机现在已经做好加入vCenter的准备 ,然后分配到集群中。

相关推荐