如何实现自动化Linux云安装?(下)

日期: 2008-12-15 作者:David AshleyDavid Boutcher 来源:TechTarget中国 英文

  在上一部分中,我们配置AutoYaST文件以及配置DHCP/BOOTP和TFTP服务器 ,在本部分中,我们将学习如何使用HMC lpar_netboot命令、-g参数自动化lpar_netboot以及重用自动化解决方案。

  配置DHCP/BOOTP和TFTP服务器

  这个解决方案使用标准的Linux DHCP服务器,该服务器是所有主要的Linux发行版的一部分。在这一步骤中,需要配置DHCP服务器以为新的LPAR提供网络引导信息。初始代码通过Trivial File Transfer Protocol(TFTP)服务器装载到LPAR。要设置网络引导,必须将DHCP服务器和TFTP服务器装载到网络中的服务器。

  这个解决方案使用的DHCP服务器并没有配置为动态地向网络中的系统提供TCP/IP地址,但它能够在同一个网络上和担任这一传统角色的DHCP服务器共存。即使DHCP服务器所在的网络与引导系统的网络不同,也可以使用这种类型的配置。例如,它可以通过德克萨斯州的服务器动态地引导在纽约的系统。

  要使lpar_netboot命令能够按照这个解决方案的 步骤3那样工作,则需要为每个安装的LPAR配置DHCP服务器。这个方法的优点是:自动安装LPAR所需的所有配置信息都包含在dhcpd.conf文件中。因此,在前面步骤中更改的AutoYaST文件不需要包含任何用于定义LPAR网络配置的硬编码信息。

  清单2包含了一个示例dhcp.conf文件。使用这个示例作为一个模型,并为每个需要配置的LPAR添加额外的host定义。本文下载小节的压缩文件包含一个名为addsystem的脚本,您可以使用它来自动化dhcpd.conf文件的编辑过程。

    每次更改dhcpd.conf文件时,必须重启DHCP服务器使更改生效。

    清单2. 示例dhcpd.conf文件
   
  ddns-update-style ad-hoc;
  allow bootp;
  subnet 0.0.0.0 netmask 0.0.0.0 {
  host rcc-hny-poc-003 {
  option host-name  “myserver.cloud9.ibm.com”;
  fixed-address   192.168.0.203;
  hardware ethernet 16:E9:10:94:87:03;
  filename   “inst64”;
  }
  next-server   192.168.0.201;
  option routers   192.168.0.201;
  }

    下面详细说明示例dhcp.conf文件中的选项:

    subnet将该服务器配置为响应其他服务器的请求,而不考虑这些服务器在网络中的位置。因为没有将这个DHCP服务器配置为动态寻址,所以它将响应来自LPAR的引导请求,并且不影响在网络上进行正常的DHCP操作。

  host部分定义每个需要配置的LPAR。配置文件中可以拥有多个host部分。这个示例的host部分仅包含安装LPAR所需的最少选项(并且以后将LPAR作为DHCP客户机引导时还可以使用这个选项)。

  host-name是DNS分配给客户机的IP地址的名称。如果客户机没有DNS条目,这个选项应该指定需要包含在LPAR的本地主机文件中的名称。

  fixed-address是分配给LPAR的IP地址。这个指定的地址用于代替DHCP服务器的默认地址池。这样做的优点是在每次引导操作系统时为LPAR保留这一IP地址。

  hardware ethernet指定LPAR的MAC地址。使用这个选项在安装的BOOTP阶段将LPAR和host条目关联起来。

  filename指定响应BOOTP请求时需要装载的Linux内核。必须能够通过由next-server选项指定的服务器上的TFTP访问这个文件。或者,如果忽略next-server,则必须能够通过DHCP服务器上的TFTP访问这个文件。

  next-server指定服务器的地址。在这个服务器上,通过TFTP可以访问在filename选项中定义的Linux内核。如果TFTP服务器与DHCP服务器都在同一个服务器中,则可以跳过这个选项。

  option routers指定TFTP服务器的地址,前提是将路由器配置为在网络中不将TFTP服务器请求转发到TFTP服务器。如果TFTP服务器和DHCP服务器在同一个机器上,则可以跳过这个选项。

  可以使用SLES发行版中的atftpd包配置TFTP服务器。TFTP配置提供一个目录,在这里可以使用TFTP下载文件。下载目录通常为/tftpboot在dhcpd.conf文件中的每个host部分的filename参数上指定的文件必须位于该下载目录中。

  例如,对于网络安装SUSE,该文件为inst64文件,可从SUSE安装CD的/suseboot目录获得。您需要将该文件放到/tftpboot目录,确保所有人都有读取它的权限。

  使用HMC lpar_netboot命令

  就像HMC可用于激活现有的LPAR一样,它也可用于在一个新的LPAR上安装操作系统。虽然HMC提供了一个图形用户界面,但所有HMC功能也可以通过命令行来使用。通过命令行可以进一步自动化这个步骤。

  开始网络安装的HMC命令为lpar_netboot。本文的参考资料小节包含详细说明如何使用lpar_netboot命令的链接。这个解决方案使用lpar_netboot通过网络引导LPAR。

  清单3是一个示例lpar_netboot命令。根据需求修改这个示例,然后在一个LPAR上使用它,并尝试从网络中的服务器引导它。

  该示例命令假设:

  如本文的前一个步骤所述,配置DHCP/BOOTP服务器,使其带有新的LPAR的MAC地址,并且有一个针对SUSE安装程序的条目。
通常将新的LPAR作为DHCP引导,并且在dhcpd.conf文件中包含为它定义的静态IP地址。

  清单3. 示例lpar_netboot命令
   
  lpar_netboot -f -t ent -m 16E910948703 -s auto -d auto -S 192.168.0.201 -G
192.168.0.201 -C 192.168.0.203 lpar1 lpar1 SystemA

  注意:清单3使用反斜杠字符表示连续行;它不是该命令的一部分。输入命令时切勿使用反斜杠。

  以下是该示例中所用的参数的详细说明:

  -m需要引导的客户机的MAC地址。可以通过使用另一种形式的lpar_netboot命令获取MAC地址。
  -S是DHCP/BOOTP服务器的IP地址。
  -G是到达DHCP/BOOTP服务器所需的网关的IP地址。如果DHCP/BOOTP服务器位于本地网络,则改用DHCP/BOOTP服务器的IP地址。
  -C是分配给被引导的客户机的IP地址。
  命令末尾有3个名称:
  LPAR(lpar1)的HMC名
  LPAR配置名,默认情况下与LPAR本身同名(lpar1)
  在HMC上拥有 LPAR的服务器的名称(SystemA)

  使用-g参数自动化lpar_netboot

  新的LPAR使用本文前面提到的步骤装载Linux安装程序。如果从HMC打开一个到LPAR的控制台连接,就可以看到安装程序的初始屏幕。

  要进一步自动化安装,可以使用lpar_netboot命令的-g参数,将其他参数传递到刚引导的系统的安装程序。Linux发行版(比如SUSE和Red Hat)允许通过网络完全自动化安装,前提是要将正确的信息传递给安装程序以启动安装。

  在-g参数上传递的信息是一个字符串,它包含安装程序查找SUSE AutoYaST XML文件和SUSE操作系统安装RPM所需的信息。该信息的格式由每个发行版进行归档,并且对所有架构都是一样的(i386和Power等)。

  清单4是-g参数的一个示例,它从服务器启动一个自动化安装。根据需要修改这个示例,然后将它和lpar_netboot命令一起使用,以开始操作系统的自动化安装。

  这个示例假设:

  拥有一个在安装服务器上运行的Web服务器。这个Web服务器可以包含DHCP服务器和TFTP服务器,但这不是必须的。

  已经将SUSE安装CD映像复制到Web服务器文档根目录下的一个目录中。

  已经将在本文的步骤1中配置的AutoYaST.xml文件的一个副本放置到SUSE安装映像所在的Web服务器目录中。

  清单4. 示例lpar_netboot服务器-g参数
   
  -g “hostip=192.168.0.203 netmask=255.255.255.0
  gateway=192.168.0.1 nameserver=192.168.0.1 insmod=ibmveth
  install=http://192.168.0.201/suse   autoyast=http://192.168.0.201/autoyast.xml”

  注意:清单4使用反斜杠字符表示连续行;它不是该命令的一部分。输入命令时切勿使用反斜杠。

  清单4中的insmod参数装载一个虚拟Ethernet适配器。如果当前引导的LPAR拥有一个物理Ethernet适配器,则不需要该参数。

  重用自动化解决方案

  现在,您已经拥有一个在云环境中轻松管理LPAR的配置。通过以下步骤添加新的LPAR:

  在HMC上创建LPAR。

  登录HMC SSH界面并运行lpar_netboot,确定LPAR的MAC地址。

  使用新的LPAR信息重新配置dhcpd.conf文件。

  重启DHCP服务器使对dhcpd.conf的更改生效。

  再次登录HMC并运行lpar_netboot以在LPAR上安装操作系统。

  现在,您惟一需要做的就是等待操作系统安装完成。安装完成之后,您的云环境就有了一个新的LPAR,它已经准备好接受您需要装载的进程。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

相关推荐