楊泳丹
摘 要一直以來,我們的IT運維人員都被各種突發的故障所困擾,怎樣監控?能不能現對底層和應用的集中監控,從而實現對故障的有效管理呢?今天我們將就這個問題做出重點探討。
【關鍵詞】存儲 數據庫 集中監控
1 集中監控需求的產生
想必IT管理人員都考慮過這樣的問題,當業務端抱怨客戶投訴業務處理速度慢,響應時間長的時候,我們怎樣能迅速排查性能瓶頸究竟在哪里,并迅速恢復業務呢?現在似乎有了新的思路,至少我們的運維人員可以第一時間排查存儲和數據庫的性能情況并且及時了解相關告警情況,以便對下一步的響應做出正確的計劃。
2 存儲廠家和數據庫廠家對集中監控的嘗試
日前,存儲界的領頭羊EMC公司推出了支持Oracle數據庫性能監控的OEM插件,不光是可以監控數據庫的性能,也能清晰明了的展示對應存儲的性能情況,展示內容包括存儲可用性,性能,配置信息,并將這些存儲實時信息推送到Oracle Enterprise Manager,通過web界面集中展示,從而實現集中監控。下面我們具體看看其大致原理和實現方式。
2.1 EMC不同級別存儲的數據采集策略:
針對Vmax、VNX、EMC XtremIO,數據采集的策略不盡相同,后面我們再聯系了解一下。
至于存儲和數據庫的對應關系,有一個安裝在每個數據庫服務器的小組件將負責采集并處理相關信息,這樣我們就可以明確了解數據庫用到了哪些存儲的LUN。所有這些信息都儲存在OracleManagement Repository (OMR) ,并通過UI可以輕松的監控到存儲和數據庫的性能數據。
2.2 架構和原理
首先我們看看Oracle Enterprise Manager 的架構:
圖1顯示,Oracle Management Server (OMS) 和 Repository (OMR)是Oracle Enterprise Manager的兩個主要組成部分。而Oracle Management Agents (OMAs)則部署在需要被管理的所有主機上。同時,這個plug-in插件有Oracle工程師或第三方人員安裝在OMA上并運行,實現對app,主機,數據庫和其它組件的集中監控和管理。
EMC存儲插件的邏輯架構如圖2。
該插件的UI運行在數據庫管理服務器上,同時負責數據采集的組件則運行在不同數據庫和不同主機上。這些組件可以部署在虛機上,也可以部署在物理機上,這完全取決于系統管理員。
下面我們一起看看更詳細的Plug-in組件的分布和工作原理如圖3。
我們姑且把從存儲端收集上來的數據包稱為一個target。安裝此Plug-in的主機上存在一個Home target,它是所有target的父target,負責管理其它所有配置的target。Target的數量取決于你想監控的存儲的型號,例如Vmax歸為一類targer,VNX Block 歸為一類,VNX file歸為一類,XtremIo歸為一類。配置一類target可以從該類存儲采集相關數據和信息并提供給home target。一旦配置好某類target后,home target就可以獲取該類存儲的信息和性能數據并做集中展示。數據庫方面的target稱為database storage target,配置成功后可以展示數據庫級別的相關信息,包括該數據庫用到的對應存儲的Volume(Lun)的性能數據。這些target和諸多small target(物理映射通用target)相互通信,以提供指定存儲單元的相關數據(包括性能)。
注:相比較于物理映射通用target,還存在虛擬映射通用target,它用來提供VM虛機的VMDK存儲單元信息和數據。
圖4展示了該Plug-in插件中包含的所有種類的target的架構關系及其對應的安裝位置,這是一個典型的架構安裝示意圖,但是你仍然可以修改它的架構如果你采用分布式安裝。
2.3 不同類型存儲數據采集架構的比較
下面我們看看針對不同類型的存儲,數據采集的方式的比較:
收集針對Vmax的相關數據,必須借助事先安裝并配置好的Unisphere for VMAX (U4V)。Unisphere for VMAX提供了一個名為REST的app,用來獲取在U4V中配置的Vmax 存儲系統性能和配置信息。另外,前面我們也提到過,Plug-in同時也利用EMC Solution Enable提供的命令行方式,用一些命令的組合(類似批處理)來抓取Vmax中必要的數據。兩種方式互為補充,由Plug-in自動調用。
VNX Block:
針對VNX Block,由Plu-in直接創建的和該類存儲的處理器之間的連接,這個連接是由Navisphere Secure Command Line Interface (NaviSecCLI)直接創建,用來采集VNX Block的相關信息及數據。所有的VNX Block存儲對應到一個VNX Block storage target。
VNX File:
VNX File的數據采集方式則完全不同,通過Secure Shell(SSH)協議,Plug-in直接從管理和監控該存儲的control station上采集數據。同樣,所有的VNX File存儲對應到一個VNX File storage target 。
EMC XtremIO:
該類存儲使用了本地的EMC XtremIO Management Server (XMS)來進行管理,Plug-in隨即利用XMS來采集相關數據。利用XMS強大的REST API,XtremIO Storage target 采集該類存儲的監控數據并將數據轉回到Oracle Management Agent (OMA)處理。
2.4 Plug-in的安裝部署
這個環節比較簡單,就不一一贅述,建議大家在安裝時最好從EMC官網上下載相關手冊,注意一下各組件和操作系統以及oracle版本的兼容關系即可,以保證安裝順利進行及其穩定性。
2.5 Plug-in的使用
這里主要介紹一下該Plug-in的主要界面及主要功能,涉及到各類具體存儲的界面和功能其實大同小異,就不一一列舉。
我們先看看主界面:
EMC Home target 包含了一個主頁和一個配置頁面,主頁包含了以下功能:
Storage:在圖示的左上角,利用這個菜單我們可以監控到存儲的讀寫IO和吞吐量的情況,并有時間周期可供選擇,例如按日,周,月;
Database Storage:按照target選擇展示內容和范圍;
Database:通過該鏈接可以查看Oracle database target;
Storage:通過該鏈接可以查看EMC database storage target;
Array:通過該鏈接可以查看storagetarget。
EMC Database Storage 頁面:
該頁面可以展示oracle數據庫以及和數據庫對應的存儲單元的相關數據,具體功能模塊如下:
Hierarchy:從多個層級(維度)展示運行數據庫的各設備,例如主機,數據庫,盤陣;點擊某圖表即可查看對應target;
Storage:利用這個菜單我們可以監控到存儲的讀寫IO和吞吐量的情況,并有時間周期可供選擇,例如按日,周,月;
Database:從標準的數據庫插件抓取數據并展示對應的性能信息,并且用作和Storage功能區中的數據做比對;
Incidents and Problems:事件和異常告警的監控會在此處列出,同時這些事件和告警信息也會轉送到對應的數據庫target中。
3 總結
作為運維人員都清楚的意識到,存儲是底層的核心,而數據庫是應用的核心,這兩方面的高可用一直是運維工作的重心,而監控工作更是首當其沖的環節。EMC針對Oracle數據庫提供的Plug-in插件雖有其局限性,比如目前只支持EMC的主流存儲,數據庫也只支持Oracle,但是這種集中監控的方式和設計理念無疑為我們眾多的運維工作者提供了新的思路,為今后運維工作的效率提高,監控手段的增加都起到了添磚加瓦的作用。
作者單位
云南電網有限責任公司 云南省昆明市 650000