本發(fā)明涉及一種對(duì)出現(xiàn)物理壞道的服務(wù)器raid高速磁盤進(jìn)行重新利用的方法,屬于信息存儲(chǔ)技術(shù)領(lǐng)域。
背景技術(shù):
容錯(cuò)服務(wù)器是當(dāng)今工業(yè)生產(chǎn)中重要的電氣自動(dòng)化設(shè)備,其故障按時(shí)間劃分為永久性失效、間歇性故障和偶然性故障,其中間歇性故障和偶然性故障占現(xiàn)場(chǎng)失效的90%以上。從概念上來說,容錯(cuò)是指服務(wù)器對(duì)于錯(cuò)誤的容納能力,是服務(wù)器穩(wěn)定性的一個(gè)追求目標(biāo)。為此,有三種技術(shù)上的實(shí)現(xiàn)方法:服務(wù)器群集技術(shù)、雙機(jī)冗余服務(wù)器方案和單機(jī)容錯(cuò)技術(shù),冶金工業(yè)自動(dòng)化上常用的是單機(jī)容錯(cuò)服務(wù)器。單機(jī)容錯(cuò)技術(shù)以stratus公司的ftserver、hp公司的nonstop為代表。這種技術(shù)具有比雙機(jī)冗余方案更高的容錯(cuò)能力。
以stratus公司的ftserver的容錯(cuò)服務(wù)器為例,冗余容錯(cuò)硬件的部件在同一時(shí)刻都在執(zhí)行同一指令。在一個(gè)部件出現(xiàn)故障的情況下,其余部件就像激活了的備份,繼續(xù)正常工作,因此不會(huì)出現(xiàn)系統(tǒng)停頓及數(shù)據(jù)丟失,保證生產(chǎn)能夠正常進(jìn)行。
服務(wù)器用于存儲(chǔ)數(shù)據(jù)的介質(zhì)是磁盤,容錯(cuò)服務(wù)器采用raid磁盤陣列技術(shù),中文簡(jiǎn)稱為獨(dú)立冗余磁盤陣列,簡(jiǎn)單地說,raid是把一種多塊獨(dú)立的硬盤(物理硬盤)按不同的方式組合起來形成一個(gè)硬盤組(邏輯硬盤),從而提供比單個(gè)硬盤更高的存儲(chǔ)性能和提供數(shù)據(jù)備份技術(shù),在用戶看來,組成的硬盤組就像是一個(gè)硬盤,用戶可以對(duì)它進(jìn)行分區(qū),格式化等。總之,對(duì)磁盤陣列的操作與單個(gè)硬盤一模一樣。不同的是,磁盤陣列采用高速存儲(chǔ)磁盤(例如15k),其組成陣列的存儲(chǔ)速度要比單個(gè)硬盤高很多,而且可以通過管理軟件提供自動(dòng)數(shù)據(jù)備份,因而在用戶數(shù)據(jù)發(fā)生損壞時(shí),可以利用備份信息使損壞數(shù)據(jù)得到恢復(fù),從而保障了數(shù)據(jù)的安全性。
但是高速讀寫的服務(wù)器磁盤可能會(huì)出現(xiàn)壞道(物理硬盤由若一個(gè)或多個(gè)磁碟組成,每個(gè)磁碟由兩面進(jìn)行讀寫,分別對(duì)應(yīng)兩個(gè)磁頭,所述磁盤壞道即物理硬盤中的某一磁碟上存在的壞道),磁盤壞道分為邏輯壞道和物理壞道兩種,前者一般可以用系統(tǒng)或第三方軟件修復(fù),后者表示磁盤產(chǎn)生了物理損傷,是不可修復(fù)的。磁盤出現(xiàn)壞道會(huì)使打開、運(yùn)行文件時(shí)出現(xiàn)停頓,如壞道出現(xiàn)在系統(tǒng)分區(qū),會(huì)導(dǎo)致系統(tǒng)卡死、硬盤無法引導(dǎo)等情況。一般出現(xiàn)這種情況,服務(wù)器管理員只能更換新的磁盤,重新進(jìn)行磁盤同步,而更換下來的磁盤無法重新利用。通過檢測(cè)發(fā)現(xiàn),故障磁盤往往只存在局部少量的物理壞道,而整個(gè)磁盤卻無法繼續(xù)使用,造成了資源的嚴(yán)重浪費(fèi)。因此尋找一種重新利用帶有物理壞道raid磁盤的方法,對(duì)降低設(shè)備的使用和維護(hù)成本具有重要意義。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)之弊端,提供一種帶有物理壞道的raid磁盤的重新利用方法,以降低設(shè)備的維修成本。
本發(fā)明所述問題是以下述技術(shù)方案實(shí)現(xiàn)的:
一種帶有物理壞道的raid磁盤的重新利用方法,所述方法包括以下步驟:
a.磁盤壞道檢測(cè)
將raid磁盤切換為各自單片模式,對(duì)硬盤組中每個(gè)物理硬盤的各個(gè)磁碟分別進(jìn)行壞道檢測(cè),嘗試對(duì)檢測(cè)出的壞道進(jìn)行修復(fù),對(duì)不能修復(fù)的物理壞道,記錄其具體的磁道號(hào);
b.根據(jù)物理壞道的磁道號(hào),計(jì)算出其在對(duì)應(yīng)物理硬盤映射的存儲(chǔ)空間中的相對(duì)位置,然后確定可將物理壞道部分劃除的硬盤分區(qū)模式;
c.將確定的硬盤分區(qū)模式應(yīng)用于具有物理壞道的故障物理硬盤,即屏蔽物理壞道的磁道號(hào),對(duì)故障物理硬盤的物理壞道以外的部分進(jìn)行物理分區(qū);
d.將具有物理壞道的故障物理硬盤的分區(qū)模式應(yīng)用于硬盤組中的正常物理硬盤,對(duì)硬盤分區(qū)進(jìn)行調(diào)整;
e.將屏蔽物理壞道后的故障物理硬盤和進(jìn)行硬盤分區(qū)調(diào)整的正常物理硬盤進(jìn)行raid同步。
上述帶有物理壞道的raid磁盤的重新利用方法,確定可將物理壞道部分劃除的硬盤分區(qū)模式時(shí),若物理壞道的磁道號(hào)出現(xiàn)在系統(tǒng)分區(qū)之后,則可繼續(xù)執(zhí)行后面的操作;若物理壞道的磁道號(hào)出現(xiàn)在系統(tǒng)分區(qū)中,則該磁盤只能用于數(shù)據(jù)存儲(chǔ),而不能用于系統(tǒng)磁盤。
本發(fā)明在對(duì)磁盤物理壞道所處的邏輯位置進(jìn)行精確定位的基礎(chǔ)上,通過合理制定分區(qū)策略將物理壞道部分劃除,實(shí)現(xiàn)了壞道磁盤的重新利用。本方法簡(jiǎn)單實(shí)用、易于操作,可有效避免資源的浪費(fèi),降低設(shè)備的使用和維護(hù)成本。
附圖說明
圖1是本發(fā)明的一個(gè)實(shí)施例。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明。
raid磁盤的結(jié)構(gòu):
硬盤組中的每個(gè)物理硬盤有數(shù)個(gè)磁碟,每磁碟兩個(gè)面,每個(gè)面一個(gè)磁頭。磁碟被劃分為多個(gè)扇形區(qū)域即扇區(qū)。同一磁碟不同半徑的同心圓為磁道。每個(gè)物理硬盤的存儲(chǔ)容量=磁頭數(shù)x磁碟每面磁道數(shù)x每道扇區(qū)數(shù)x每扇區(qū)字節(jié)數(shù)。
當(dāng)某一物理硬盤中的某個(gè)磁碟出現(xiàn)物理壞道后,將無法對(duì)該磁碟的物理壞道所在扇區(qū)進(jìn)行讀寫。
帶有物理壞道的raid磁盤的重新利用方法包括如下步驟:
第一步,磁盤壞道檢測(cè)
在rdr中將raid磁盤切換為各自單片模式,對(duì)硬盤組中每個(gè)物理硬盤的各個(gè)磁碟分別進(jìn)行壞道檢測(cè)。
通過windows自帶的scandisk程序進(jìn)行掃描,其主要功能是解決磁盤邏輯壞道。通過第三方軟件如fbdisk、diskgenius等再次進(jìn)行壞道檢測(cè),找到出現(xiàn)壞道的具體位置。嘗試用軟件自帶的修復(fù)功能進(jìn)行修復(fù)(主要是再次修復(fù)scandisk未修復(fù)的邏輯壞道)。如有物理壞道,則修復(fù)后仍不奏效,但不能修復(fù)的壞道只剩物理壞道,并指示其磁道號(hào)。
第二步,根據(jù)物理壞道的磁道號(hào),計(jì)算出其在對(duì)應(yīng)物理硬盤映射的存儲(chǔ)空間中的相對(duì)位置,分析計(jì)算物理壞道所處的位置,對(duì)于故障物理硬盤系統(tǒng)分區(qū),數(shù)據(jù)分區(qū)等所能達(dá)到的劃除或合并的最佳效果(通常一般是劃除),確定可將物理壞道部分劃除的硬盤分區(qū)模式。
磁盤壞道檢測(cè)一般只給出壞道的磁道號(hào),而不會(huì)給出具體的扇區(qū)號(hào)。
如果某物理硬盤的磁頭數(shù)為a,即有a/2張磁碟,磁碟的每個(gè)盤面有n個(gè)磁道,從0起對(duì)磁道進(jìn)行編號(hào),第一張磁碟第一面有n磁道,則第一張磁碟的第一盤面的磁道號(hào)范圍為0~n-1,而第一張磁碟的第二盤面的磁道號(hào)范圍為n~2n-1,…,第a/2張磁碟的第二盤面的磁道號(hào)范圍為(a-1)n~an-1。即每一張磁碟的每個(gè)盤面的每一個(gè)磁道都對(duì)應(yīng)唯一的編號(hào)。
設(shè)物理硬盤的最小磁道號(hào)為0,最大磁道號(hào)為d,每個(gè)磁道存儲(chǔ)的字節(jié)數(shù)為b,若磁盤壞道檢測(cè)得到的唯一壞道號(hào)為c(0≤c≤d),則0~c-1與c+1~d都是正常的磁道,對(duì)應(yīng)的存儲(chǔ)容量為劃分為(0~(c-1)b)和((c+1)b~db)。新的硬盤分區(qū)模式只考慮這些存儲(chǔ)容量即可。
第三步,將第二步確定的硬盤分區(qū)模式用于故障物理硬盤,將物理壞道的磁道號(hào)跳過(即屏蔽),即壞道不進(jìn)行物理分區(qū)。力求完全覆蓋壞道范圍。
第四步,將第二步確定的硬盤分區(qū)模式用于另一個(gè)處于正常狀態(tài)的物理硬盤,對(duì)硬盤分區(qū)進(jìn)行調(diào)整。(此操作可在檢修時(shí)進(jìn)行,調(diào)整前應(yīng)進(jìn)行數(shù)據(jù)備份)
第五步,將屏蔽物理壞道后的故障物理硬盤重新和進(jìn)行硬盤分區(qū)調(diào)整的正常物理硬盤進(jìn)行raid同步。
其中第二步要根據(jù)壞道出現(xiàn)的具體情況給出相應(yīng)的操作:如壞道磁道號(hào)出現(xiàn)在系統(tǒng)分區(qū)之后,則操作可執(zhí)行;如正好出現(xiàn)在系統(tǒng)分區(qū)中,則只能將故障物理硬盤用于數(shù)據(jù)存儲(chǔ),而不能用于系統(tǒng)磁盤。例如某物理硬盤的系統(tǒng)分區(qū)(如c盤)大小為30g,而c盤已寫入系統(tǒng)數(shù)據(jù)20g,如果檢測(cè)到壞道對(duì)應(yīng)的磁道號(hào)折合為磁盤容量處于0~20g范圍內(nèi),則不能進(jìn)行分段屏蔽。
圖1是本發(fā)明的一個(gè)實(shí)施例,將處于同步的磁盤切換為各自單片模式,分別掃描磁盤壞道。如掃描其中的一塊存在物理壞道,則記錄壞道號(hào),分析計(jì)算設(shè)置最優(yōu)分區(qū)策略,將策略實(shí)施于壞道硬盤,另一正常硬盤參照最優(yōu)分區(qū)策略進(jìn)行相應(yīng)分區(qū)調(diào)整,最后再次進(jìn)行raid同步,恢復(fù)初始同步狀態(tài)。