淺談Unix系統管理(轉)

post0發表於2007-08-09
淺談Unix系統管理(轉)[@more@]

Unix作業系統自1969年在AT&T的Bell試驗室誕生以來,迄今已經有30多年的歷史了。因其效能穩定,功能強大,安全性好等特點,Unix系統得到了廣泛的應用,特別是在高階解決方案方面,已經成為了主流作業系統。

國內進行Unix的研究和應用也已經有20多年的歷史了。初期,Unix系統多應用於銀行、電信、郵政、保險、鐵道等部門;近期,由於國內計算機技術的普及,行業資訊化的進展,以及網際網路的飛速發展,Unix系統在多個領域得到廣泛應用,成為處理核心業務的支撐軟體。可見,瞭解和掌握一些有關Unix系統的知識對於IT人員而言,很有必要了。

參加工作以後,筆者有幸參加了多個銀行綜合業務系統的建設。在與客戶的交流過程中,大家均感覺到:對於使用Unix作為平臺的業務系統,要使其充分可靠地發揮作用,除了開發人員做好系統設計和開發外,更重要地是維護人員要做好系統管理。而由於Unix系統本身博大精深,相關的技術又很多,要精通Unix系統絕非輕易可以做到(儘管有很多所謂"從入門到精通"的書籍)。所以,本著循序漸進的原則,維護人員在初期掌握一些基本的與業務密切相關的系統管理知識非常重要。鑑於此,筆者總結了一些關於銀行行業Unix系統管理(後面所講的Unix系統管理均指銀行行業的Unix系統管理)的經驗。

筆者認為Unix系統管理總的原則是:瞭解原理、嚴守規範、勤於檢測、有備無患。所謂"瞭解原理"是指必須瞭解Unix系統的基本原理,對於Unix的程式管理模型,檔案管理策略,核心結構,安全機制,Shell程式設計等必須要有理論上的認識。"嚴守規範"是指必須熟悉所管理的Unix系統的各種操作規範。這裡需要注意的是,由於歷史的原因,Unix在版本統一方面發展得並不好,不同廠商的Unix系統在操作和管理上有時候有很大的不同。因此,如果管理員沒有透過相應Unix廠商的系統管理員專家認證,不應該被允許上崗。"勤於檢測"是指管理員應該經常性地檢查系統的檔案系統使用情況、日誌使用情況、業務系統程式執行情況、系統記憶體執行情況,以保證業務系統正常穩定運作。"有備無患"是指做好系統緊急引導盤,做好各種系統備份等。

下面,筆者從5個方面對此進行詳細討論:

一、啟動/終止系統

啟動/終止系統也許可以說是最簡單的事情。但是,對於很多系統管理新手而言,這卻是最不可以掉以輕心的事情。先談啟動系統吧,我覺得應注意以下幾個方面:

檢查機房環境。現在銀行業務系統中使用的往往是Unix小型機(例如IBM RS6000系列、HP 9000系列等)。為了保證機器的穩定性和效能,這些機器對於機房的溫度、溼度都是有要求的。因此在決定開機之前必須看一下機房的溫度表和溼度表。

檢查UPS系統。非正常掉電對Unix伺服器的損害是非常大的。為避免這種情況,現在系統中基本都配置了UPS系統。在啟動機器之前對UPS系統進行一次常規檢查是很有必要的。

嚴守加電規則。現在的系統通常配備有雙機雙櫃熱備份系統,具有多臺伺服器,多個磁碟陣列櫃。有的還具有獨立磁帶機、光碟塔等裝置。這些裝置的加電啟動過程是有順序的,要求管理員必須按照操作手冊的規定來操作。否則,很有可能造成對系統的損壞。

二、執行安全策略

安全策略一般包含以下部分:網路安全、伺服器安全、作業系統安全、資料庫安全以及應用系統安全。網路安全和伺服器安全還分為硬體安全和軟體安全兩個方面。由於銀行資料的敏感性,其業務系統的安全自然是非常重要的。保障系統安全可以說是系統管理員絲毫馬虎不得的任務。不過,對於管理員而言,銀行業務系統安全策略的設計和實現並不是最重要的(這通常由系統整合商和系統驗收鑑定單位負責)。管理員最重要的應該是嚴格實施業務系統的安全策略,維護好系統安全。筆者認為這可以從以下幾個方面進行考慮:

遵守"最小權力"原則。權力最小原則是安全保密的一條基本常識,可以避免因某個人(特別是管理員)權力太大而帶來的安全隱患。也就是說當需要進行操作和使用系統資源時,除必要的身份確認外,需要對使用者的許可權進行控制,做到使用者只能獲得或擁有完成基本職工作所需要的最小權力。當然,這樣做會給管理員進行系統維護帶來種種"不便"。不過,為了安全一點,麻煩一點又何妨呢?

遵守"開發者、使用者、維護者分離"原則。這可以說是系統安全管理的一條基本原則;嚴格遵守的話,對於減少內部人員作案可以起到較好的作用。不過需要指出的是,在實際工作中系統管理員在領導的"熱切"目光中往往很無奈地要完成很多開發者和使用者的事情。要改變這個情況,有關領導不僅僅需要精通銀行業務知識,還要牢牢樹立"安全管理"意識。

做好機房管理工作。這主要是指做好網路裝置、中心伺服器、中心印表機、前臺主機等裝置的硬體安全管理工作。這就要求做好各種防雷、防火、防盜、防靜電等工作。

做好網路安全監控。隨著業務的發展,許多銀行已經開通了電話銀行和網上銀行(利用國際網際網路開展業務的系統)。因此,銀行業務系統已經不僅僅執行在內部專用網上,而是執行在Intranet和Internet接合的具有複雜拓撲結構的計算機網路上。而由於這種計算機網路具有聯結形式多樣性、終端分佈不均勻性和網路的開放性、互連性等特徵,致使網路易受駭客、怪客、惡意軟體和其他不軌的攻擊。所以網上資訊的安全和保密已經一個至關重要的問題。因應這種情況,系統整合商往往採用了多種技術來保障安全,例如網路裝置埠安全控制,網路安全防火牆(軟體/硬體),加密技術(DES、RSA等),數字證書等。對於系統管理員而言,一定要掌握好這些技術,利用開發商提供的各種武器對支撐業務系統執行的網路環境進行全面監控。

做好使用者管理。使用者管理體現的是開發商為系統設計的基於多級安全機制的訪問控制策略。要執行好這個策略,系統管理員需要做好下面幾件事情:在開發商的幫助下定義好系統角色和使用者組,維護好新舊帳號,嚴格執行密碼使用規範。

三、維護系統環境

銀行業務系統結構複雜,為了保障業務穩定執行,系統管理員需要維護好系統的執行環境。具體來說,需要注意以下幾個方面:

維護系統配置和服務設定。Unix系統在安裝以後會自行進行很多系統配置(例如允許的最大程式數,最大可開啟的檔案數等)和服務設定(ftp服務、 telnet服務等)。管理員需要根據業務系統的要求維護好這些配置。通常,系統管理員需要根據伺服器的硬體情況調整允許的最大程式數、最大可開啟的檔案數,需要關閉ftp、telnet等服務。

維護各種使用者程式配置預設環境。這裡需要特別注意的是為了保證業務系統中所有的功能模組都能夠正確作用,系統管理員在系統試執行階段時就需要注意各種使用者程式的配置方法(這裡涉及的環境是說$HOME、$WORKDIR等環境)。因為儘管開發商都會提供《操作手冊》和《技術手冊》;但是,考慮到在大多數情況下,開發商在上系統時都存在對程式碼或多或少的修改。這些修改是很難及時反應到《手冊》中的。當然,在進行系統切換時,管理員很有必要備份這些設定。

維護各種日誌檔案。Unix作業系統、資料庫系統、網路監控系統(防火牆)、業務系統等軟體都會產生一些日誌檔案。這些日誌檔案記錄了當前系統的執行狀態。管理員需要分析並維護這些檔案,定期對其進行備份和清除。

維護中央印表機。為保證客戶和內部職能部門及時得到相關報表,銀行在中心機房都配備了高速列印裝置。這些列印裝置往往負責關鍵列印業務(例如銀行對帳單、銀行內部業務狀況表等)。管理員需要做好這些列印裝置的日常維護工作,保證其在需要使用時能夠正常工作。

進行作業排程。以前,銀行業務系統基本是實時系統。現在為了提高伺服器利用效率,有的開發商在系統中引入了作業系統的思路。對於一些耗時長,業務實時性要求不高的工作,採用了後臺非同步執行的方式。管理員需要對這些作業進行正確排程。

維護軟/硬體變更。業務系統基本都面臨軟/硬體升級的問題。這涉及到各種相容性測試、系統切換、系統培訓等一系列問題。由於影響大,涉及面廣,需要考慮的細節問題非常多,限於篇幅關係,這裡就不進行具體討論了。

四、監視系統效能

監控系統效能,提高系統資源利用率,降低交易峰值是管理員日常工作中的重要任務。這可以從以下幾個方面來考慮:

監測CPU和記憶體的利用率。眾所周知,CPU的速度和記憶體的大小對系統的影響是非常大的。管理員需要經常性的檢視系統CPU和記憶體的使用情況,並做記錄。管理員還需要根據業務的發展情況及早提出CPU和記憶體的升級報告。

檢測程式執行。管理員需要週期性的對峰值情況下和非峰值情況下的各種程式執行情況進行監測、分析,發現對資源消耗大的程式。並且把觀測報告傳送給系統整合商,以便其及早做出解決方案。

監測磁碟使用情況。這主要是指監測資料庫的容量變化和日誌檔案的大小變化。

五、備份/恢復

備份可以說是管理員在各種"災難"面前的最後一道防線,其重要性可謂不言而喻。下面將介紹災難備份的一些原則和災難恢復的一般步驟。

災難備份的基本原則如下:

安全性原則。 為保證備份的安全,從風險分散的原則考慮應建立多套備份(至少有兩套)、多種介質,並且異地存放,另外,對備份的保密性、介質的存放條件都要加強管理。

冗餘性原則。冗餘是備份恢復機制實現的基本原則。為保證系統的安全性,從硬體配置、軟體設計、資料儲存等各方面都採用冗餘換取安全。

可行性原則。包括技術可行性和經濟可行性。首先要從技術的角度保證能正確地將資料備份到不同的介質上,而且要保證備份的資料能準確、完整地恢復,其次在制定備份計劃時要結合本單位的實際情況和經濟承受能力。災難恢復可按照以下步驟:

檢查熱備份系統是否已經發生作用。如果發生作用,執行第(4)步。

檢查中心機房熱備份系統中備份伺服器和備份磁碟陣列櫃是否可用。如果可以使用,則立即啟動備份磁碟陣列櫃和備份伺服器,利用中心機房備份系統處理銀行業務。然後,執行第(4)步。如果不可以使用,而又沒有異地冗餘系統,則執行第(4)步;否則執行下一步。

啟動異地遠端系統。利用異地遠端機房備份系統處理銀行業務。

嘗試啟動發生災難的伺服器。如果能夠成功啟動則執行第(6)步。

置換髮生故障的硬體/軟體模組。重新執行第(4)步。

啟動資料庫系統。

本地磁碟陣列中資料是否可用。如果可用,則執行第(9)步,否則執行下一步。

在資料庫中恢復最新的資料備份。

啟動業務系統。如果沒有備份系統發生作用,執行第(11)步;否則執行下一步。

進行系統切換。

分析事故原因,填寫災難報告,損失評估。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-939059/,如需轉載,請註明出處,否則將追究法律責任。

相關文章