热点推荐
ZOL首页 > 服务器 > 评测与技术 > 技术分析与前瞻 >

步骤一:配置AutoYaST文件

自动化 Linux 云安装

CNET中国·ZOL 【转载】 2008年12月16日 06:00 评论

  配置 AutoYaST 文件

  SUSE Linux 使用一个名为 AutoYaST.xml 的 XML 配置文件控制操作系统的安装。默认情况下,每次使用 AutoYaST 时它都会使用相同的配置安装系统。这使您能够获得特定于不同配置的 AutoYaST 文件。例如,您可能有一个针对 Web 服务器的 AutoYaST 文件,以及另一个针对 MySQL 服务器的 AutoYaST 文件。然而,如果服务器仅是 IP 地址和主机名不同,为它们配置和维护多个 AutoYaST 文件是相当困难的,并且很费时。

  要创建一个从 DHCP 服务器获取 IP 地址和主机名的定制 AutoYaST 文件,必须从 SUSE 安装 CD 复制 AutoYaST 文件,并按以下的说明修改它:

  1.将标准的 AutoYaST 文件配置为使用 DHCP。将网络区段修改为仅在首次安装操作系统时使用 DHCP。进行检查,确保这些网络区段中没有分配主机名。如果某个区段存在主机名,必须完全删除该区段。

  2.如果 XML 文件包含静态 IP 信息、DNS 信息 或其他网络信息,请将这些内容从文件中删除。

  3.将清单 1 中的代码复制到 AutoYaST 文件的最后一个 XML 标记之前的位置。这个新的部分包含一个脚本,它将当前的引导 DHCP 配置转换成静态网络配置(在下一次引导 LPAR 时使用该配置)。

  有了这个脚本之后,就不需要单独为每个 LPAR 准备硬编码 IP 地址的 AutoYaST 文件。因此,您只需维护 DHCP 服务器。

<scripts>
  <init-scripts config:type="list">
    <listentry>
      <filename>network_setup</filename>
      <interpreter>shell</interpreter>
      <source><![CDATA[#!/bin/bash
### Disable ipv6
echo 'install ipv6 /bin/true' >> /etc/modprobe.conf.local

### Variables to Calculate Network Configuration Settings for a static configuration ###
ACTIVE_INTERFACE=`/sbin/ifconfig | grep eth | awk '{print \$1}'`
IP_ADDRESS=`/sbin/ifconfig \$ACTIVE_INTERFACE | grep 'inet addr' | awk '{print \$2}'
 | sed 's/addr://'`
NETMASK=`/sbin/ifconfig \$ACTIVE_INTERFACE | grep 'inet addr' | awk '{print \$4}'
 | sed 's/Mask://'`
BROADCAST=`/sbin/ifconfig \$ACTIVE_INTERFACE | grep Bcast: | awk '{ print \$3 }'
 | sed 's/Bcast://'`
NETWORK=`/sbin/ip route list | grep \$IP_ADDRESS | awk '{ print \$1 }'
 | sed 's/\/[1-9][1-9]//'`
GATEWAY=`/sbin/route | grep default | awk '{print \$2}'`
HOSTNAME=`/usr/bin/host \$IP_ADDRESS | awk '{print \$5}' | sed '\$s/.\$//'`

### Setup HOSTNAME
echo "\$HOSTNAME" > /etc/HOSTNAME

### Setup Gateway Address
echo "default \$GATEWAY - -" > /etc/sysconfig/network/routes

### Setup /etc/hosts with correct host information
HOST=`/usr/bin/host \$IP_ADDRESS | awk '{print \$5}' | sed '\$s/.\$//' | cut -d "." -f 1`
echo "\$IP_ADDRESS   \$HOSTNAME \$HOST" >> /etc/hosts

### Network configuration file rewrite for static configuration

INT_CONF_FILE=/etc/sysconfig/network/ifcfg-eth-id-`ifconfig eth0 | grep HWaddr
 | awk '{ print \$5 }' | perl -ne '\$var=\$_; print lc(\$var)'`

echo 'DEVICE=eth0' > \$INT_CONF_FILE
echo 'BOOTPROTO=static' >> \$INT_CONF_FILE
echo "IPADDR=\$IP_ADDRESS" >> \$INT_CONF_FILE
echo "NETMASK=\$NETMASK" >> \$INT_CONF_FILE
echo "BROADCAST=\$BROADCAST" >> \$INT_CONF_FILE
echo "NETWORK=\$NETWORK" >> \$INT_CONF_FILE
echo 'STARTMODE=onboot' >> \$INT_CONF_FILE
echo 'TYPE=Ethernet' >> \$INT_CONF_FILE

### Restart Network
/etc/init.d/network restart
      ]]></source>
    </listentry>
  </init-scripts>
</scripts>

上一页 1 2 3 4 5 下一页
频道热词:LED照明  工作站  云计算  
视觉焦点
服务器评测与技术热点
排行 文章标题
TOP10周热门服务器排行榜
  • 热门
  • 新品
  • 系列
查看完整榜单>>