李洋:漫談基于開源工具的運維自動化實現 |
發布時間: 2012/5/28 10:17:22 |
隨著各種業務對IT的依賴性漸重,IT基礎架構越來越快速的發展以及云計算技術的普及,企業平均的IT基礎架構規模正不斷擴張,而且在Web 2.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個方面,歸納總結來其實就是:把零碎的工作集中化,把復雜的工作簡單有序化,把流程規范化,最大化地解放生產力,也就是解放運維人員。 自動化的技能/意識對于運維工作至關重要。運維工作不是簡單的使用工具,這里面還有很多技巧和意識。具體的技巧/意識包括:
等等等等。一定要記住一點:工具是來幫助人進行運維的,這中間還需要人的干預和決策,工具不能代替完全的運維工作。 51CTO:自動化針對的范圍可以大致分為安裝自動化、部署自動化、監控自動化等方面。除此之外,還有哪些方面是您比較關注的?(比如軟件發布、更新、備份等)對于這幾個方面的技術實現,您一般采用哪些工具?這些工具相比其他同類工具的優勢在哪里? 李洋:自動化其實還包括軟件發布自動化、升級自動化、安全管控自動化、優化自動化等等。我個人比較關注管理和安全方面的技術實現,比如說HP和IBM出品的一些ITIL和ITSM產品等我都在使用,比如HP Openview,IBM Tivoli等等。這些工具都有Linux的版本,與其他同類工具相比的優勢應該在于他們的商業應用成熟度,都是老品牌了。 51CTO:針對一個小規模的網站,到百萬量級、千萬量級的網站,您在考慮工具的選擇上會有怎樣的不同? 李洋:我在選擇上對于百萬量級、千萬量級的網站尤其會考慮選擇成熟的工具、性能高的工具、熟悉的工具。而對于小規模的網站,則會考慮選擇一些開源的、免費的工具。這個原則就是以應用為導向,百萬量級、千萬量級的網站牽涉的面廣、要求高,不成熟的工具往往很難說服我使用,所以主要是在成熟度方面。 51CTO:很明顯,自動化的實現不是單純學習幾個工具就能夠做好的,甚至于規劃不好的情況,自動化不僅沒有節省人力,反而帶來了更多的問題。您建議運維人員在考慮自動化流程的過程中應該遵循怎樣的原則或思路? 李洋:其實前面多多少少也談到這個問題了。歸納一下,包括如下幾點原則:(1)根據應用選擇工具;(2)對于關鍵應用,選擇成熟度高的工具;(3)不能過分依賴一種工具,需要進行對比和分析;(4)對工具的特性做到精通;(5)是人駕馭工具,人要監督工具,而不是工具來駕馭人;(6)別忘了腳本。 51CTO:您推薦運維人員可以通過哪些資源、渠道來學習有關自動化方面的經驗知識? 據我個人的經驗,很多專業網站,比如51CTO、網管員世界等都是很不錯的媒體,我看有這方面的很多文章,運維人員可以多多涉獵和學習;另外,運維人員還可以根據選擇的自動化工具,登陸該工具的網站進行學習,一般這樣的網站都會有一些運維的基礎知識來輔助運維人員更快地熟悉工具使用。 本文出自:億恩科技【www.vbseamall.com】 |