運維趨勢 第 0 期 運維自動化html
【人物】基於開源服務的運維自動化實現
【國際前沿】什麼是 DevOps ?
【運維漫畫閣】正則表達式有什麼用?
【命令行 & 工具】面向 Linux 系統管理員的開源工具鏈
【命令行 & 工具】自動化開源工具一覽
【實戰】 Kickstart 無人值守安裝搭建 RHCE 實驗室
【實戰】戲說 Cobbler : Linux 網絡安裝的革命
隨着各類業務對 IT 的依賴性漸重以及雲計算技術的普及,企業平均的 IT 基礎架構規模正不斷擴張。有些 Web2.0 企業可能會須要在兩個星期內增長上千臺服務器,所以對運維而言,經過手動來一個一個搭建的方法不只麻煩、效率低下,並且很是不利於維護和擴展。即便是在傳統的企業當中,平常的備份、服務器狀態監控和日誌,經過手動的方式來進行的效率也很低,是一種人力的浪費。所以,自動化早已經是每一個運維都必須掌握的看家本領。在不一樣的企業中,自動化的規模、需求與實現方式都各不相同,所以在技術細節層面,運維之間很難將別的企業的方法整個套用過來。然而在不少狀況下,自動化的思路是有共通之處的。所以, 51CTO 系統頻道最近邀請了中國移動通訊研究院的項目經理李洋先生,就運維自動化實現,尤爲是基於開源工具的運維自動化,談了談本身的經驗和見解。
李洋,博士畢業於中科院計算所。 10 多年來一直從事計算機網絡信息安全研發工做,曾主持和參與多項國家重點項目以及信息安全系統和企業信息安全系統的研發工做。具備 Linux 系統應用、管理、安全及內核的研發經驗,擅長網絡安全技術、協議分析、 Linux 系統安全技術、 Linux 系統及網絡管理、 Linux 內核開發等。
51CTO :可否先大體談談您的運維經歷?李洋:
個人運維經歷分 3 個階段:
(1)靠純手工、重複地進行軟件部署和運維;
(2)經過編寫腳本方便地進行軟件部署和運維;
(3)藉助第三方工具高效、方便地進行軟件部署和運維。
這幾個階段是隨着我知識、經驗、教訓不斷積累而不斷演進的。並且,第 2 個階段和第 3 個階段也能夠說是齊頭並進的。 Linux 下的第三方工具雖然說已經很多了,可是 Linux 下的腳本編寫對運維工做的促進是絕對不能夠忽視的。因此我在實踐中一直是兩種方式都採用。 51CTO :在 Linux 下有哪些運維工具是讓您感受特別好用、眼睛一亮的?李洋:其實 Linux 下的運維工具不算太多,我以爲比較好用的包括 RedHat 提供的 Kickstart Installations 自動安裝解決方案,不過該方案相對比較繁瑣;目前有的工程師認爲 Cobbler 是讓人眼前一亮的好工具,我的感受也挺不錯。另外,其實 Linux 下可以方便地經過編寫 shell 腳本、使用 CronTab 等方法來進行運維,我的認爲這也是很是不錯的選擇。 51CTO :有人理解自動化就是運維爲了減小重複枯燥的工做而創建的流程方法,而除此以外,自動化還可以帶來減小人爲錯誤、及時報警與故障恢復、提升業務可用性等好處。您對運維能意識對於運維的重要程度如何?李洋:運維工做自動化確實包含上述 2 個方面,概括總結來其實就是:把零碎的工做集中化,把複雜的工做簡單有序化,把流程規範化,最大化地解放生產力,也就是解放運維人員。自動化的技能 / 意識對於運維工做相當重要。運維工做不是簡單的使用工具,這裏面還有不少技巧和意識。具體的技巧 / 意識包括:
( 1 )如何駕馭這些琳琅滿目的工具爲己所用
( 2 )如何根據不一樣的應用環境來選用不一樣的工具
( 3 )如何根據應用來組合使用工具等等等等。
必定要記住一點:工具是來幫助人進行運維的,這中間還須要人的干預和決策,工具不能代替徹底的運維工做。 51CTO :自動化針對的範圍能夠大體分爲安裝自動化、部署自動化、監控自動化等方面。除此以外,還有哪些方面是您比較關注的?(好比軟件發佈、更新、備份等)對於這幾個方面的技術實現,您通常採用哪些工具?這些工具相比其餘同類工具的優點在哪裏?李洋:自動化其實還包括軟件發佈自動化、升級自動化、安全管控自動化、優化自動化等等。我我的比較關注管理和安全方面的技術實現,好比說 HP 和 IBM 出品的一些 ITIL 和 ITSM 產品等我都在使用,好比 HPOpenview , IBMTivoli 等等。這些工具都有 Linux 的版本,與其餘同類工具相比的優點應該在於他們的商業應用成熟度,都是老品牌了。 51CTO :針對一個小規模的網站,到百萬量級、千萬量級的網站,您在考慮工具的選擇上會有怎樣的不一樣?李洋:我在選擇上對於百萬量級、千萬量級的網站尤爲會考慮選擇成熟的工具、性能高的工具、熟悉的工具。而對於小規模的網站,則會考慮選擇一些開源的、免費的工具。這個原則就是以應用爲導向,百萬量級、千萬量級的網站牽涉的面廣、要求高,不成熟的工具每每很難說服我使用,因此主要是在成熟度方面。 51CTO :很明顯,自動化的實現不是單純學習幾個工具就可以作好的,甚至於規劃很差的狀況,自動化不只沒有節省人力,反而帶來了更多的問題。您建議運維人員在考慮自動化流程的過程當中應該遵循怎樣的原則或思路?李洋:其實前面多多少少也談到這個問題了。概括一下,包括以下幾點原則:
( 1 )根據應用選擇工具
( 2 )對於關鍵應用,選擇成熟度高的工具
( 3 )不能過度依賴一種工具,須要進行對比和分析
( 4 )對工具的特性作到精通
( 5 )是人駕馭工具,人要監督工具,而不是工具來駕馭人
( 6 )別忘了腳本。
51CTO :您推薦運維人員能夠經過哪些資源、渠道來學習有關自動化方面的經驗知識?據我我的的經驗,不少專業網站,好比 51CTO 、網管員世界等都是很不錯的媒體,我看有這方面的不少文章,運維人員能夠多多涉獵和學習;另外,運維人員還能夠根據選擇的自動化工具,登錄該工具的網站進行學習,通常這樣的網站都會有一些運維的基礎知識來輔助運維人員更快地熟悉工具使用。原文連接:
http://os.51cto.com/art/201009/224077.htm
Perl ( PracticalExtractionandReportLanguage )是一種腳本語言,最初由 LarryWall 於 1987 年 12 月 18 日發表。被稱之爲 「 一種擁有各類語言功能的夢幻腳本語言 」 、 「Unix 中的王牌工具 」 。
推薦閱讀:
善用腳本讓你的 Nagios 記錄系統監控日誌自動分析黑名單及白名單的 iptables 腳本
正則表達式徹底學習手冊:
菜鳥入門指導
全面分析 Linux 正則表達式(一)
全面分析 Linux 正則表達式(二)
全面分析 Linux 正則表達式(三)
全面分析 Linux 正則表達式(四)
全面分析 Linux 正則表達式(五)
全面分析 Linux 正則表達式(六)
命令行 & 工具 | 開源工具鏈
原文: Open Source Toolchains for Linux Systems Administrators 做者: MarkHinkle 譯者:哲婷
今天的系統管理有兩大明顯趨勢,它們是 DevOps 和進展稍微遲緩的敏捷運維運動。這些措施流行於許多 Web2.0 和雲計算公司,好比 Twitter 、谷歌還有雅虎,固然也不乏像 Facebook 這樣其產品高度依賴 IT 技術的公司。可是,實際上這種作法也一樣很是適合傳統企業中的 IT 管理員們,這些企業每每都有大規模的基礎架構和不切實際的工做負荷,須要提升工做效率來達成其業務目標。 DevOps 鼓勵與開發者們共同進行產品研發。系統管理員的角色經歷了不斷的變化,已經從被動執行重複系統建設任務的基礎架構維護者演變成如今的系統設計和建設工程師。在過去,系統管理員可能在一批隨機的腳本中搜集他們的專業領域知識;可是如今,精明的系統工程師們已經開始編寫基礎架構,並能夠確保對於這些編碼的理解和制度化可以遍佈整個公司。 DevOps 和 Agile 並不被定義爲是一次技術性改變,而是專業和文化上的改變。它們從新定義了 IT 管理員的職能:從系統和 IT 架構維護向管理和定義可複製的、有彈性的和高度可用的 IT 系統轉變。這一變化勢必會帶來一些戰術上的改善,用以達成更高的可用性和工做效率。如下作法是
1 、基礎架構自動化
相比起執行重複任務而言,管理員們須要建立機械化進程,讓它們有效的使用工具。這些工具能夠用來生成一致的結果並被團隊中的其餘成員所分享。
2 、服務器版本控制
任何變化並不直接應用到服務器上,而是應用到一箇中央軟件庫內。全部改變從中央軟件庫推送到服務器上,從而創建一個在出現錯誤的時候的回滾機制。
3 、頻繁的改進和發佈 / 更新
舊的思惟方式是,儘量減小對服務器和架構進行改變(不管是次數仍是規模)來下降風險。而敏捷的運維思路是,經過頻繁的微小變化來改善服務器的性能,而因爲每次的變化都很小,當出現問題的時候,他們能夠輕易地跟蹤那些影響架構的不利變化。爲了實現這些目標,系統工程師須要一個更強大的工具包。幸運的是,開源界爲了這一目標已經研發了大量的工具。
軟件開發者們對於工具鏈至關熟悉:一個程序的輸出構成了另外一個程序的錄入,從而組成了一系列程序。好比說,使用 GNUEmacs 編輯器, GNUbin-utils 和 GNU 編譯器集( GCC )的組合。軟件開發者們編寫不少在其它程序中調用的程序與流程,而不是將同一段代碼在全部的地方都重複一遍。有了新生的 DevOps 和敏捷運維運動,運維人員們組成了社區,幫助人們用本身所喜好的工具來定義屬於本身的工具鏈。 DevOps 的工具鏈項目就是這些社區當中的一員。正如軟件開發商有不一樣的專用工具來串聯成一條軟件工具鏈(好比編輯、編譯、構建腳本等),系統管理員也能夠運用由這些可以實現自動管理功能和維護 Linux 服務器的工具組成的工具鏈。它們能夠分爲三大類:預備、配置管理和監控。
1 、預備類工具可使 Linux 服務器上的軟件安裝包自動化。它們藉助服務器上的軟件包系統好比 rpm 或者 apt 來安裝軟件包,有些甚至會作一些粗略的配置工做。
2 、配置管理和自動化是用來設置參數或者開啓一個新服務器上的服務。它們也能夠用來把系統還原到遇到錯誤以前的狀態。
3 、監控工具用來收集服務器數據,從而生成可用性、性能和其它系統狀態的報告。
整合系統管理工具
開源工具鏈十分善於維護高服務水平,由於自動化和準確無誤的運做比手動解決問題更快、更有效率。若是你想保持五個九的可用服務水平( 99.999% 的正常運行時間),那麼你在每年中只容許有 5 分 15 秒的停機時間。對於一個管理員而言,這樣的時間甚至來不及接收錯誤報告頁,更不用說登錄到服務器進行問題診斷了。構建工具鏈能夠從使用服務器自動構建工
能夠在系統安裝完畢後進行服務的自動更新。開源工具鏈的另一個例子是將預備、配置和自動化集成到一塊兒的工具,好比由紅帽資助的 Genome 項目。
Genome 是一系列用於維持雲架構的工具,能夠部署多層次的網絡應用,包括 Apache 反向代理層, JBoss 應用服務器層,以及 PostgresSQL 數據庫層。上述大部分工具都是主動類的工具,能夠用來進行變更並執行任務。然而,它們卻缺少關於當前系統情況的信息,因而監控工具就有了用武之地。對於傳統系統管理員而言,監控無非是在發生錯誤的時候經過一個頁面或者一封郵件提醒他們。可是,監控工具(如 Nagios/OpenNMS/ZenossCore )可以提供更爲完善的服務器性能檢測,能夠告訴管理員們所
具開始。服務器自動構建工具能夠加速部署速度,並能夠在短期內大規模部署服務器,同時也可讓構建過程更容易複製。在發生嚴重故障時,還能夠重建架構。在早期, Linux 用戶可能會整理出一個軟件包列表,發至 rpm 進行批量軟件安裝。後來,咱們用 Kickstart 來執行無人值守的 Linux 安裝。如今, Cobbler 把這個功能提高到了一個新的高度:它實現了物理機與虛擬機的並行系統構建,而且能夠進行 DHCP 和 DNS 的配置。 Cobbler 還集成了其它的工具,好比用於配置管理自動化的 Puppet 等軟件。這個工具備運行中的服務的狀態。它們中的一些甚至能夠提供在其它工具中開啓程序的界面,好比 ZenossCore 能夠在一個檢測狀態臺上經過Cfengine 、 Chef 或者 Puppet 來從新配置服務。
。
相關閱讀:
" 全世界系統管理員日 " 的由來 via Microsoft
Linux 批量安裝五大開源軟件挨個看 via51CTO
系統頻道系統管理員應該按期完成的九件事 via51CTO 系統頻道
【描述】針對紅帽 Linux/Fedora 等發行版的自動化安裝方式,簡單的講就是讓系統在安裝過程當中從一個 ks.cfg 配置文件中自動獲取全部須要配置的參數。源於 Anaconda 項目。
【技術支持】紅帽 /Fedora 社區
【起始於】 2004 年以前
【維基】http://fedoraproject.org/wiki/Anaconda/Kickstart
【描述】爲了實現快速網絡安裝環境的 Linux 安裝服務器,能夠爲數量衆多的 Linux 服務自動化執行任務。
【發起人】 MichaelDeHaan
【技術支持】紅帽 /Fedora 社區
【起始於】 2007 年以前
【官方網站】https://fedorahosted.org/cobbler/
【描述】針對數據中心管理的開源平臺,針對設備的部署、監控等多個方面經過可插拔式架構實現自動化的目的,尤爲面向雲計算/基於虛擬化的業務。
【發起人】Matt Rechenburg
【起始於】2005 年以前
【官方網站】http://www.openqrm.com/
Spacewalk
【描述】針對紅帽/Fedora 等發行版的軟件更新管理軟件,同時也提供預備和監控的功能。這個項目衍
生了紅帽 Network Satellite 產品。
【技術支持】紅帽
【起始於】2001(Red Hat Network)/2008
【官方網站】http://spacewalk.redhat.com/
【描述】一個系統集成框架,能夠用 Ruby 等代碼完成服務器的管理配置並編寫本身的庫。
【技術支持】 OpsCode
【起始於】 2009 年 1 月
【官方網站】http://www.opscode.com/chef/
【描述】一個開源、跨平臺的構建 / 部署服務器的自動化框架,能夠在多個節點、多個應用層上進行服務擴展及管理等工做。
【技術支持】 ControlTier 社區( Google Group)
【起始於】2007 年以前
【官方網站】
http://controltier.org
【描述】全稱爲 Fedora Unified Network Controller,Fedora 統一網絡控制器,用於自動化的遠程服務器管理。
【發起人】Michael DeHaan 等
【技術支持】紅帽/Fedora 社區
【官方網站】https://fedorahosted.org/func/
【描述】一個開源的數據中心自動化/配置管理框架,用於 Puppet 本身的聲明語言自動化重現任意的系統配置。
【技術支持】Puppet Labs
【官方網站】http://www.puppetlabs.com/
【描述】一個強大的監控預警系統,能夠監控系統、應用、服務以及各類進程的運行情況,並提供了多種警報機制。
【技術支持】 NagiosEnterprises
【發起人】 EthenGalstad
【起始於】 1999 年
【官方網站】http://www.nagios.org/
【描述】一個網絡管理應用平臺,能夠自動識別網絡服務,事件管理與警報,性能測量等任務。【技術支持】 openNMSgroup
【起始於】 2005 年以前
【官方網站】http://www.opennms.org/
【描述】用於監控網絡上的服務器/服務以及其餘網絡設備狀態的網絡管理系統,後臺基於 C,前臺由
PHP 編寫,可與多種數據庫搭配使用。提供各類實時報警機制。
【技術支持】Zabbix 公司
【發起人】Alexei Vladishev
【起始於】1998 年
【官方網站】http://www.zabbix.com/
【描述】一個基於 Zope 應用服務器的應用/服務器/網絡管理平臺,提供了 Web 管理界面,可監控可用性、配置、性能和各類事件。
【技術支持】Zenoss Inc.
【起始於】2002 年
【官方網站】http://zenoss.com/
實戰 |Kickstart
做者:撫琴煮酒本文記錄了用 Kickstart 搭建 RHCE 實驗室環境的詳細步驟。文中使用的環境爲 RHEL5 ,也一樣適用於 CentOS 。文章做者撫琴煮酒( AndrewYu )是經驗豐富的 Linux/Unix 系統工程師,並曾經擔任過一段時間的 RHCE 講師的工做。
什麼是 PXE
嚴格來講, PXE 並非一種安裝方式,而是一種引導的方式。進行 PXE 安裝的必要條件是要安裝的計算機中包含一個 PXE 支持的網卡( NIC ),即網卡中必需要有 PXE 客戶端。 PXE ( Pre-bootExecutionEnvironment ,直譯爲預啓動執行環境)協議使計算機能夠經過網絡啓動。協議分爲 client 和 server 端, PXEclient 在網卡的 ROM 中,當計算機引導時, BIOS 把 PXEclient 調入內存執行,由 PXEclient 將放置在遠端的文件經過網絡下載到本地運行。運行 PXE 協議須要設置 DHCP服務器和 TFTP 服務器。 DHCP 服務器用來給 PXEclient (將要安裝系統的主機)分配一個 IP 地址,因爲是給 PXEclient 分配 IP 地址,因此在配置 DHCP 服務器時須要增長相應的 PXE 設置。此外,在 PXEclient 的 ROM 中,已經存在了 TFTPClient 。 PXEClient 經過 TFTP 協議到 TFTPServer 上下載所需的文件。
什麼是 KickStart
KickStart 是一種無人職守安裝方式,其工做原理是經過記錄典型的安裝過程當中所需人工干預填寫的各類參數,並生成一個名爲 ks.cfg 的文件;在其後的安裝過程當中(不侷限於生成 KickStart 安裝文件的機器)當出現要求填寫參數的狀況時,安裝程序會首先去查找 KickStart 生成的文件,當找到合適的參數時,就採用找到的參數,當沒有找到合適的參數時,才須要安裝者手工干預。這樣,若是全部的 Kickstart 參數都設置好,安裝者徹底能夠只告訴安裝程序從何處取 ks.cfg 文件,而後去忙本身的事情。等安裝完畢,安裝程序會根據 ks.cfg 中設置的重啓選項來重啓系統,並結束安裝。
PXE+KickStart 安裝的條件
執行 PXE+KickStart 安裝須要的設備爲:
1.DHCP 服務器
2.TFTP 服務器
3.KickStart 所生成的 ks.cfg 配置文件
4. 一臺存放系統安裝文件的服務器,如NFS 、 HTTP 或 FTP 服務器
5. 帶有一個 PXE 支持網卡的將安裝的主機
【實戰】 Kickstart 無人值守安裝搭建 RHCE 實驗室
1、安裝 httpd
yum -y install httpd*
2、掛載 RHEL5 的 DVD 光盤,並複製第一張光盤下的全部內容(文件
和文件夾)到/var/html/www 下
mount /dev/cdrom /mnt
cp –rf /mnt/* /var/html/www
3、安裝 tftp-server,並啓用 tftp 服務,重啓 xinetd 進程
rpm -ivh tftp-server-0.39-1.i386.rpm
vi /etc/xinetd.d/tftp
# default: off
# description: ...
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no #disable 的值由 yes 變爲 no
per_source = 11
cps = 100 2
flags = IPv4
}
service xinetd restart
4、配置支持 PXE 啓動
注意我已經把第一張光盤的內容複製到/var/www/html 目錄中了,因此所須要的文件我只須要從/var/ftp 目錄中複製就好了。
1、進入 tftpboot 文件夾,沒有就建一個,有了就不用建了。
cd /tftpboot/
2、把 pxelinux.0 複製到/tftpboot/中
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
3、把 Linux 第一張安裝光盤上/image/pxeboot/initrd.img 和vmlinux 複製到/tftpboot/中
cp /var/ftp/image/pxeboot/initrd.img /tftpboot
cp /var/ftp/image/pxeboot/vmlinux /tftpboot
4、 複製第一張安裝光盤上的 isolinux/*.msg 到/tftpboot/中
cp /var/ftp/isolinux/*.msg /tftpboot
5、 在 tftpboot 中新建一個 pxelinux.cfg 目錄
mkdir pxelinux.cfg
6、 把 Linux 第一張安裝光盤上 isolinux 目錄中的 isolinux.cfg 複製到pxelinux.cfg 目錄中,並同時更改文件名稱爲 default
cd pxelinux.cfg
cp /var/ftp/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
5、安裝 dhcp 服務,同時修改配置
1、 安裝
rpm -ivh dhcp-3.0.1-12_EL.i386.rpm
2、 複製配置模板文件到指定的目錄中,並重命名
cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample
/etc/dhcpd.conf
3、 修改配置文件,添加一行:filename "/pxelinux.0",其餘的修改本身完成就好了。這文件的位置必定要注意,否則會失敗,切記
[root@localhost isolinux]# vim /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
next-server 192.168.1.14;#PXE 服務器 IP 地址
filename "/pxelinux.0";#注意此行的位置,寫在 subnet 下面的話會失敗
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option nis-domain "example.com";
option domain-name "example.com";
option domain-name-servers 192.168.1.254;
option time-offset -18000;
# 其餘配置參數
#
}
4、 啓動 dhcp 服務
service dhcp start
6、 安裝 kickstart 並進行配置
首先安裝 Kickstart:
rpm -ivh system-config-kickstart-2.5.16-2.noarch.rpm
在 gnome 環境下配置 kickstart 的指令以下:
system-config-kickstart
以後的配置步驟以下:
1. 基本配置,按本身需求來就好
2. 安裝方法,選擇 httpd 安裝,切記不要輸入任何的賬號,咱們採
用的匿名安裝
3. 引導安裝程序選項,不須要作更改
4. 分區信息,建立三個分區
5. 網絡配置,我使用的靜態分配地址(動態一樣如此)
6. 顯示配置,按本身需求來就好
7. 軟件包的選擇,我選擇了 Kernel Developent 和 Development
Tools 安裝(但千萬不要選擇這兩個軟件包,否則的話在安裝的時
候會報錯的)
8. 其餘的都是默認設置,沒有作修改
9. 生成文件 ks.cfg,保存到/var/www/html 下
7、修改/tftpboot/pxelinux.cfg/default 文件,指定讀取 ks.cfg 的方法
(ks=http://192.168.1.40/ks.cfg)
vi /tftpboot/pxelinux.cfg/default
auth --useshadow --enablemd5
key --skip #這行必定要,跳過註冊號輸入,否則會失敗
bootloader --location=mbr
clearpart –all –initlabel
text
firewall --disabled
firstboot --disable
keyboard us
lang en_US
logging --level=info
url --url=http://192.168.1.14/
network --bootproto=dhcp --device=eth0 --onboot=on
reboot
rootpw --iscrypted $1$HEJKfwF9$r1l0JoPz74ToF9NbE3Qs1
selinux --disabled
timezone --isUtc Asia/Shanghai
intall
xconfig --defaultdesktop=GNOME -depth=8
--resolution=640x480
part swap --bytes-per-inode=4096 --fstype="swap"
--size=512
part /boot --bytes-per-inode=4096 --fstype-"ext3"
--size=200
part / --bytes-per-inode=4096 --fstype="ext3" --grow
--size=1
%packages
#下面指定軟件包列表便可
最後,從新引導安裝就能夠了。
以上是個人配置步驟,若是沒有出入的話,是必定能夠成功的!
【實戰】戲說 Cobbler : Linux 網絡安裝的革命
從前,咱們一直在作裝機民工這份頗有前 途的職業。自打若干年前 Red Hat 推出了Kickstart,此後咱們頓覺身價倍增。再也不須要 刻了光盤一臺一臺地安裝 Linux,只要搞定PXE、DHCP、TFTP,還有那滿屏眼花繚亂不知所云的 Kickstart 腳本,咱們就能夠像哈里 波特同樣,輕點魔棒,瞬間安裝上百臺服務器。這一堆花裏胡哨的東西可不是通常人都能整明 白的,沒有大專以上學歷,通不過英語四級,根本別想玩轉。總而言之,這是一份多麼有前 途,多麼有技術含量的工做啊。
很不幸,Red Hat 發佈了網絡安裝服務器 套件 Cobbler(補鞋匠),它已將 Linux 網絡 安裝的技術門檻,從大專以上文化水平,成功 下降到初中如下,連補鞋匠都能學會。對於我 們這些在裝機領域浸淫多年,經驗豐富,老驥 伏櫪,志在千里的民工 兄弟們來講,不啻爲一 個晴天霹靂雷。
Cobbler聲稱能夠快速創建網絡安裝環境, 那麼到底有多快呢?我在一臺裝有 Fedora 9 的服務器上進行了測試,步驟以下:
1. 安裝相關軟件:
yum -y install cobbler tftp-server dhcp httpd xinetd
注意 /var/www/cobbler 目錄必須具備足夠容納 Linux 安裝文件的空間(移動,建軟連接)
2. 檢查 cobbler 配置:
cobbler check
按提示解決相關問題,把 /etc/cobbler/settings 中的 server 和 next_server 設爲本服務器的 IP 地址,manage_dhcp 設爲 1,以便管理 DHCP。
3. 導入 Fedora 9 安裝 DVD ISO 中的文件:
mount -o loop Fedora9/x86_64/Fedora- 9-x86_64-DVD.iso /mnt/dvd/ #將ISO文件掛載到 /mnt/dvd 目錄
cobbler import --mirror=/mnt/dvd --name=FC9-x86-64 #從 /mnt/dvd 目錄導入全部安裝文件,命名爲 FC9- x86-64
cobbler distro list #查看導入結果,應顯示 FC9-64-i386 和 FC9-64- xen-i386
4. 修改 DHCP 和 Kickstart 配置模板:
vi /etc/cobbler/dhcp.template
DHCP 配置模板,若是已經有一個 dhcpd.conf,可 參照修改此模板
vi /etc/cobbler/sample.ks
Kickstart 配置模板
5. 生成並同步全部配置:
cobbler sync
6. 啓動相關服務:
service xinetd start
/etc/xinetd.d/tftp 中 disable = no ,
service dhcpd start
service cobblerd start
曹植七步成詩,而 Cobbler 竟然只須要六 步。啓動另外一臺新服務器,經過 PXE 啓動進入 藍色的 Cobbler 安裝界面,選擇 Fedora 9 安 裝項,幾分鐘以內就能一鼓作氣,自動完成系 統安裝。