歡迎您光臨本站 註冊首頁

自動化 Linux 雲安裝

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  
簡化操作系統安裝過程能夠減少管理雲計算環境所需的時間。本文講解如何在新的 IBM Power™ System 或 System p® LPAR 上自動安裝 SUSE Linux®。這種安裝方法也適用於安裝 Red Hat Linux 或 AIX®。

雲計算的特性之一就是能夠將應用程序從一個處理器環境移動到另一個。這個特性要求在移動應用程序之前 存在一個接收它的目標操作系統。如果能夠自動化新操作系統的安裝,不是很好嗎?

Intel™ 架構系統的一個為人熟知的特性就是能夠自動安裝 Linux。不過,對於使用硬體管理控制台的 System p 或 IBM Power Systems,自動安裝 Linux 是一個棘手的問題。本文討論的解決方案的優點之一是:它是一個純 Linux 解決方案,並且不要求您掌握任何具體的 AIX 技術。

自動化解決方案概述

這個解決方案的目標是通過使用一組易於維護和修改的配置自動化操作系統的安裝。它具有以下特徵:

  • 剛創建和安裝的 LPAR 使用一個靜態 IP 地址。這僅與 LPAR 的最終配置相關;您可以在安裝過程使用動態主機配置協議(DHCP)。
  • Automatic Linux Installation and Configuration with YaST2(AutoYaST)配置 XML 文件是很通用的,可以在許多伺服器類型上使用,包括 HTTP、MySQL 等。
  • AutoYaST 文件不 包含特定於系統的信息,比如 IP 地址、主機名等。
  • 使用這種方式自動化所有內容,這樣在 HMC 上使用一個命令就可以安裝新的 LPAR。

構建和使用自動化解決方案的步驟包括:

  1. 配置 AutoYaST 文件
  2. 配置 DHCP/BOOTP 和 TFTP 伺服器
  3. 使用 HMC lpar_netboot 命令
  4. 使用 -g 參數自動化 lpar_netboot
  5. 重用自動化解決方案




步驟 1. 配置 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 伺服器。


清單 1. 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=
簡化操作系統安裝過程能夠減少管理雲計算環境所需的時間。本文講解如何在新的 IBM Power™ System 或 System p® LPAR 上自動安裝 SUSE Linux®。這種安裝方法也適用於安裝 Red Hat Linux 或 AIX®。

雲計算的特性之一就是能夠將應用程序從一個處理器環境移動到另一個。這個特性要求在移動應用程序之前 存在一個接收它的目標操作系統。如果能夠自動化新操作系統的安裝,不是很好嗎?

Intel™ 架構系統的一個為人熟知的特性就是能夠自動安裝 Linux。不過,對於使用硬體管理控制台的 System p 或 IBM Power Systems,自動安裝 Linux 是一個棘手的問題。本文討論的解決方案的優點之一是:它是一個純 Linux 解決方案,並且不要求您掌握任何具體的 AIX 技術。

自動化解決方案概述

這個解決方案的目標是通過使用一組易於維護和修改的配置自動化操作系統的安裝。它具有以下特徵:

  • 剛創建和安裝的 LPAR 使用一個靜態 IP 地址。這僅與 LPAR 的最終配置相關;您可以在安裝過程使用動態主機配置協議(DHCP)。
  • Automatic Linux Installation and Configuration with YaST2(AutoYaST)配置 XML 文件是很通用的,可以在許多伺服器類型上使用,包括 HTTP、MySQL 等。
  • AutoYaST 文件不 包含特定於系統的信息,比如 IP 地址、主機名等。
  • 使用這種方式自動化所有內容,這樣在 HMC 上使用一個命令就可以安裝新的 LPAR。

構建和使用自動化解決方案的步驟包括:

  1. 配置 AutoYaST 文件
  2. 配置 DHCP/BOOTP 和 TFTP 伺服器
  3. 使用 HMC lpar_netboot 命令
  4. 使用 -g 參數自動化 lpar_netboot
  5. 重用自動化解決方案




步驟 1. 配置 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 伺服器。


清單 1. AutoYaST DHCP 轉換腳本
___FCKpd___0





步驟 2. 配置 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 目錄,確保所有人都有讀取它的許可權。





步驟 3. 使用 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)

本文 下載 小節的壓縮文件包含一個名為 autoinstall 的示例腳本。您可以將該腳本安裝到 HMC 伺服器,以使用本文描述的技術自動安裝新的 LPAR。該腳本自動獲取 LPAR 的 MAC 地址,接著調用 DHCP addsystem 腳本來配置並重啟 DHCP 伺服器,然後調用 lpar_netboot 命令安裝 LPAR。最後,它調用一個 mkvterm 命令,使您可以看到安裝過程。





步驟 4. 使用 -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 適配器,則不需要該參數。





步驟 5. 重用自動化解決方案

現在,您已經擁有一個在雲環境中輕鬆管理 LPAR 的配置。通過以下步驟添加新的 LPAR:

  1. 在 HMC 上創建 LPAR。
  2. 登錄 HMC SSH 界面並運行 lpar_netboot,確定 LPAR 的 MAC 地址。
  3. 使用新的 LPAR 信息重新配置 dhcpd.conf 文件。
  4. 重啟 DHCP 伺服器使對 dhcpd.conf 的更改生效。
  5. 再次登錄 HMC 並運行 lpar_netboot 以在 LPAR 上安裝操作系統。

現在,您惟一需要做的就是等待操作系統安裝完成。安裝完成之後,您的雲環境就有了一個新的 LPAR,它已經準備好接受您需要裝載的進程。(責任編輯:A6)

; 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>





步驟 2. 配置 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 文件
___FCKpd___1

下面詳細說明示例 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 目錄,確保所有人都有讀取它的許可權。





步驟 3. 使用 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 命令
___FCKpd___2

注意:清單 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)

本文 下載 小節的壓縮文件包含一個名為 autoinstall 的示例腳本。您可以將該腳本安裝到 HMC 伺服器,以使用本文描述的技術自動安裝新的 LPAR。該腳本自動獲取 LPAR 的 MAC 地址,接著調用 DHCP addsystem 腳本來配置並重啟 DHCP 伺服器,然後調用 lpar_netboot 命令安裝 LPAR。最後,它調用一個 mkvterm 命令,使您可以看到安裝過程。





步驟 4. 使用 -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 參數
___FCKpd___3

注意:清單 4 使用反斜杠字元表示連續行;它不是該命令的一部分。輸入命令時切勿使用反斜杠。

清單 4 中的 insmod 參數裝載一個虛擬 Ethernet 適配器。如果當前引導的 LPAR 擁有一個物理 Ethernet 適配器,則不需要該參數。





步驟 5. 重用自動化解決方案

現在,您已經擁有一個在雲環境中輕鬆管理 LPAR 的配置。通過以下步驟添加新的 LPAR:

  1. 在 HMC 上創建 LPAR。
  2. 登錄 HMC SSH 界面並運行 lpar_netboot,確定 LPAR 的 MAC 地址。
  3. 使用新的 LPAR 信息重新配置 dhcpd.conf 文件。
  4. 重啟 DHCP 伺服器使對 dhcpd.conf 的更改生效。
  5. 再次登錄 HMC 並運行 lpar_netboot 以在 LPAR 上安裝操作系統。

現在,您惟一需要做的就是等待操作系統安裝完成。安裝完成之後,您的雲環境就有了一個新的 LPAR,它已經準備好接受您需要裝載的進程。(責任編輯:A6)



[火星人 ] 自動化 Linux 雲安裝已經有497次圍觀

http://coctec.com/docs/linux/show-post-69030.html