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