如何排除服務器中RAID 5故障

由于(yú)技術的(de)不(bù)斷進步,不(bù)同型号的(de)服務器出(chū)現RAID 5故障後,處理方法也(yě)不(bù)同。

現在(zài)大(dà)型應用程序的(de)網絡拓樸結構,一(yī / yì /yí)般都采用C/S結構或B/S結構,至少需要(yào / yāo)一(yī / yì /yí)台裝有大(dà)型數據庫的(de)服務器安放于(yú)中心機房。基于(yú)對服務器安全性與可靠性的(de)考慮,通常會對服務器的(de)磁盤采用磁盤陣列RAID(Redundant Array of Inexpensive Disk)進行磁盤冗餘備份。其中RAID 5陣列級别爲(wéi / wèi)無獨立校驗磁盤的(de)奇偶校驗磁盤陣列,采用數據分塊和(hé / huò)獨立存取技術,能在(zài)同一(yī / yì /yí)磁盤上(shàng)并行處理多個(gè)訪問請求,同時(shí)允許陣列中的(de)任何一(yī / yì /yí)個(gè)硬盤出(chū)現故障。

實際應用中,由于(yú)某些不(bù)可避免的(de)客觀原因,可能會造成一(yī / yì /yí)些陣列故障。最常出(chū)現的(de)狀況就(jiù)是(shì)硬盤自行脫機,聯機狀态顯示爲(wéi / wèi)DDD(Defunct Disk Drive,無效磁盤驅動器),硬盤出(chū)現物理故障或邏輯故障。如果是(shì)物理故障,隻有進行硬盤更換;如果是(shì)邏輯故障,可以(yǐ)通過有針對性的(de)技術修複,恢複硬盤的(de)在(zài)線狀态,繼續保持其原始陣列中的(de)硬盤數據條帶化分布狀态,延續數據存儲體系的(de)一(yī / yì /yí)緻性。

但是(shì),對HP的(de)一(yī / yì /yí)些老服務器(如HP LH6000)數據的(de)恢複與新服務器(如HP ProLian系列服務器)的(de)數據恢複是(shì)不(bù)同的(de)。所以(yǐ)不(bù)同的(de)服務器對RAID 5故障的(de)處理也(yě)是(shì)不(bù)同的(de)。曾接觸過兩台服務器因意外斷電而(ér)造成的(de)RAID 5陣列卡數據故障,由于(yú)采用了(le/liǎo)不(bù)同的(de)策略而(ér)解決了(le/liǎo)問題。

故障修複

一(yī / yì /yí)台是(shì)HP LH6000的(de)服務器,4塊18GB的(de)硬盤做成RAID 5磁盤陣列,其陣列卡是(shì)NetRaid;另一(yī / yì /yí)台是(shì)HP ProLian ML370服務器,4塊146GB的(de)硬盤做成RAID 5磁盤陣列,其陣列卡是(shì)Smart Array 642并帶有熱備份硬盤(Hot Spare)。兩者操作系統都爲(wéi / wèi)Window 2000,數據庫是(shì)Server 2000。

HP LH6000的(de)故障如下: 一(yī / yì /yí)塊硬盤紅燈閃亮,機器還在(zài)正常運行,但沒有多久,系統就(jiù)不(bù)能正常運行,這(zhè)時(shí)才發現另一(yī / yì /yí)塊硬盤的(de)紅燈也(yě)在(zài)閃亮。

解決辦法如下:

1.啓動服務器,自檢至陣列時(shí)按Ctrl+M進入NetRaid管理程序。查看陣列信息,發現硬盤狀态爲(wéi / wèi)Failed,運用修改配置将一(yī / yì /yí)硬盤強行設置成OnLine。重新啓動服務器,在(zài)進入系統前的(de)硬件自檢時(shí)無效,啓動失敗。

2.啓動服務器,自檢至陣列時(shí)按Ctrl+M進入NetRaid管理程序。選擇磁盤陣列,将原來(lái)OnLine挂起來(lái)的(de)硬盤手工Fail掉,然後再把另一(yī / yì /yí)塊Failed的(de)硬盤手工設置成OnLine,重新啓動服務器就(jiù)可以(yǐ)進入系統了(le/liǎo)。

3.查看系統及數據庫都運行正常後,再進陣列配置工具把Failed的(de)硬盤手工設置成Rebuild,100%完成重建後再重啓服務器,所有的(de)陣列及系統都恢複原狀了(le/liǎo)。

另一(yī / yì /yí)台運行ERP系統的(de)服務器(HP ProLiant ML370),由4塊146GB熱插拔硬盤通過RAID卡(Smart array陣列卡)配置成一(yī / yì /yí)台具有RAID 5級的(de)磁盤陣列。其中一(yī / yì /yí)塊硬盤在(zài)運行過程中突然出(chū)現故障。服務器RAID 5自動啓用熱備份硬盤(Hot Spare),對損壞硬盤進行邏輯替代。整個(gè)硬盤的(de)數據訪問任務仍然完整地(dì / de)運行在(zài)原來(lái)的(de)讀寫進程序列中,應用程序和(hé / huò)數據庫沒有發生影響。

通過HP自帶的(de)ACU工具查看硬盤狀态進行檢查,發現紅燈示警的(de)硬盤處于(yú)脫機狀态。如果HP ProLiant服務器中的(de)Raid 5有兩塊硬盤出(chū)現亮紅燈時(shí),表明系統已經崩潰,數據庫也(yě)就(jiù)不(bù)能訪問,但系統不(bù)會自動關機。當第二塊硬盤亮紅燈後,用常規的(de)手段是(shì)不(bù)能恢複數據的(de),隻有付費找專業的(de)第三方數據恢複公司恢複數據。

因此,對惠普老型号HP LH6000系列服務器來(lái)說(shuō),陣列的(de)設計方面與現在(zài)HP ProLiant系列服務器的(de)陣列有很多不(bù)同。就(jiù)操作方法看,HP LH6000服務器的(de)陣列操作方法有很多可選項,包括陣列失敗後可以(yǐ)重新删除陣列并重建等,初始化也(yě)是(shì)手工選擇的(de)。但是(shì)HP ProLiant系列服務器陣列的(de)初始化是(shì)在(zài)配置陣列後自動在(zài)後台執行的(de),所以(yǐ)ProLiant系列服務器在(zài)陣列出(chū)錯後是(shì)不(bù)能重配陣列的(de)。

HP LH6000服務器會因其他(tā)意外的(de)原因導緻陣列中的(de)磁盤出(chū)現掉線現象,可讓維護人(rén)員手工選擇用Online或Offline、Rebuild等來(lái)恢複數據。但是(shì)現在(zài)的(de)HP ProLiant系列服務器在(zài)陣列中不(bù)會再出(chū)現像老的(de)服務器那樣有磁盤掉線的(de)現象,所以(yǐ)硬盤亮紅燈的(de)時(shí)候,這(zhè)塊硬盤基本上(shàng)是(shì)損壞了(le/liǎo)需要(yào / yāo)更換。當然可以(yǐ)選擇熱插拔硬盤來(lái)重建(Rebuild),看硬盤還能不(bù)能再用一(yī / yì /yí)段時(shí)間。

做好技術後備

從以(yǐ)上(shàng)兩個(gè)例子(zǐ)可以(yǐ)看出(chū),同一(yī / yì /yí)品牌、不(bù)同系列的(de)服務器因其内含技術的(de)不(bù)同,其Raid 5磁盤故障的(de)排除也(yě)是(shì)不(bù)同的(de)。但經過重建(Rebuild)數據後,數據被拯救了(le/liǎo),從中可以(yǐ)得出(chū)以(yǐ)下經驗:

我們認爲(wéi / wèi)任何先進的(de)技術手段都不(bù)是(shì)萬無一(yī / yì /yí)失的(de)。如果要(yào / yāo)确保數據安全,就(jiù)一(yī / yì /yí)定要(yào / yāo)做好備份工作,最好每天做一(yī / yì /yí)次數據庫的(de)異地(dì / de)備份。至少備用一(yī / yì /yí)塊新硬盤。需要(yào / yāo)指出(chū)的(de)是(shì),加入陣列的(de)硬盤必須大(dà)于(yú)或等于(yú)故障硬盤的(de)容量。

如果條件允許,推薦“RAID 5+熱備盤”的(de)陣列創建方案。這(zhè)樣在(zài)數據丢失前,我們有兩次更換硬盤的(de)機會。對于(yú)一(yī / yì /yí)般的(de)應用,隻用RAID 5即可,可以(yǐ)同時(shí)提供數據的(de)存取性能、可靠性和(hé / huò)最大(dà)的(de)磁盤空間。

管理員必須經常觀察陣列的(de)狀态,包括查看磁盤陣列的(de)黃色警告燈和(hé / huò)管理軟件裏的(de)驅動器狀态。出(chū)現故障,及時(shí)排除。無論是(shì)什麽級别的(de)陣列,在(zài)排除故障前,都應做好數據備份。