本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是指一種磁盤損壞的處理方法和裝置。
背景技術(shù):
Hadoop為一種高度容錯(cuò)的多副本的集群存儲(chǔ)分布式系統(tǒng),是目前業(yè)界廣泛使用的數(shù)據(jù)存儲(chǔ)以及查詢的分布式解決方案,適用于部署在廉價(jià)的PC Server上從而降低了大數(shù)據(jù)處理的前期成本。對(duì)于規(guī)模較大的Hadoop磁盤集群而言,磁盤數(shù)以萬計(jì),基本上每天都會(huì)有磁盤損壞,需要工作人員進(jìn)行更換。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),現(xiàn)有技術(shù)中處理磁盤損壞的方法通常為:通過檢測(cè)磁盤讀寫等數(shù)據(jù)判斷磁盤是否損壞,若檢測(cè)到某一磁盤損壞,則人工對(duì)該磁盤的配置信息進(jìn)行改寫,將其從集群中移除,經(jīng)運(yùn)維人員更換后再人工添加至集群中。這一過程幾乎完全依靠人工操作,不但費(fèi)時(shí)費(fèi)力而且缺乏必要管控,不利于企業(yè)在大數(shù)據(jù)業(yè)務(wù)上的長期發(fā)展與未來規(guī)劃。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例的目的在于提出一種磁盤損壞的處理方法和裝置,用以實(shí)現(xiàn)在更換損壞磁盤的過程中,對(duì)磁盤的配置文件進(jìn)行自動(dòng)設(shè)置。
基于上述目的,在本發(fā)明實(shí)施例的一個(gè)方面提供一種磁盤損壞的處理方法,包括:
監(jiān)測(cè)磁盤的運(yùn)行狀態(tài);
若監(jiān)測(cè)到磁盤數(shù)據(jù)讀寫操作發(fā)生錯(cuò)誤,將錯(cuò)誤磁盤的磁盤信息記錄至磁盤錯(cuò)誤表;
從配置文件中移除所述錯(cuò)誤磁盤的磁盤信息;
若監(jiān)測(cè)到所述錯(cuò)誤磁盤被替換,將替換磁盤的磁盤信息加入所述配置文件。
在可選的實(shí)施例中,所述磁盤錯(cuò)誤表包括ip地址、磁盤名、錯(cuò)誤發(fā)生時(shí)間;所述將錯(cuò)誤磁盤的磁盤信息記錄至磁盤錯(cuò)誤表,具體包括:
將所述錯(cuò)誤磁盤的ip地址和磁盤名作為聯(lián)合主鍵記錄至所述磁盤錯(cuò)誤表;
將監(jiān)測(cè)到磁盤數(shù)據(jù)讀寫操作發(fā)生錯(cuò)誤的時(shí)間作為錯(cuò)誤發(fā)生時(shí)間記錄至所述磁盤錯(cuò)誤表。
在可選的實(shí)施例中,所述磁盤錯(cuò)誤表包括移除時(shí)間,所述移除時(shí)間的初始值為空;所述從配置文件中移除所述錯(cuò)誤磁盤的磁盤信息,具體包括:
定時(shí)遍歷所述磁盤錯(cuò)誤表中各所述錯(cuò)誤磁盤的移除時(shí)間;
若判定所述移除時(shí)間為空,進(jìn)一步判斷所述移除時(shí)間對(duì)應(yīng)的錯(cuò)誤磁盤的磁盤信息是否存在于所述配置文件中;
若存在于所述配置文件中,從所述配置文件中移除所述移除時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的磁盤信息;將所述從配置文件中移除所述錯(cuò)誤磁盤的磁盤信息的時(shí)間,作為移除時(shí)間記錄至所述磁盤錯(cuò)誤表中。
在可選的實(shí)施例中,所述磁盤錯(cuò)誤表包括修復(fù)時(shí)間;所述方法還包括:
將在磁盤集群中監(jiān)測(cè)到所述錯(cuò)誤磁盤對(duì)應(yīng)的替換磁盤的時(shí)間,作為修復(fù)時(shí)間記錄至所述磁盤錯(cuò)誤表。
在可選的實(shí)施例中,其特征在于,所述修復(fù)時(shí)間的初始值為空,所述磁盤錯(cuò)誤表包括添加時(shí)間,所述若監(jiān)測(cè)到所述錯(cuò)誤磁盤被替換,將替換磁盤的磁盤信息加入所述配置文件,具體包括:
定時(shí)遍歷所述磁盤錯(cuò)誤表中各所述錯(cuò)誤磁盤的修復(fù)時(shí)間;
若判定所述修復(fù)時(shí)間的值不為空,判斷所述修復(fù)時(shí)間對(duì)應(yīng)的替換磁盤的磁盤信息是否存在于配置文件中;
若不存在于所述配置文件中,將所述修復(fù)時(shí)間對(duì)應(yīng)的替換磁盤的磁盤信息加入所述配置文件;將所述替換磁盤的磁盤信息加入所述配置文件的時(shí)間,作為添加時(shí)間記錄至所述磁盤錯(cuò)誤表。
在可選的實(shí)施例中,所述添加時(shí)間的初始值為空,所述方法還包括:
定時(shí)遍歷所述磁盤錯(cuò)誤表中各錯(cuò)誤磁盤的添加時(shí)間;
若添加時(shí)間不為空,將該添加時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的錯(cuò)誤信息記錄至錯(cuò)誤歷史記錄表,從所述磁盤錯(cuò)誤表中刪除所述該添加時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的錯(cuò)誤信息。
在可選的實(shí)施例中,所述方法還包括:
判斷所述錯(cuò)誤磁盤是否記錄有日志文件;
若所述錯(cuò)誤磁盤記錄有日志文件,選擇可用磁盤作為臨時(shí)磁盤;
用所述臨時(shí)磁盤的磁盤信息替換所述配置文件中所述錯(cuò)誤磁盤的磁盤信息。
在可選的實(shí)施例中,所述方法還包括:
建立配置記錄表,將記錄有日志文件的磁盤的磁盤信息記錄至所述配置記錄表;
所述選擇可用磁盤作為臨時(shí)磁盤,具體包括:
遍歷全部所述可用磁盤,確定沒有被記錄至所述磁盤錯(cuò)誤表,且同時(shí)沒有被記錄至所述配置記錄表的目標(biāo)可用磁盤,選擇所述目標(biāo)磁盤作為所述臨時(shí)磁盤。
基于上述目的,在本發(fā)明實(shí)施例的另一方面提供一種磁盤損壞的處理裝置,包括:
狀態(tài)監(jiān)測(cè)單元,用于監(jiān)測(cè)磁盤的運(yùn)行狀態(tài);
錯(cuò)誤表處理單元,用于在監(jiān)測(cè)到磁盤數(shù)據(jù)讀寫操作發(fā)生錯(cuò)誤后,將錯(cuò)誤磁盤的磁盤信息記錄至磁盤錯(cuò)誤表;
配置文件處理單元,用于從配置文件中移除所述錯(cuò)誤磁盤的磁盤信息,在監(jiān)測(cè)到所述錯(cuò)誤磁盤被替換后,將替換磁盤的磁盤信息加入所述配置文件。
在可選的實(shí)施例中,所述磁盤錯(cuò)誤表包括ip地址、磁盤名、錯(cuò)誤發(fā)生時(shí)間;
所述錯(cuò)誤表處理單元還用于將所述錯(cuò)誤磁盤的ip地址和磁盤名作為聯(lián)合主鍵記錄至所述磁盤錯(cuò)誤表,將監(jiān)測(cè)到磁盤數(shù)據(jù)讀寫操作發(fā)生錯(cuò)誤的時(shí)間作為錯(cuò)誤發(fā)生時(shí)間記錄至所述磁盤錯(cuò)誤表。
在可選的實(shí)施例中,所述磁盤錯(cuò)誤表包括移除時(shí)間,所述移除時(shí)間的初始值為空;
所述配置文件處理單元還用于定時(shí)遍歷所述磁盤錯(cuò)誤表中各所述錯(cuò)誤磁盤的移除時(shí)間,若所述移除時(shí)間為空,進(jìn)一步判斷所述移除時(shí)間對(duì)應(yīng)的錯(cuò)誤磁盤的磁盤信息是否存在于所述配置文件中;若存在于所述配置文件中,從所述配置文件中移除所述移除時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的磁盤信息;
所述錯(cuò)誤表處理單元還用于將所述從配置文件中移除所述錯(cuò)誤磁盤的磁盤信息的時(shí)間,作為移除時(shí)間記錄至所述磁盤錯(cuò)誤表中。
在可選的實(shí)施例中,所述磁盤錯(cuò)誤表包括修復(fù)時(shí)間;
所述錯(cuò)誤表處理單元還用于將在磁盤集群中檢測(cè)到所述錯(cuò)誤磁盤對(duì)應(yīng)的替換磁盤的時(shí)間,作為修復(fù)時(shí)間記錄至所述磁盤錯(cuò)誤表。
在可選的實(shí)施例中,所述修復(fù)時(shí)間的初始值為空,所述磁盤錯(cuò)誤表包括添加時(shí)間;
所述配置文件處理單元還用于定時(shí)遍歷所述磁盤錯(cuò)誤表中各所述錯(cuò)誤磁盤的修復(fù)時(shí)間,若判定所述修復(fù)時(shí)間的值不為空,判斷所述修復(fù)時(shí)間對(duì)應(yīng)的替換磁盤的磁盤信息是否存在于配置文件中,若不存在于配置文件中,將所述修復(fù)時(shí)間對(duì)應(yīng)的替換磁盤的磁盤信息加入所述配置文件;
所述錯(cuò)誤表處理單元還用于將所述替換磁盤的磁盤信息加入所述配置文件的時(shí)間作為添加時(shí)間記錄至所述磁盤錯(cuò)誤表。
在可選的實(shí)施例中,所述添加時(shí)間的初始值為空:
所述配置文件處理單元還用于定時(shí)遍歷所述磁盤錯(cuò)誤表中各所述錯(cuò)誤磁盤的添加時(shí)間,所述裝置還包括:
歷史記錄表處理單元,用于若添加時(shí)間不為空,將所述添加時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的錯(cuò)誤信息記錄至錯(cuò)誤歷史記錄表;
所述錯(cuò)誤表處理單元還用于從所述磁盤錯(cuò)誤表中刪除所述添加時(shí)間對(duì)應(yīng)的所述錯(cuò)誤磁盤的錯(cuò)誤信息。
在可選的實(shí)施例中,所述裝置還包括:
磁盤處理單元,用于判斷所述錯(cuò)誤磁盤是否記錄有日志文件,若所述錯(cuò)誤磁盤記錄有日志文件,選擇可用磁盤作為臨時(shí)磁盤,用所述臨時(shí)磁盤的磁盤信息替換所述配置文件中所述錯(cuò)誤磁盤的磁盤信息。
在可選的實(shí)施例中,所述裝置還包括:
配置記錄表單元,用于建立配置記錄表,將記錄有日志文件的磁盤的磁盤信息記錄至所述配置記錄表,遍歷全部所述可用磁盤,確定沒有被記錄至所述磁盤錯(cuò)誤表,且同時(shí)沒有被記錄至所述配置記錄表的目標(biāo)可用磁盤,選擇所述目標(biāo)磁盤作為所述臨時(shí)磁盤。
從上面所述可以看出,本發(fā)明實(shí)施例提供的方法和裝置通過監(jiān)控磁盤的運(yùn)行狀態(tài),將錯(cuò)誤磁盤的磁盤信息記錄至磁盤錯(cuò)誤表,實(shí)現(xiàn)了對(duì)磁盤錯(cuò)誤的監(jiān)控和記錄;通過從配置文件移除錯(cuò)誤磁盤及添加替換磁盤,實(shí)現(xiàn)了對(duì)于錯(cuò)誤磁盤替換這一過程的自動(dòng)操作,簡化了磁盤損壞的處理流程,降低人力成本。
附圖說明
圖1為本發(fā)明提供的一種磁盤損壞的處理方法的實(shí)施例的流程示意圖;
圖2為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖;
圖3為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖;
圖4為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖;
圖5為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖;
圖6為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖;
圖7為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖;
圖8為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖;
圖9為本發(fā)明提供的一種磁盤損壞的處理裝置的實(shí)施例的模塊示意圖;
圖10為本發(fā)明提供的一種磁盤損壞的處理裝置的另一實(shí)施例的模塊示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
需要說明的是,本發(fā)明實(shí)施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個(gè)相同名稱非相同的實(shí)體或者非相同的參量,可見“第一”“第二”僅為了表述的方便,不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的限定,后續(xù)實(shí)施例對(duì)此不再一一說明。
圖1為本發(fā)明提供的一種磁盤損壞的處理方法的實(shí)施例的流程示意圖。如圖所示,在本發(fā)明提供的磁盤損壞的處理方法的一個(gè)實(shí)施例中,包括:
S10,監(jiān)測(cè)磁盤的運(yùn)行狀態(tài)。
常用的監(jiān)測(cè)指標(biāo)為,監(jiān)控磁盤的數(shù)據(jù)讀寫操作;若發(fā)現(xiàn)磁盤讀取或?qū)懭霐?shù)據(jù)至少一項(xiàng)的數(shù)值超出預(yù)設(shè)的常規(guī)閾值(例如,磁盤讀取或?qū)懭霐?shù)據(jù)的速度為0)則判定該磁盤運(yùn)行狀態(tài)異常。
S11,若監(jiān)測(cè)到磁盤數(shù)據(jù)讀寫操作發(fā)生錯(cuò)誤,將錯(cuò)誤磁盤的磁盤信息記錄至磁盤錯(cuò)誤表。
S12,從配置文件中移除所述錯(cuò)誤磁盤的磁盤信息。所述配置文件隸屬于上層應(yīng)用,上層應(yīng)用根據(jù)配置文件中記錄的磁盤信息,選擇相應(yīng)磁盤執(zhí)行數(shù)據(jù)讀寫操作,完成數(shù)據(jù)的存儲(chǔ)的調(diào)取。
S13,若監(jiān)測(cè)到所述錯(cuò)誤磁盤被替換為替換磁盤,將替換磁盤的磁盤信息加入所述配置文件。
在步驟S12、S13中,所述配置文件中預(yù)設(shè)了一定數(shù)量的磁盤,通過Hadoop的基本分布式存儲(chǔ)設(shè)置方案,對(duì)配置文件中的磁盤配置目錄。當(dāng)從所述配置文件中移除所述錯(cuò)誤磁盤的磁盤信息后,則選取剩余磁盤重新進(jìn)行目錄的分配或調(diào)整;同理,添加替換磁盤后,選取包括替換磁盤在內(nèi)的全部磁盤重新進(jìn)行目錄的分配或調(diào)整。上述目錄分配和調(diào)整的方法可以根據(jù)實(shí)際需要由技術(shù)人員進(jìn)行調(diào)整,在此不再贅述。需要說明的是,步驟S12、S13執(zhí)行完畢后,均需要重新啟動(dòng)上層應(yīng)用,以重新加載配置文件,完成磁盤及目錄的分配調(diào)整。
綜上所述可以看出,本實(shí)施例通過監(jiān)控磁盤的運(yùn)行狀態(tài),將錯(cuò)誤磁盤的磁盤信息記錄至磁盤錯(cuò)誤表,實(shí)現(xiàn)了對(duì)磁盤錯(cuò)誤的監(jiān)控和記錄;通過從配置文件移除錯(cuò)誤磁盤及添加替換磁盤,實(shí)現(xiàn)了對(duì)于錯(cuò)誤磁盤替換這一過程的自動(dòng)操作,簡化了磁盤損壞的處理流程,降低人力成本。
在本發(fā)明的另一實(shí)施例中,給出了所述磁盤錯(cuò)誤表的一種具體實(shí)現(xiàn)方式,如表1所示:
表1磁盤錯(cuò)誤表
步驟S11中,所述錯(cuò)誤磁盤的磁盤信息包括表中的集群名稱、組名稱、ip地址、磁盤名和錯(cuò)誤發(fā)生時(shí)間;其中集群名稱和組名稱用于定位所述錯(cuò)誤磁盤的分組,ip地址和磁盤名作為聯(lián)合主鍵對(duì)磁盤進(jìn)行唯一確定。所述錯(cuò)誤發(fā)生時(shí)間是指檢測(cè)到所述錯(cuò)誤磁盤發(fā)生錯(cuò)誤的時(shí)間。通過上傳所述磁盤信息,可以將磁盤發(fā)生錯(cuò)誤的事件進(jìn)行記錄,便于后期統(tǒng)計(jì)。
所述移除時(shí)間、修復(fù)時(shí)間和添加時(shí)間后續(xù)伴隨磁盤的修復(fù)過程初步添加,用于記錄該錯(cuò)誤磁盤被修復(fù)的全過程。在可選的實(shí)施方式中,還可以設(shè)置一個(gè)變量或表格用于記錄單位時(shí)間內(nèi)(例如,一天內(nèi))發(fā)生錯(cuò)誤的磁盤總數(shù),當(dāng)單位時(shí)間內(nèi)發(fā)生錯(cuò)誤的磁盤總數(shù)超過預(yù)設(shè)閾值時(shí),則判定可能發(fā)生了意外事故,為了防止分布式存儲(chǔ)系統(tǒng)因可用磁盤數(shù)量過少而停止,后續(xù)監(jiān)測(cè)到磁盤發(fā)生錯(cuò)誤時(shí),不再移除所述磁盤的磁盤信息,而是向管理中心發(fā)出警報(bào)。
圖2為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖。如圖所示,在本實(shí)施例的一些可選的實(shí)施方式中,所述磁盤錯(cuò)誤表包括ip地址、磁盤名、錯(cuò)誤發(fā)生時(shí)間,所述磁盤錯(cuò)誤表中記錄有至少2個(gè)所述錯(cuò)誤磁盤的磁盤信息;步驟S11中,將錯(cuò)誤磁盤的磁盤信息記錄至磁盤錯(cuò)誤表,具體包括:
S20,將所述錯(cuò)誤磁盤的ip地址和磁盤名作為聯(lián)合主鍵記錄至所述磁盤錯(cuò)誤表。所述聯(lián)合主鍵用于唯一確定所述錯(cuò)誤磁盤。
S21,將監(jiān)測(cè)到磁盤數(shù)據(jù)讀寫操作發(fā)生錯(cuò)誤的時(shí)間作為錯(cuò)誤發(fā)生時(shí)間記錄至所述磁盤錯(cuò)誤表。
經(jīng)執(zhí)行上述步驟S20-S21,唯一確定了錯(cuò)誤磁盤,并記錄了錯(cuò)誤磁盤發(fā)生錯(cuò)誤的時(shí)間。
圖3為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖。如圖所示,在本實(shí)施例的一些可選的實(shí)施方式中,所述磁盤錯(cuò)誤表包括移除時(shí)間,所述移除時(shí)間的初始值為空;步驟S12中,從上層應(yīng)用的配置文件中移除所述錯(cuò)誤磁盤的磁盤信息,具體包括:
S30,定時(shí)遍歷所述磁盤錯(cuò)誤表中各所述錯(cuò)誤磁盤的移除時(shí)間。判斷移除時(shí)間的數(shù)值是否為空。
S31,若判定所述移除時(shí)間為空,進(jìn)一步判斷所述移除時(shí)間對(duì)應(yīng)的錯(cuò)誤磁盤的磁盤信息是否存在于所述配置文件中。
S32,若存在于所述配置文件中,從所述配置文件中移除所述移除時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的磁盤信息。
S33,將所述從配置文件中移除所述錯(cuò)誤磁盤的磁盤信息的時(shí)間,作為移除時(shí)間記錄至所述磁盤錯(cuò)誤表中。
本實(shí)施例具體說明了從上層應(yīng)用的配置文件中移除所述錯(cuò)誤磁盤的磁盤信息的方法。所述磁盤錯(cuò)誤表用于記錄錯(cuò)誤磁盤,當(dāng)錯(cuò)誤磁盤發(fā)生錯(cuò)誤后,磁盤錯(cuò)誤表中會(huì)新建該錯(cuò)誤磁盤對(duì)應(yīng)的項(xiàng)目,并記錄該錯(cuò)誤磁盤的錯(cuò)誤發(fā)生時(shí)間;此時(shí)該錯(cuò)誤磁盤的磁盤信息尚未從配置文件中被移除,其相應(yīng)的移除時(shí)間的值為空。在遍歷磁盤錯(cuò)誤表的移除時(shí)間時(shí),若發(fā)現(xiàn)有移除時(shí)間的值為空,則可以確定該移除時(shí)間對(duì)應(yīng)的錯(cuò)誤磁盤的磁盤信息有很大可能沒有從配置文件中移除(不排除在一些特定情況下,為了維持系統(tǒng)穩(wěn)定,已經(jīng)由人為將其移除),然后進(jìn)一步確定磁盤信息是否存在于配置文件中;若存在于配置文件中,則將該磁盤的磁盤信息從配置文件移除并將此時(shí)的時(shí)間記錄為移除時(shí)間。在下一次進(jìn)行遍歷時(shí),由于已經(jīng)存在移除時(shí)間,不會(huì)對(duì)該磁盤的磁盤信息在配置文件中的存在與否進(jìn)行進(jìn)一步檢測(cè),節(jié)省了時(shí)間??蛇x的,當(dāng)進(jìn)一步確定磁盤信息是否存在于配置文件中時(shí),發(fā)現(xiàn)磁盤信息已經(jīng)不存在于配置文件,則可能由于一些人為隱私磁盤信息已經(jīng)被移除,此時(shí)將本次檢測(cè)時(shí)間作為移除時(shí)間記錄至磁盤錯(cuò)誤表中。
進(jìn)一步,本實(shí)施方式還可以包括:
S34,從上層應(yīng)用的配置文件中移除該錯(cuò)誤發(fā)生時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的磁盤信息后,在磁盤錯(cuò)誤表中該錯(cuò)誤磁盤的錯(cuò)誤時(shí)間一項(xiàng)添加已處理標(biāo)記。所述已處理標(biāo)記可以是特定內(nèi)容的字符串等易識(shí)別的內(nèi)容,用于標(biāo)定已經(jīng)完成移除操作的錯(cuò)誤磁盤,這樣在下次遍歷時(shí)無需再次向上層應(yīng)用查詢,可以節(jié)省時(shí)間和資源。步驟S34使用錯(cuò)誤時(shí)間這一項(xiàng)目標(biāo)記錯(cuò)誤磁盤移除,也是一種可選的方式。
圖4為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖;如圖所示,在本實(shí)施例的一些可選的實(shí)施方式中,所述磁盤錯(cuò)誤表包括修復(fù)時(shí)間;所述方法還包括:
S40,將在磁盤集群中檢測(cè)到該錯(cuò)誤磁盤對(duì)應(yīng)的替換磁盤的時(shí)間,作為修復(fù)時(shí)間記錄至所述磁盤錯(cuò)誤表。
當(dāng)運(yùn)維人員將替換磁盤安裝完成后,在磁盤集群中可以檢測(cè)到所述替換磁盤,將這一時(shí)間作為修復(fù)時(shí)間記錄至磁盤錯(cuò)誤表中,一方面作為維護(hù)過程的記錄,另一方面還可以作為后續(xù)步驟執(zhí)行的判定依據(jù)。
圖5為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖;如圖所示,在本實(shí)施例的一些可選的實(shí)施方式中,所述修復(fù)時(shí)間的初始值為空,所述磁盤錯(cuò)誤表包括添加時(shí)間,步驟S13中,所述若監(jiān)測(cè)到所述錯(cuò)誤磁盤被替換為替換磁盤,將替換磁盤的磁盤信息加入所述配置文件,具體包括:
S50,定時(shí)遍歷所述磁盤錯(cuò)誤表中各錯(cuò)誤磁盤的修復(fù)時(shí)間。
S51,若判定修復(fù)時(shí)間的值不為空,判斷該修復(fù)時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的磁盤信息是否存在于上層應(yīng)用的配置文件中。
S52,若判定不存在于上層應(yīng)用的配置文件中,將用于替換該修復(fù)時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的替換磁盤的磁盤信息加入所述配置文件。
S53,將替換磁盤的磁盤信息加入所述配置文件的時(shí)間作為添加時(shí)間記錄至所述磁盤錯(cuò)誤表。
本實(shí)施例的步驟通過監(jiān)測(cè)修復(fù)時(shí)間的值是否為空,判斷錯(cuò)誤磁盤是否已經(jīng)被替換為替換磁盤,在判定替換完成后將替換磁盤的磁盤信息加入配置文件中并將加入的時(shí)間作為添加時(shí)間記錄至磁盤錯(cuò)誤表,從而完成將替換磁盤的磁盤信息自動(dòng)加入所述配置文件的過程。
圖6為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖;如圖所示,在本實(shí)施例的一些可選的實(shí)施方式中,所述添加時(shí)間的初始值為空,所述方法還包括:
S60,定時(shí)遍歷所述磁盤錯(cuò)誤表中各錯(cuò)誤磁盤的添加時(shí)間;
S61,若添加時(shí)間不為空,將該添加時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的錯(cuò)誤信息記錄至錯(cuò)誤歷史記錄表,從所述磁盤錯(cuò)誤表中刪除所述該添加時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的錯(cuò)誤信息。若添加時(shí)間不為空,則可以判定用于替換該錯(cuò)誤磁盤的替換磁盤已經(jīng)安裝并被添加至上層應(yīng)用的配置文件中,此時(shí)可以移除該錯(cuò)誤磁盤在磁盤錯(cuò)誤表中的記錄,并將這些記錄轉(zhuǎn)移至錯(cuò)誤歷史記錄表中,以備查看。
所述步驟S61中指出的錯(cuò)誤歷史記錄表所記錄的內(nèi)容與表1所示的磁盤錯(cuò)誤表所記載的項(xiàng)目相同,只是功能上用于備份。
圖7為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖。如圖所示,在本實(shí)施例的一些可選的實(shí)施方式中,所述方法還包括:
S70,判斷所述錯(cuò)誤磁盤是否記錄有日志文件。
S71,若所述錯(cuò)誤磁盤記錄有日志文件,選擇可用磁盤作為臨時(shí)磁盤;用所述臨時(shí)磁盤的磁盤信息替換所述配置文件中所述錯(cuò)誤磁盤的磁盤信息。
對(duì)于一些特殊磁盤,特別是作為一些服務(wù)的日志輸出目錄的磁盤來說,并不能簡單地將其移除,而是需要找到一個(gè)替代磁盤作為臨時(shí)目錄記錄日志文件。因此本實(shí)施例中,若判定錯(cuò)誤磁盤為特殊磁盤,將錯(cuò)誤磁盤的磁盤信息刪除后,選取可用的臨時(shí)磁盤替換錯(cuò)誤磁盤原所屬位置,替代其作為日志輸出磁盤。
圖8為本發(fā)明提供的一種磁盤損壞的處理方法的另一實(shí)施例的流程示意圖。如圖所示,在本實(shí)施例的一些可選的實(shí)施方式中,所述方法還包括:
S80,建立配置記錄表,將記錄有日志文件的磁盤的磁盤信息記錄至所述配置記錄表。
由于日志輸出磁盤需要承載較大的數(shù)據(jù)吞吐量,還要擔(dān)負(fù)較為繁重的數(shù)據(jù)分析業(yè)務(wù)。如果將兩種不同應(yīng)用的日志選擇同一磁盤輸出,則會(huì)影響到二者的工作效率。因此設(shè)置配置記錄表,用于記錄全部作為日志文件輸出目錄的磁盤,以便在后續(xù)選擇時(shí)予以排除。步驟S80中指出的配置記錄表的一個(gè)具體實(shí)施方式如表2所示:
表2配置記錄表
步驟S71中,選擇可用磁盤作為臨時(shí)磁盤,具體包括:
S81,遍歷全部所述可用磁盤,確定沒有被記錄至所述磁盤錯(cuò)誤表,且同時(shí)沒有被記錄至所述配置記錄表的目標(biāo)可用磁盤,選擇所述目標(biāo)磁盤作為所述臨時(shí)磁盤。
所述可用的磁盤是指能夠替換錯(cuò)誤磁盤的其他磁盤,例如與錯(cuò)誤磁盤屬于同一集群、組或類別的磁盤。當(dāng)確定某一可用磁盤的磁盤信息沒有被記錄至所述磁盤錯(cuò)誤表,且同時(shí)沒有被記錄至所述配置記錄表時(shí),則可以確定該磁盤既沒有損壞,又不是日志輸出磁盤,可以作為臨時(shí)磁盤使用。
綜上所述可以看出,本實(shí)施例在對(duì)錯(cuò)誤磁盤的磁盤信息進(jìn)行記錄時(shí),記錄了包括錯(cuò)誤發(fā)生時(shí)間、移除時(shí)間、修復(fù)時(shí)間和添加時(shí)間的時(shí)間節(jié)點(diǎn)信息,在對(duì)磁盤修復(fù)進(jìn)程進(jìn)行監(jiān)控時(shí),可以通過這些信息明確磁盤修復(fù)的階段以及下一步需要執(zhí)行的修復(fù)項(xiàng)目;另一方面,通過使用這些時(shí)間節(jié)點(diǎn)信息作為觸發(fā)條件,實(shí)現(xiàn)了對(duì)于磁盤配置文件的自動(dòng)修改,將原本需要人為設(shè)置的內(nèi)容轉(zhuǎn)變?yōu)樽詣?dòng)設(shè)置,節(jié)省了人力成本;又一方面,對(duì)于記錄有日志文件的磁盤進(jìn)行特殊處理,使用現(xiàn)有可用磁盤進(jìn)行替代,以保證日志文件的成功輸出,保障了系統(tǒng)的完整和安全運(yùn)行。
圖9為本發(fā)明提供的一種磁盤損壞的處理裝置的實(shí)施例的模塊示意圖。本發(fā)明提供的磁盤損壞的處理裝置的一個(gè)實(shí)施例,所述處理裝置為計(jì)算機(jī)、服務(wù)器等用于執(zhí)行管理監(jiān)控功能的計(jì)算設(shè)備,本實(shí)施例的裝置包括:
狀態(tài)監(jiān)測(cè)單元90,用于監(jiān)測(cè)磁盤的運(yùn)行狀態(tài);
錯(cuò)誤表處理單元91,用于在監(jiān)測(cè)到磁盤數(shù)據(jù)讀寫操作發(fā)生錯(cuò)誤后,將錯(cuò)誤磁盤的磁盤信息記錄至磁盤錯(cuò)誤表;
配置文件處理單元92,用于從上層應(yīng)用的配置文件中移除所述錯(cuò)誤磁盤的磁盤信息;還用于在監(jiān)測(cè)到所述錯(cuò)誤磁盤被替換為替換磁盤后,將替換磁盤的磁盤信息加入所述配置文件。
從上面所述可以看出,本實(shí)施例通過狀態(tài)監(jiān)測(cè)單元90監(jiān)控磁盤的運(yùn)行狀態(tài),通過錯(cuò)誤表處理單元91將錯(cuò)誤磁盤的磁盤信息記錄至磁盤錯(cuò)誤表,實(shí)現(xiàn)了對(duì)磁盤錯(cuò)誤的監(jiān)控和記錄;通過配置文件處理單元92從配置文件移除錯(cuò)誤磁盤及添加替換磁盤,實(shí)現(xiàn)了對(duì)于錯(cuò)誤磁盤替換這一過程的自動(dòng)操作,簡化了磁盤損壞的處理流程,降低人力成本。
圖10為本發(fā)明提供的一種磁盤損壞的處理裝置的另一實(shí)施例的模塊示意圖。如圖所示,在另一可選的實(shí)施例中,所述磁盤錯(cuò)誤表包括ip地址、磁盤名、錯(cuò)誤發(fā)生時(shí)間;所述錯(cuò)誤表處理單元91用于將所述錯(cuò)誤磁盤的ip地址和磁盤名作為聯(lián)合主鍵記錄至所述磁盤錯(cuò)誤表;還用于將監(jiān)測(cè)到磁盤數(shù)據(jù)讀寫操作發(fā)生錯(cuò)誤的時(shí)間作為錯(cuò)誤發(fā)生時(shí)間記錄至所述磁盤錯(cuò)誤表。
在本實(shí)施例的一些可選的實(shí)施方式中,所述磁盤錯(cuò)誤表包括移除時(shí)間,所述移除時(shí)間的初始值為空;所述配置文件處理單元92用于定時(shí)遍歷所述磁盤錯(cuò)誤表中各所述錯(cuò)誤磁盤的移除時(shí)間,若判定所述移除時(shí)間為空,進(jìn)一步判斷所述移除時(shí)間對(duì)應(yīng)的錯(cuò)誤磁盤的磁盤信息是否存在于所述配置文件中;若存在于所述配置文件中,從所述配置文件中移除所述移除時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的磁盤信息;所述錯(cuò)誤表處理單元91還用于將所述從配置文件中移除所述錯(cuò)誤磁盤的磁盤信息的時(shí)間,作為移除時(shí)間記錄至所述磁盤錯(cuò)誤表中。
在本實(shí)施例的一些可選的實(shí)施方式中,所述磁盤錯(cuò)誤表包括修復(fù)時(shí)間;所述錯(cuò)誤表處理單元91用于將在磁盤集群中檢測(cè)到該錯(cuò)誤磁盤對(duì)應(yīng)的替換磁盤的時(shí)間,作為修復(fù)時(shí)間記錄至所述磁盤錯(cuò)誤表。
在本實(shí)施例的一些可選的實(shí)施方式中,所述修復(fù)時(shí)間的初始值為空,所述磁盤錯(cuò)誤表包括添加時(shí)間,所述配置文件處理單元92用于定時(shí)遍歷所述磁盤錯(cuò)誤表中各錯(cuò)誤磁盤的修復(fù)時(shí)間;若判定修復(fù)時(shí)間的值不為空,判斷該修復(fù)時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的磁盤信息是否存在于上層應(yīng)用的配置文件中;若判定不存在于上層應(yīng)用的配置文件中,將用于替換該修復(fù)時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的替換磁盤的磁盤信息加入所述配置文件;所述錯(cuò)誤表處理單元92還用于將替換磁盤的磁盤信息加入所述配置文件的時(shí)間作為添加時(shí)間記錄至所述磁盤錯(cuò)誤表。
在本實(shí)施例的一些可選的實(shí)施方式中,所述添加時(shí)間的初始值為空,所述配置文件處理單元92還用于定時(shí)遍歷所述磁盤錯(cuò)誤表中各錯(cuò)誤磁盤的添加時(shí)間。
所述裝置還包括歷史記錄表處理單元93,用于若添加時(shí)間不為空,將所述添加時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的錯(cuò)誤信息記錄至錯(cuò)誤歷史記錄表,所述錯(cuò)誤表處理單元91用于從所述磁盤錯(cuò)誤表中刪除所述該添加時(shí)間對(duì)應(yīng)錯(cuò)誤磁盤的錯(cuò)誤信息。
在本實(shí)施例的一些可選的實(shí)施方式中,所述裝置還包括:
磁盤處理單元94,用于判斷所述錯(cuò)誤磁盤是否記錄有日志文件;若所述錯(cuò)誤磁盤記錄有日志文件,選擇可用磁盤作為臨時(shí)磁盤,用所述臨時(shí)磁盤的磁盤信息替換所述配置文件中所述錯(cuò)誤磁盤的磁盤信息。
在本實(shí)施例的一些可選的實(shí)施方式中,所述裝置還包括:
配置記錄表單元95,用于建立配置記錄表,將記錄有日志文件的磁盤的磁盤信息記錄至所述配置記錄表,用于遍歷全部可用的磁盤,若判斷遍歷到的磁盤的磁盤信息沒有被記錄至所述磁盤錯(cuò)誤表,且同時(shí)沒有被記錄至所述配置記錄表,則選擇該磁盤作為臨時(shí)磁盤。
所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實(shí)施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實(shí)施例或者不同實(shí)施例中的技術(shù)特征之間也可以進(jìn)行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡明它們沒有在細(xì)節(jié)中提供。
另外,為簡化說明和討論,并且為了不會(huì)使本發(fā)明難以理解,在所提供的附圖中可以示出或可以不示出與集成電路(IC)芯片和其它部件的公知的電源/接地連接。此外,可以以框圖的形式示出裝置,以便避免使本發(fā)明難以理解,并且這也考慮了以下事實(shí),即關(guān)于這些框圖裝置的實(shí)施方式的細(xì)節(jié)是高度取決于將要實(shí)施本發(fā)明的平臺(tái)的(即,這些細(xì)節(jié)應(yīng)當(dāng)完全處于本領(lǐng)域技術(shù)人員的理解范圍內(nèi))。在闡述了具體細(xì)節(jié)(例如,電路)以描述本發(fā)明的示例性實(shí)施例的情況下,對(duì)本領(lǐng)域技術(shù)人員來說顯而易見的是,可以在沒有這些具體細(xì)節(jié)的情況下或者這些具體細(xì)節(jié)有變化的情況下實(shí)施本發(fā)明。因此,這些描述應(yīng)被認(rèn)為是說明性的而不是限制性的。
盡管已經(jīng)結(jié)合了本發(fā)明的具體實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是根據(jù)前面的描述,這些實(shí)施例的很多替換、修改和變型對(duì)本領(lǐng)域普通技術(shù)人員來說將是顯而易見的。例如,其它存儲(chǔ)器架構(gòu)(例如,動(dòng)態(tài)RAM(DRAM))可以使用所討論的實(shí)施例。
本發(fā)明的實(shí)施例旨在涵蓋落入所附權(quán)利要求的寬泛范圍之內(nèi)的所有這樣的替換、修改和變型。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。