基于AutoYaST自動(dòng)化安裝SuSE實(shí)踐

前言

在金融行業(yè)中我所接觸的操作系統(tǒng)主要是AIXSLES(SuSE Linux Enterprise Server)摊鸡,也許大家平時(shí)用得更多是CentOS撒妈,雖然有部分差異但原理都是相通的,SMITYaST也是灰常實(shí)用的功能,推薦大家有機(jī)會(huì)嘗試體驗(yàn)下。因?yàn)榫W(wǎng)上關(guān)于SuSE自動(dòng)化部署的參考文章較少碘耳,這套自動(dòng)化部署方案已經(jīng)被驗(yàn)證并在生產(chǎn)系統(tǒng)使用了1年半,配置相對(duì)成熟和穩(wěn)定框弛。遵循Don't Repeat Yourself原則辛辨,本文主要介紹基于AutoYaST實(shí)現(xiàn)半自動(dòng)化SuSE定制光盤(pán)和PXE網(wǎng)絡(luò)全自動(dòng)化安裝SuSE的實(shí)踐過(guò)程,如需了解更加詳細(xì)的參數(shù)說(shuō)明可以參考擴(kuò)展閱讀中的SuSE官網(wǎng)。

AutoYaST是自動(dòng)化部署SuSE的黃金搭檔


更新歷史

2015年05月28日 - 初稿

閱讀原文 - http://wsgzao.github.io/post/autoyast/

擴(kuò)展閱讀


SuSE自動(dòng)安裝光盤(pán)

定制版本

SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2

下載地址 - https://www.suse.com/zh-cn/download-linux/

AutoYast簡(jiǎn)介

AutoYast是SuSE Linux的自動(dòng)安裝工具愉阎。通過(guò)AutoYast绞蹦,在DHCP、TFTP榜旦、PXE服務(wù)的支持下幽七,通過(guò)FTP、NFS等網(wǎng)絡(luò)安裝源可以實(shí)現(xiàn)SuSE Linux的完全無(wú)人值守自動(dòng)安裝溅呢。但是澡屡,這種方式必須建立獨(dú)立的服務(wù)器且客戶(hù)端支持PXE網(wǎng)絡(luò)啟動(dòng),在現(xiàn)場(chǎng)沒(méi)有網(wǎng)絡(luò)或者系統(tǒng)不支持客戶(hù)端網(wǎng)卡的場(chǎng)景下不適合咐旧,通過(guò)AutoYast制作的SuSE Linux一鍵安裝光盤(pán)可以滿(mǎn)足上述場(chǎng)景驶鹉。本文主要介紹SuSE Linux Enterprise Server 11(簡(jiǎn)稱(chēng)SLES11)一鍵安裝光盤(pán)的制作, 其他SuSE Linux僅供參考铣墨。

生成AutoYaST配置文件

AutoYast配置成功后室埋,生成一個(gè)名為autoinst.xml的XML配置文件,SuSE Linux通過(guò)這個(gè)文件控制操作系統(tǒng)的安裝伊约。AutoYast生成配置文件有3種方式:

  1. 系統(tǒng)安裝時(shí)自動(dòng)生成
  2. 系統(tǒng)安裝后通過(guò)運(yùn)行命令生成
  3. 直接編輯生成(偷懶最佳姿勢(shì)

系統(tǒng)安裝時(shí)生成配置文件

按照正常步驟安裝SLES11姚淆,把必須的軟件全部安裝。運(yùn)行到最后一步“安裝已完成”屡律,勾選“為AutoYast復(fù)制此系統(tǒng)”腌逢,系統(tǒng)開(kāi)始克隆系統(tǒng)生成配置文件,并彈出提示窗口超埋。生成配置文件用時(shí)約2分鐘左右搏讶,生成的配置文件位于/root目錄下。

運(yùn)行命令生成或者修改配置文件

如果在系統(tǒng)安裝時(shí)沒(méi)有生成配置文件霍殴,可以運(yùn)行命令生成媒惕。在系統(tǒng)中打開(kāi)終端,以root用戶(hù)運(yùn)行命令yast2 autoyast来庭,打開(kāi)AutoYast配置窗口妒蔚,選擇“工具”->“創(chuàng)建參考配置文件”,彈出“創(chuàng)建參考控制文件”窗口巾腕。勾選需要配置的項(xiàng)目,如軟件包選擇絮蒿、語(yǔ)言尊搬、分區(qū)、鍵盤(pán)布局土涝、防火墻佛寿、網(wǎng)絡(luò)設(shè)置等,AutoYast根據(jù)選擇的項(xiàng)目從系統(tǒng)獲取相關(guān)配置信息。選擇“文件”->“保存”冀泻,彈出“另存為”窗口常侣,輸入文件名“autoinst.xml",選擇“保存”弹渔,系統(tǒng)提示文件保存到指定目錄下胳施。

有時(shí)我們需要對(duì)模塊做些調(diào)整,比如磁盤(pán)分區(qū)肢专、軟件包等舞肆。以調(diào)整磁盤(pán)分區(qū)為例介紹配置文件的修改。
以root用戶(hù)運(yùn)行yast2 autoyast博杖,打開(kāi)AutoYast窗口椿胯,選擇“文件”->“打開(kāi)”,選擇autoinst.xml文件剃根,等系統(tǒng)讀取配置后哩盲,在AutoYast窗口顯示配置配件名稱(chēng),修改后保存即可狈醉。

制作安裝光盤(pán)

AutoYast配置文件生成后廉油,可以開(kāi)始制作一鍵安裝光盤(pán)了。制作一鍵安裝光盤(pán)需要用到SLES11的原安裝光盤(pán)的數(shù)據(jù)舔糖。

#首先復(fù)制SLES11原安裝光盤(pán)的數(shù)據(jù)到指定目錄
mkdir /tmp/sles11
cp -R /media/S*/* /tmp/sles11
#復(fù)制autoinst.xml
cp /root/autoinst.xml /tmp/sles11
#編輯isolinux.cfg文件娱两,找到# install所在位置
cd boot/x86_64/loader/

vi isolinux.cfg

# install
  append initrd=initrd autoyast=file:///autoinst.xml splash=silent showopts 
:x!

#運(yùn)行mkisofs命令生成自動(dòng)安裝光盤(pán)
cd /tmp/sles11

mkisofs  -R -o /tmp/SLES11-SP2-64-AUTO.iso -b boot/x86_64/loader/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .

我的配置文件

預(yù)設(shè)分區(qū)

名稱(chēng) 格式 大小
swap swap 16G
boot ext3 120M
LVM
root ext3 5G
usr ext3 10G
var ext3 5G
opt ext3 10G
home ext3 15G
tmp ext3 10G
總計(jì) 71G

預(yù)裝軟件包

KDE Desktop Environment
Oracle Server Base
C/C++ Compiler and Tools
nmap
java-1_6_0
libstdc++43-devel-32bit

預(yù)設(shè)語(yǔ)言

主要:英語(yǔ)
添加:中文

預(yù)設(shè)用戶(hù)名/密碼

root/如果你直接復(fù)用我的配置文件請(qǐng)私信我獲取密碼

預(yù)設(shè)網(wǎng)絡(luò)配置

禁用服務(wù):防火墻,IPv6

autoinst.xml

SuSE自動(dòng)化PXE網(wǎng)絡(luò)安裝

PXE基本原理

什么是PXE

PXE(Pre-boot Execution Environment)是由Intel設(shè)計(jì)的協(xié)議金吗,它可以使計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)啟動(dòng)十兢。協(xié)議分為client和server兩端,PXE client在網(wǎng)卡的ROM中摇庙,當(dāng)計(jì)算機(jī)引導(dǎo)時(shí)旱物,BIOS把PXE client調(diào)入內(nèi)存執(zhí)行,并顯示出命令菜單卫袒,經(jīng)用戶(hù)選擇后宵呛,PXE client將放置在遠(yuǎn)端的操作系統(tǒng)通過(guò)網(wǎng)絡(luò)下載到本地運(yùn)行。
PXE協(xié)議的成功運(yùn)行需要解決以下兩個(gè)問(wèn)題:

  1. 既然是通過(guò)網(wǎng)絡(luò)傳輸夕凝,那么計(jì)算機(jī)在啟動(dòng)時(shí)宝穗,它的IP地址由誰(shuí)來(lái)配置;
  2. 通過(guò)什么協(xié)議下載Linux內(nèi)核和根文件系統(tǒng)码秉。

對(duì)于第一個(gè)問(wèn)題逮矛,可以通過(guò)DHCP Server解決,由DHCP server來(lái)給PXE client分配一個(gè)IP地址转砖,DHCP Server是用來(lái)給DHCP Client動(dòng)態(tài)分配IP地址的協(xié)議须鼎,不過(guò)由于這里是給PXE Client分配IP地址,所以在配置DHCP Server時(shí),需要增加相應(yīng)的PXE特有配置晋控。
至于第二個(gè)問(wèn)題汞窗,在PXE client所在的ROM中,已經(jīng)存在了TFTP Client赡译。PXE Client使用TFTP Client仲吏,通過(guò)TFTP協(xié)議到TFTP Server上下載所需的文件。
這樣捶朵,PXE協(xié)議運(yùn)行的條件就具備了蜘矢,下面我們就來(lái)看看PXE協(xié)議的工作過(guò)程。

工作過(guò)程

在下圖中综看,PXE client是需要安裝Linux的計(jì)算機(jī)品腹,TFTP Server和DHCP Server運(yùn)行在另外一臺(tái)Linux Server上。Bootstrap文件红碑、配置文件舞吭、Linux內(nèi)核以及Linux根文件系統(tǒng)都放置在Linux Server上TFTP服務(wù)器的根目錄下。
PXE client在工作過(guò)程中析珊,需要三個(gè)二進(jìn)制文件:bootstrap羡鸥、Linux 內(nèi)核和Linux根文件系統(tǒng)。Bootstrap文件是可執(zhí)行程序忠寻,它向用戶(hù)提供簡(jiǎn)單的控制界面惧浴,并根據(jù)用戶(hù)的選擇,下載合適的Linux內(nèi)核以及Linux根文件系統(tǒng)奕剃。

方案介紹

這種方案需要首先設(shè)置一個(gè)啟動(dòng)服務(wù)器和一個(gè)安裝服務(wù)器(可以配置在同一臺(tái)物理機(jī)上)衷旅,然后通過(guò)網(wǎng)絡(luò)啟動(dòng)存放在啟動(dòng)服務(wù)器上的安裝程序。安裝程序會(huì)自動(dòng)訪(fǎng)問(wèn)存放在安裝服務(wù)器上的安裝配置文件和安裝介質(zhì)來(lái)完成安裝纵朋。

涉及到的技術(shù)
該方案主要應(yīng)用了三種技術(shù):

  1. 在PC上從網(wǎng)絡(luò)啟動(dòng)SLES安裝程序的PXE協(xié)議
  2. SLES安裝程序提供的網(wǎng)絡(luò)安裝功能(即指通過(guò)網(wǎng)絡(luò)訪(fǎng)問(wèn)安裝介質(zhì))
  3. SLES安裝程序提供的無(wú)人值守安裝功能(SuSE稱(chēng)為AutoYast)

軟硬件需求
要按本文介紹的方法完成自動(dòng)化安裝柿顶,你需要如下軟硬件資源:

  • 一臺(tái)PC機(jī)器作為啟動(dòng)和安裝服務(wù)器(其它架構(gòu)機(jī)器也可以)
  • 一臺(tái)待安裝的PC機(jī)器,它的網(wǎng)卡必須帶有PXE支持
  • 一個(gè)建好的局域網(wǎng)操软,上述兩臺(tái)機(jī)器已經(jīng)連接入同一子網(wǎng)
  • 待安裝的SLES安裝介質(zhì)

配置tftpd

為了簡(jiǎn)化步驟嘁锯,我們?cè)赬P虛擬機(jī)下搭建DHCP和TFTP服務(wù)端,用tftpd工具來(lái)整合實(shí)現(xiàn)PXE網(wǎng)絡(luò)引導(dǎo)聂薪,注意服務(wù)端與客戶(hù)端要在同一局域網(wǎng)內(nèi)家乘。在Linux下配置服務(wù)的原理類(lèi)似,具體方法可參考互聯(lián)網(wǎng)藏澳。

(1)下載tftpd
http://tftpd32.jounin.net/

(2)啟動(dòng)tftpd32程序仁锯,選擇【Settings】

(3)按需勾選,這里我們僅選擇【TFTP】和【DHCP】

(4)TFTP設(shè)置如下
Base Directory:對(duì)應(yīng)存放Linux的引導(dǎo)文件
PXE Compatibility:增強(qiáng)對(duì)不同型號(hào)網(wǎng)卡的網(wǎng)絡(luò)啟動(dòng)支持
Show Progress bar:在網(wǎng)絡(luò)引導(dǎo)過(guò)程中顯示進(jìn)度
Translate Unix file names:轉(zhuǎn)化Unix文件名
Allow "" As virtual root:允許虛擬路徑
其它高級(jí)選項(xiàng):設(shè)置包括兼容性以及一些細(xì)節(jié)

(5)DHCP配置
重點(diǎn)注意Boot File引導(dǎo)文件的設(shè)置和DHCP綁定地址

(6)tftpboot目錄結(jié)構(gòu)

file://D:\tftpboot  (2 folders, 3 files, 35.86 MB, 36.46 MB in total.)
│   INITRD    32.20 MB
│   LINUX 3.64 MB
│   pxelinux.0    16.04 KB
├─pxelinux.cfg  (0 folders, 1 files, 193 bytes, 193 bytes in total.)
│         default 193 bytes
└─tftpd32   (0 folders, 4 files, 620.33 KB, 620.33 KB in total.)
            EUPL-EN.pdf 33.51 KB
            tftpd32.chm 346.96 KB
            tftpd32.exe 200.50 KB
            tftpd32.ini 39.36 KB

INITRD和LINUX提取自L(fǎng)inux啟動(dòng)引導(dǎo)鏡像
pxelinux.0是pxe啟動(dòng)引導(dǎo)鏡像
pxelinux.cfg文件夾下的default文件為啟動(dòng)菜單配置項(xiàng)
編輯tftpboot\pxelinux.cfg笆载,可以自定義autoinst.xml文件的訪(fǎng)問(wèn)方式和路徑

default linux
 
# Install Linux
label linux
  kernel linux
  append initrd=initrd autoyast=ftp://198.15.0.106/suse/autoinst.xml install=ftp://198.15.0.106/suse splash=silent showopts

配置FTP

(1)下載Filezilla Server
http://filezilla-project.org/

(2)設(shè)置ftp
允許匿名訪(fǎng)問(wèn)帳戶(hù)即可扑馁,配置好ftp路徑
提取SLES鏡像內(nèi)的安裝目錄至ftp目錄下

配置AutoYaST

使用SuSE中的AutoYaST工具生成autoinst.xml,復(fù)制到ftp任意目錄下凉驻,注意文件路徑與default配置相吻合

網(wǎng)絡(luò)啟動(dòng)機(jī)器

前面的配置工作完成后腻要,下面我們就在待安裝機(jī)器上通過(guò)網(wǎng)絡(luò)以無(wú)人值守的方式來(lái)安裝

(1)啟動(dòng)待安裝機(jī)器,選擇從網(wǎng)卡啟動(dòng)涝登。具體方法因BIOS版本不同而異雄家。下圖是從VMWare虛擬機(jī)上得到的選擇網(wǎng)絡(luò)啟動(dòng)的屏幕截圖。

(2)網(wǎng)卡中的PXE代碼會(huì)聯(lián)系DHCP服務(wù)器來(lái)獲取IP地址以及啟動(dòng)鏡像胀滚,然后啟動(dòng)鏡像被載入并運(yùn)行趟济。

(3)開(kāi)始全自動(dòng)安裝

安裝后添加自定義模塊

我這里以添加Kernel內(nèi)核補(bǔ)丁為例

<scripts>
<init-scripts config:type="list">
<script>
<filename>instkernel.sh</filename>
<debug config:type="boolean">true</debug>
<location></location>
<interpreter>shell</interpreter>
<source><![CDATA[
#!/bin/bash
#
# After installation, the logfile from this script can be found in
# /var/adm/autoinstall/logs
#
echo "========================================="
echo "... Starting AutoYAST included script ..."
echo "========================================="
rpm -ivh --root=/  ftp://144.131.254.206/update/3.0.74-0.6.8/kernel-default-base-3.0.74-0.6.8.1.x86_64.rpm 
rpm -ivh --root=/  ftp://144.131.254.206/update/3.0.74-0.6.8/kernel-default-3.0.74-0.6.8.1.x86_64.rpm 
rpm -ivh --root=/  ftp://144.131.254.206/update/3.0.74-0.6.8/kernel-source-3.0.74-0.6.8.1.x86_64.rpm 
rpm -ivh --root=/  ftp://144.131.254.206/update/3.0.74-0.6.8/kernel-default-devel-3.0.74-0.6.8.1.x86_64.rpm
]]>
</source>
</script>
</init-scripts>
</scripts>  

小結(jié)

統(tǒng)一是自動(dòng)化運(yùn)維的基礎(chǔ)核心,而統(tǒng)一部署又是自動(dòng)化運(yùn)維的第一步咽笼,其實(shí)在研究自動(dòng)化部署的過(guò)程中我們會(huì)遇到各種坑顷编,只有踩過(guò)的人才能夠體會(huì)其中的不容易,如果大家在測(cè)試和使用SuSE自動(dòng)化安裝時(shí)遇到任何問(wèn)題剑刑,歡迎直接在原文下方留言媳纬,我們一起學(xué)習(xí)和成長(zhǎng)_

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末施掏,一起剝皮案震驚了整個(gè)濱河市钮惠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌七芭,老刑警劉巖素挽,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異狸驳,居然都是意外死亡预明,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)锌历,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)贮庞,“玉大人,你說(shuō)我怎么就攤上這事究西〈吧鳎” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵卤材,是天一觀(guān)的道長(zhǎng)遮斥。 經(jīng)常有香客問(wèn)我,道長(zhǎng)扇丛,這世上最難降的妖魔是什么术吗? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮帆精,結(jié)果婚禮上较屿,老公的妹妹穿的比我還像新娘隧魄。我一直安慰自己,他們只是感情好隘蝎,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布购啄。 她就那樣靜靜地躺著,像睡著了一般嘱么。 火紅的嫁衣襯著肌膚如雪狮含。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼赞弥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛映胁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播甲雅,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼屿愚,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了务荆?” 一聲冷哼從身側(cè)響起妆距,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎函匕,沒(méi)想到半個(gè)月后娱据,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盅惜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年中剩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抒寂。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡结啼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出屈芜,到底是詐尸還是另有隱情郊愧,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布井佑,位于F島的核電站属铁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏躬翁。R本人自食惡果不足惜焦蘑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盒发。 院中可真熱鬧例嘱,春花似錦狡逢、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仍律,地道東北人嘿悬。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像水泉,于是被迫代替她去往敵國(guó)和親善涨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容