一種優(yōu)化加速的磁盤監(jiān)控方法及系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明設及計算機存儲技術領域,尤其是設及一種優(yōu)化加速的磁盤監(jiān)控方法及系 統(tǒng)。
【背景技術】
[0002] 在一個存儲管理系統(tǒng)中,磁盤作為最基本的存儲介質,是保存數據的重要媒介,磁 盤的好壞對存儲系統(tǒng)的穩(wěn)定性有極大的影響,因此在一個存儲管理系統(tǒng)中,對磁盤的監(jiān)控 是非常重要的。
[0003] 通常情況下,在一個存儲系統(tǒng)中,磁盤管理模塊除了監(jiān)控磁盤本身的狀態(tài)信息W 夕h還會和其他模塊存在一定的交互關系,如存儲池相關模塊。將一塊或多塊磁盤創(chuàng)建成一 個存儲池,再把運個存儲池作為數據存取的操作對象,而不對單塊磁盤本身進行數據讀寫。 因此,我們在對磁盤進行監(jiān)控管理時,除了設及到磁盤本身的狀態(tài)是否有壞塊、是否有異常 告警信息之外,通常還會和其他模塊有一定的交互。
[0004] 除了磁盤本身的狀態(tài)信息之和交互模塊相關的信息之外,我們還非常關注磁盤在 物理設備上的位置信息,W便在出現問題的時候能夠準確快速的定位出相關的磁盤。然而 基于磁盤的可插拔性,磁盤的位置信息常常發(fā)生變化,如出現壞盤的情況下,我們會執(zhí)行換 盤操作,當前磁盤會被移除,有新的磁盤會加入系統(tǒng)。又如當目前的存儲容量無法滿足客戶 最新需求的情況下,我們會對存儲的硬件設備進行擴展,添加磁盤或者添加磁盤框(jbod)。 運些操作都會對存儲系統(tǒng)的物理拓撲結構進行變更,需要重新獲取磁盤的相關信息。
[0005] W往的實現方案是后端系統(tǒng)主動監(jiān)控刷新磁盤的狀態(tài)信息,實時執(zhí)行掃描硬件、 查詢磁盤的狀態(tài)信息。此種實現方案無疑能夠實時了解到存儲的拓撲結構和磁盤的狀態(tài)信 息的變化。但通過實際測試我們發(fā)現,運樣的實現方案數據更新較慢,命令執(zhí)行時間較長, 前端頁面刷新時延較大。
[0006] 另外一種優(yōu)化的實現方案是將獲取的數據存放到數據庫中,后端系統(tǒng)的查詢和前 端頁面的顯示分離,后端系統(tǒng)獨立刷新數據庫中的數據,前端頁面則從數據庫中查詢信息 進行顯示,此種實現方案有效的解決了數據刷新慢,頁面刷新時延較大的問題,但由于每次 數據庫數據刷新需要執(zhí)行大量的系統(tǒng)命令,部分命令返回時間較長,時延較大造成了數據 刷新不及時,外部操作造成的數據變化無法在第一時間顯示在前端頁面上。
[0007] 而上述兩種方案都存在的問題是持續(xù)不斷的查詢磁盤信息,對磁盤有大量的IO操 作,會對業(yè)務數據的存取產生一定的干擾。此外,在出現磁盤損壞的情況下,部分命令執(zhí)行 超時還會對整個系統(tǒng)的運行造成不利的影響。
【發(fā)明內容】
[000引本發(fā)明的目的就是為了克服上述現有技術存在的缺陷而提供一種優(yōu)化加速的磁 盤監(jiān)控方法及系統(tǒng),有效的解決磁盤數據刷新時長較大,頁面顯示的數據與后端系統(tǒng)實際 數據不一致的問題,同時減少查詢磁盤信息的IO操作,降低監(jiān)控信息的查詢對系統(tǒng)本身造 成的影響。
[0009] 本發(fā)明的目的可W通過W下技術方案來實現:
[0010] -種優(yōu)化加速的磁盤監(jiān)控方法,包括W下步驟:
[0011] 1)獲取待查詢的磁盤相關信息的類型,判斷該類型的磁盤相關信息是否發(fā)生變 更,若是,則執(zhí)行步驟2),若否,則執(zhí)行步驟3);
[0012] 2)根據待查詢的磁盤相關信息的類型執(zhí)行相應的數據庫更新操作,然后執(zhí)行步驟 3);
[0013] 3)查詢數據庫中的磁盤相關信息,獲得磁盤當前狀態(tài)。
[0014] 所述磁盤相關信息分為實時查詢信息、交互模塊相關信息和硬件變更影響信息。
[0015] 所述實時查詢信息包括磁盤容量、磁盤生產商、磁盤產品編號、磁盤版本信息、磁 盤IO錯誤、磁盤溫度和磁盤smad健康狀態(tài);
[0016] 所述交互模塊相關信息包括磁盤所屬存儲池和磁盤在存儲池中的狀態(tài);
[0017] 所述硬件變更影響信息包括磁盤所屬歸屬的磁盤框、磁盤框路徑、磁盤框編號和 磁盤槽位號。
[0018] 所述步驟1)中,判斷磁盤相關信息是否發(fā)生變更具體為:
[0019] 若待查詢的磁盤相關信息屬于實時查詢信息,則直接判定為發(fā)生變更;
[0020] 若待查詢的磁盤相關信息屬于交互模塊相關信息,則查詢全局變量,當全局變量 的值不等于默認值時判定為發(fā)生變更;
[0021] 若待查詢的磁盤相關信息屬于硬件變更影響信息,則在有硬件變動時判定為發(fā)生 變更。
[0022] 所述步驟2)中,根據待查詢的磁盤相關信息的類型執(zhí)行相應的數據庫更新操作具 體為:
[0023] 若待查詢的磁盤相關信息屬于實時查詢信息,則通過實時執(zhí)行系統(tǒng)命令查詢實時 查詢信息,更新數據庫;
[0024] 若待查詢的磁盤相關信息屬于交互模塊相關信息,則查詢實時查詢信息和交互模 塊相關信息,更新數據庫;
[0025] 若待查詢的磁盤相關信息屬于硬件變更影響信息,則通過客戶端手動觸發(fā)數據庫 的更新。
[0026] 所述步驟2)中,若待查詢的磁盤相關信息至少包括兩種類型時,數據庫更新操作 的優(yōu)先級為:
[0027] 硬件變更影響信息〉交互模塊相關信息〉實時查詢信息。
[0028] 所述步驟2)中,若待查詢的磁盤相關信息屬于交互模塊相關信息,在更新數據庫 前,重新獲取全局變量,判斷當前全局變量與上一次查詢的全局變量是否一致,若是,則更 新數據庫,并重置全局變量,若否,則重新判斷磁盤相關信息是否發(fā)生變更。
[0029] 一種優(yōu)化加速的磁盤監(jiān)控系統(tǒng),包括磁盤管理模塊,所述磁盤管理模塊包括:
[0030] 查詢信息類型獲取單元,用于獲取待查詢的磁盤相關信息的類型;
[0031] 變更判定單元,用于判斷待查詢的磁盤相關信息是否發(fā)生變更;
[0032] 數據庫更新單元,用于根據待查詢的磁盤相關信息的類型執(zhí)行相應的數據庫更新 操作;
[0033] 磁盤狀態(tài)獲取單元,用于根據數據庫中的磁盤相關信息,獲得磁盤當前狀態(tài)。
[0034] 所述變更判定單元與交互模塊連接,根據全局變量獲取交互模塊的數據變化狀 態(tài)。
[0035] 與現有技術相比,本發(fā)明具有W下有益效果:
[0036] 1)本發(fā)明根據所獲取的信息是否有變更來決定是否需要重新查詢信息,并對磁盤 相關信息進行分類,對不同類型的信息采用不同的數據更新方式,有效的解決磁盤數據刷 新時長較大,頁面顯示的數據與后端系統(tǒng)實際數據不一致的問題,同時減少查詢磁盤信息 的IO操作,降低監(jiān)控信息的查詢對系統(tǒng)本身造成的影響。
[0037] 2)在交互模塊的操作不影響磁盤管理相關信息的情況下,磁盤管理模塊能夠快速 刷新數據。
[0038] 3)交互模塊的操作對磁盤管理有影響時,磁盤管理模塊刷新有一定的時延,但是 新獲取的數據可查看交互模塊的操作造成的數據變更。
[0039] 4)利用全局變量進行磁盤管理模塊與交互模塊信息的傳遞時,對前后查詢的全局 變量進行比較,判斷查詢數據的期間是否有操作造成數據更新,是否還需要再次執(zhí)行系統(tǒng) 命令查詢最新的磁盤信息,提高了數據更新的可靠性。
[0040] 5)有硬件拓撲結構變化時,磁盤管理模塊不會在第一時間進行數據刷新,手動刷 新操作有一定的時延,但是刷新完成后獲取的是當前系統(tǒng)中最新的磁盤狀態(tài)信息。
【附圖說明】
[0041 ]圖1為本發(fā)明的數據庫更新示意圖;
[0042] 圖2為本發(fā)明手動刷新數據更新流程示意圖;
[0043] 圖3為本發(fā)明交互模塊相關信息的更新流程示意圖。
【具體實施方式】
[0044] 下面結合附圖和具體實施例對本發(fā)明進行詳細說明。本實施例W本發(fā)明技術方案 為前提進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于 下述的實施例。
[0045] 本實施例提供一種優(yōu)化加速的磁盤監(jiān)控方法,由磁盤管理模塊實現,將需要獲取 的所有磁盤相關的信息存放在數據庫中,根據所查詢的信息是否有變更來決定是否重新查 詢信息更新數據庫中的字段,進而根據更新后的數據庫獲得磁盤狀態(tài)。該方法包括W下步 驟:1)獲取待查詢的磁盤相關信息的類型,判斷該類型的磁盤相關信息是否發(fā)生變更,若 是,則執(zhí)行步驟2),若否,則執(zhí)行步驟3) ;2)根據待查詢的磁盤相關信息的類型執(zhí)行相應的 數據庫更新操作,如圖1所示,然后執(zhí)行步驟3) ;3)查詢數據庫中的磁盤相關信息,獲得磁盤 當前狀態(tài)。
[0046] 一、磁盤管理需獲取的信息定義和存放
[0047] 磁盤管理需獲取的信息如表1所示,存放磁盤相關信息的數據庫字段與要獲取的 信息一致。
[004引 表1 [0049]
[0050