做過大型IT系統維護的人員大多會遇到這樣的情況:IT系統上線時運行速度比較快,但運行一段時間(如1年多)后,系統的運行速度明顯降低,遠遠沒有達到系統的設計目標,需要緊急擴容等。出現這種情況時,系統的運行質量往往會大幅度降低,影響業務部門或客戶的滿意度,而進行擴容需要大量的硬件和軟件投資,而且變更會帶來很大的風險。
上述情況中,既有業務超常發展的原因,也有業務復雜度的提高增加系統資源開銷的原因,而沒有實施信息生命周期管理也是一個重要的原因。
信息增長帶來的壓力
信息快速增長給維護管理帶來了挑戰。1997年,山東移動業務支撐系統全省的信息量只有76GB,短短幾年,目前在線存儲總量達到了330TB。
數據量快速增長的主要原因有幾方面:業務量增長——從1997年到2004年,用戶數增長了十幾倍,目前用戶數以每年幾百萬的速度發展,并且每用戶通話使用量(MOU)也大幅增長;服務質量的提高——公司為客戶提供包括市話、短信等詳細話單在線6個月的查詢,這需要很大的空間,而為了給客戶提供不間斷的業務處理能力,公司投入巨資正在進行容災系統的建設;管理精細化——新建的經營分析系統提供了主動營銷、資費預演等強大功能,為公司經營和客戶服務提供了有力支撐,而內部業務管理的精細化也需要很大的存儲空間進行支撐。
從數據量的增長分布來看,用戶數增長占數據增長的60%,經營管理占24%,服務質量的提高占16%。
如何應對挑戰
1.存儲安全性挑戰
從網絡安全角度分析,安全的基本原則包括三個方面:機密性(confidentiality)、可用性(availability)、完整性(integrity)。
數據丟失:這是最嚴重的,相當于網絡安全定義中的完整性。出現數據丟失時,往往會造成長時間的數據不可用。造成數據丟失的原因很多,從發生部位可以分為硬件、數據庫、應用軟件等;從丟失造成的原因上可分為人為和非人為。
可用性:造成不可用的原因很多,有數據丟失造成的不可用,也有存儲設備出現問題導致的不可用。
非法訪問:對應于網絡安全的機密性。因山東移動的系統是專網系統,從存儲角度很難出現非法訪問,但在數據庫及應用方面,非法訪問的控制壓力是很大的。
數據遷移:在進行數據遷移時,存在數據一致性等風險。從本質上講,訪問效率也屬于安全性問題,當訪問效率出現嚴重問題,將嚴重影響系統正常運行,從而引起業務系統崩潰。
存儲本身的效率:存儲本身的效率包含存儲本身的性能及發揮。
數據訪問的效率:數據訪問主要與應用有關,包含應用程序執行效率和數據分布等。
對安全性進行排序,金字塔最上面的是數據丟失,對系統造成的影響最大,依次往下是可用性、非法訪問、訪問效率和數據遷移,影響逐漸降低。
2.應對存儲安全性問題
在集中和分散中尋找一個平衡,將單點故障對整個系統的影響降至最低,在集中帶來的維護方便性和分散帶來的安全性中尋找一個平衡點。
進行信息生命周期管理(ILM),依重要性不同對數據進行分級。
以面向客戶服務為基準,對業務系統進行優先級管理。從面向客戶服務的業務中,梳理出提供服務的業務系統,進而找出支撐業務系統的數據。從面向客戶角度可以進行分類,如營業系統、計費系統等面向客戶的業務,非面向客戶的業務如結算系統等。面向客戶的服務優先級要比非面向客戶的服務高。
制定可行的維護體系。首先要制定可恢復的備份規則。備份的目的是恢復,一定要進行恢復測試,證明備份規則是有效的。另外,不要過分依賴或迷信設備技術,如RAID、容錯、冗余等,提防小概率事件的發生。其次是建立資源管理模型,一方面從時間和空間域上對資源利用情況進行分析,另一方面將資源利用與業務量模型相結合,制定設備資源的KPI模型。
如何進行平衡存放呢?主要有以下兩個方面要考慮:一是雞蛋不要放在一個籃子里,即使存儲的容量能夠滿足,但對于很龐大的系統,也不要選擇一臺存儲設備,而要根據信息重要性進行分類,通過多臺存儲可以降低風險;二是同一個籃子里的蛋也要進行相對隔離,目的是在故障出現時,把對整個系統的影響降至最低。
如何應對數據量龐大的問題呢?主要是以信息生命周期管理(ILM)理念來解決信息量龐大的問題。信息生命周期管理分為創建、保護、訪問、遷移、歸檔、回收六個階段,包含系統的開發設計階段,也包含系統維護階段。
信息生命周期管理首先要對業務進行梳理,根據業務數據重要性進行分類,確定不同的包含方式。其次,通過將數據按優先級進行分類,在確保系統總體擁有成本的前提下,確定相應的數據所需要的存儲系統。通過對數據進行分類,可以提高整個系統的安全級別,做到重要數據重點保護,還可以對關鍵業務、關鍵數據實施容災保護。通過對數據進行分類,可以降低系統總體擁有成本。成本與安全是一對矛盾,需要尋找一個平衡,在滿足業務需求的前提下,降低系統投資,而且可以針對不同業務服務級別提供針對性的維護,從而降低整個系統的總體擁有成本。
3.提高數據的訪問效率
數據的訪問效率與存儲、應用等都有關系,但存儲作為數據訪問的最低端,是系統運行效率的基礎和根本。通過“開源節流”的方式可以提高數據的訪問效率。開源就是在設計階段發揮整個存儲的性能,節流就是在設計和維護階段,降低應用對存儲的資源需求。
(1)設計階段
規劃設計對整個系統的運行質量是至關重要的,要引起足夠重視,不能草率完成。
對上線應用應該進行測試或測算,評估需求模型,在條件允許的情況下,最好進行實際數據測試,可以減少系統上線風險。要相信測試值,不要相信理論值,因理論值測試的環境與生產環境相差很大,不具有可比性。要發揮整個存儲陣列的性能,避免熱盤瓶頸。當某些資源出現瓶頸時,將影響整個系統的運行效率。對速度要求敏感的系統,可以空間換效率。在一個系統內部,也存在資源需求不均的情況,如數據重做日志,產生的寫數據量較大,對速度要求較高,劃分時要進行考慮,否則將影響整個數據庫的運行。
(2)維護階段
從設備角度看,要對存儲定期進行分析,提出優化和擴容建議。首先,從時間域和空間域上對存儲運行情況進行分析,找出運行瓶頸。其次,制定KPI運行曲線,為擴容提供依據。根據系統自身的應用特點,制定可行的KPI曲線,可以得到不同時間磁盤陣列的利用率情況,從而為優化和擴容提供依據。
從應用角度分析,主要目的是減少讀寫磁盤數量。將讀寫磁盤最高的應用從高到低進行排序,優先優化前面的應用。優化的方式有盡量使用索引、遷移歷史數據等。很多系統上線初期運行很好,一段時間后,系統運行效率明顯降低,產生的歷史數據對應用效率影響很大。我們曾經做過一次系統優化,只是清理了歷史數據,系統的運行效率就提高了20%。此外,在設計階段可能會有考慮不周全的情況,或者在使用一段時間后,系統出現磁盤數據不平衡的狀況,這時就需要進行調整。總之,歷史數據的整理應該納入例行的維護任務,而不應該在出現性能瓶頸時再處理。另外,在軟件設計時,應該多考慮磁盤節流,從源頭上進行控制。
信息生命周期管理的六個階段
小結
面對信息的快速增長,應以最優的TCO為基礎,充分利用人員、流程、技術三大要素,通過設計階段平衡存放、信息生命周期管理,以及維護階段的可實施的維護體系管理,最終達到合適的安全性目標,就能解決信息快速增長帶來的挑戰。