一種磁盤組亂序驗(yàn)證的方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種磁盤組亂序驗(yàn)證的方法及裝置,該方法包括:將服務(wù)器上的至少兩個磁盤劃分為至少兩個磁盤組,每一個所述磁盤組包括至少一個磁盤;針對于每一個所述磁盤組,獲取該磁盤組中各個磁盤的第一序列號,形成包括各個所述第一序列號的標(biāo)準(zhǔn)文件;對所述服務(wù)器進(jìn)行重啟;針對于每一個所述磁盤組,獲取所述服務(wù)器重啟后該磁盤組中各個磁盤的第二序列號,形成包括各個所述第二序列號的測試文件;判斷各個所述磁盤組中是否存在至少一個磁盤組對應(yīng)的測試文件與對應(yīng)的標(biāo)準(zhǔn)文件不同,如果是,確定所述磁盤組發(fā)生亂序,否則確定所述磁盤組未發(fā)生亂序。本方案能夠?qū)崿F(xiàn)對包括不連續(xù)盤符的磁盤組進(jìn)行亂序驗(yàn)證。
【專利說明】
-種磁盤組亂序驗(yàn)證的方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及計(jì)算機(jī)技術(shù)領(lǐng)域,特別設(shè)及一種磁盤組亂序驗(yàn)證的方法及裝置。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展與進(jìn)步,傳統(tǒng)信息化服務(wù)W及日益強(qiáng)大的云計(jì)算服務(wù) 對服務(wù)器的存儲容量需求越來越大,為了滿足用戶的需求,一臺服務(wù)器上搭載的磁盤數(shù)量 也越來越多。為了滿足一些客戶的特殊要求,將一臺服務(wù)器上的各個磁盤劃分為多個磁盤 組。針對于包括多個磁盤組的服務(wù)器,同一個磁盤組中的磁盤發(fā)生亂序時,不會影響服務(wù)器 的正常工作,但是當(dāng)不同磁盤組中的磁盤發(fā)生亂序時,一個磁盤組中的磁盤出現(xiàn)在另一個 磁盤組中,運(yùn)就會導(dǎo)致服務(wù)器工作異常,出現(xiàn)重啟或巖機(jī)的現(xiàn)象。為了保證包括磁盤組的服 務(wù)器能夠穩(wěn)定的工作,需要驗(yàn)證磁盤組是否會發(fā)生亂序。
[0003] 目前,通過SOd命令實(shí)現(xiàn)磁盤組亂序驗(yàn)證。
[0004] 通過SOd命令實(shí)現(xiàn)磁盤組亂序驗(yàn)證時,由于30的命令的排序功能,同一個磁盤組 中各個磁盤的盤符必須是連續(xù)的,否則驗(yàn)證結(jié)果均會判斷磁盤組發(fā)生亂序。因而,通過SOd 命令實(shí)現(xiàn)磁盤組亂序驗(yàn)證的方法存在較大的局限性,僅能夠?qū)ΠㄟB續(xù)盤符的磁盤組進(jìn)行 亂序驗(yàn)證,無法實(shí)現(xiàn)對包括不連續(xù)盤符的磁盤組進(jìn)行亂序驗(yàn)證。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供了一種磁盤組亂序驗(yàn)證的方法及裝置,能夠?qū)崿F(xiàn)對包括不連續(xù) 盤符的磁盤組進(jìn)行亂序驗(yàn)證。
[0006] 本發(fā)明實(shí)施例提供了一種磁盤組亂序驗(yàn)證的方法,將服務(wù)器上的至少兩個磁盤劃 分為至少兩個磁盤組,每一個所述磁盤組包括至少一個磁盤,還包括:
[0007] 針對于每一個所述磁盤組,獲取該磁盤組中各個磁盤的第一序列號,形成包括各 個所述第一序列號的標(biāo)準(zhǔn)文件;
[000引對所述服務(wù)器進(jìn)行重啟;
[0009] 針對于每一個所述磁盤組,獲取所述服務(wù)器重啟后該磁盤組中各個磁盤的第二序 列號,形成包括各個所述第二序列號的測試文件;
[0010] 判斷各個所述磁盤組中是否存在至少一個磁盤組對應(yīng)的測試文件與對應(yīng)的標(biāo)準(zhǔn) 文件不同,如果是,確定所述磁盤組發(fā)生亂序,否則確定所述磁盤組未發(fā)生亂序。
[0011] 優(yōu)選地,所述判斷各個所述磁盤組中是否存在至少一個磁盤組對應(yīng)的測試文件與 對應(yīng)的標(biāo)準(zhǔn)文件不同包括:
[0012] 對所述各個磁盤組進(jìn)行排序,依次對各個所述磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件 進(jìn)行對比;
[0013] 如果任意一個所述磁盤組對應(yīng)的測試文件包括中至少一個第二序列號與該磁盤 組對應(yīng)的標(biāo)準(zhǔn)文件中包括的各個第一序列號均不相同,則停止所述依次對各個所述磁盤組 對應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比,并確定所述磁盤組發(fā)生亂序;
[0014] 如果任意一個所述磁盤組對應(yīng)的測試文件包括的各個第二序列號,在與該磁盤組 相對應(yīng)的標(biāo)準(zhǔn)文件中均包括與之相同的第一序列號,則確定所述磁盤組未發(fā)生亂序。
[0015] 優(yōu)選地,在所述判斷各個所述磁盤組中是否存在至少一個磁盤組對應(yīng)的測試文件 與對應(yīng)的標(biāo)準(zhǔn)文件不同之后進(jìn)一步包括:
[0016] 根據(jù)判斷結(jié)果,如果是,將記錄所述磁盤組發(fā)生亂序的第一記錄信息存儲到預(yù)先創(chuàng) 建的日志文件中,否則將記錄所述磁盤組未發(fā)生亂序的第二記錄信息存儲到所述日志文件中。
[0017] 優(yōu)選地,在將所述第一記錄信息或所述第二記錄信息存儲到所述日志文件中之后 進(jìn)一步包括:
[0018] 判斷預(yù)先設(shè)定的重啟計(jì)數(shù)值是否達(dá)到預(yù)先設(shè)定的驗(yàn)證次數(shù),如果否,將所述重啟 計(jì)數(shù)值加1,并執(zhí)行所述對所述服務(wù)器進(jìn)行重啟,其中所述重啟計(jì)數(shù)值的初始值為1。
[0019] 優(yōu)選地,在所述對所述服務(wù)器進(jìn)行重啟之后進(jìn)一步包括:
[0020] 將所述重啟計(jì)數(shù)值輸入到所述日志文件中。
[0021] 本發(fā)明實(shí)施例提供了一種磁盤組亂序驗(yàn)證的裝置,包括:劃分單元、第一形成單 元、重啟單元、第二形成單元及判斷單元;
[0022] 所述劃分單元,用于將服務(wù)器上的至少兩個磁盤劃分為至少兩個磁盤組,每一個 磁盤組包括至少一個磁盤;
[0023] 所述第一形成單元,用于針對于所述劃分單元劃分出的每一個磁盤組,獲取該磁 盤組中各個磁盤的第一序列號,形成包括各個所述第一序列號的標(biāo)準(zhǔn)文件;
[0024] 所述重啟單元,用于對所述服務(wù)器進(jìn)行重啟;
[0025] 所述第二形成單元,用于針對于所述劃分單元劃分出的每一個磁盤組,獲取所述 重啟單元對服務(wù)器重啟后該磁盤組中各個磁盤的第二序列號,形成包括各個所述第二序列 號的測試文件;
[00%] 所述判斷單元,用于判斷各個所述磁盤組中是否存在至少一個磁盤組對應(yīng)的由第 二形成單元形成的測試文件與對應(yīng)的由第一形成單元形成的標(biāo)準(zhǔn)文件不同,如果是,確定 所述磁盤組發(fā)生亂序,否則確定所述未發(fā)生亂序。
[0027]優(yōu)選地,
[0028] 所述判斷單元,用于對所述各個磁盤組進(jìn)行排序,依次對各個所述磁盤組對應(yīng)的 測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比;如果任意一個所述磁盤組對應(yīng)的測試文件中包括至少一個 第二序列號與該磁盤組對應(yīng)的標(biāo)準(zhǔn)文件中包括的各個第一序列號均不相同,則停止所述依 次對各個所述磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比,并確定所述磁盤組發(fā)生亂序; 如果任意一個所述磁盤組對應(yīng)的測試文件包括的各個第二序列號,在于該磁盤組相對應(yīng)的 標(biāo)準(zhǔn)文件中均包括與之相同的第一序列號,則確定所述磁盤組未發(fā)生亂序。
[0029] 優(yōu)選地,該裝置進(jìn)一步包括:記錄單元;
[0030] 所述記錄單元,用于根據(jù)所述判斷單元的判斷結(jié)果,如果是,將記錄所述磁盤組發(fā) 生亂序的第一記錄信息存儲到預(yù)先創(chuàng)建的日志文件中,否則將記錄所述磁盤組未發(fā)生亂序 的第二記錄文件存儲到所述日志文件中。
[0031] 優(yōu)選地,
[0032] 所述重啟單元,進(jìn)一步用于在所述記錄單元將所述第一記錄信息或所述第二記錄 信息存儲到所述日志文件中之后,判斷預(yù)先設(shè)定的重啟計(jì)數(shù)值是否達(dá)到預(yù)先設(shè)定的驗(yàn)證次 數(shù),如果否,將所述重啟計(jì)數(shù)值加1,并執(zhí)行所述對所述服務(wù)器進(jìn)行重啟,其中所述重啟計(jì)數(shù) 值的初始值為1。
[0033] 優(yōu)選地,
[0034] 所述重啟單元,進(jìn)一步用于在對所述服務(wù)器進(jìn)行重啟之后,將所述重啟計(jì)數(shù)值輸 入到所述日志文件中。
[0035] 本發(fā)明實(shí)施例提供了一種磁盤組亂序驗(yàn)證的方法及裝置,將服務(wù)器上的各個磁盤 劃分為至少兩個磁盤組,針對于每一個磁盤組,形成包括該磁盤組中各個磁盤的第一序列 號的標(biāo)準(zhǔn)文件,重啟服務(wù)器后,針對于每一個磁盤組,形成包括該磁盤組中各個磁盤的第二 序列號的測試文件,判斷各個磁盤組中是否存在至少一個磁盤組對應(yīng)的測試文件與對應(yīng)的 標(biāo)準(zhǔn)文件不同,如果是,確定磁盤組發(fā)生亂序,否則確定所述磁盤組未發(fā)生亂序。由于序列 號是磁盤的唯一標(biāo)識,無論磁盤組是否發(fā)生亂序,磁盤的序列號不會發(fā)生改變,通過對比服 務(wù)器重啟前后各個磁盤組包括的序列號是否相同,可W判斷出磁盤組是否發(fā)生亂序,運(yùn)種 磁盤組亂序驗(yàn)證的方法不受磁盤盤符的影響,可W對磁盤組進(jìn)行任意劃分,因而可W實(shí)現(xiàn) 對包括不連續(xù)盤符的磁盤組進(jìn)行亂序驗(yàn)證。
【附圖說明】
[0036] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明 的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可W根據(jù) 運(yùn)些附圖獲得其他的附圖。
[0037] 圖1是本發(fā)明一個實(shí)施例提供的一種磁盤組亂序驗(yàn)證的方法流程圖;
[0038] 圖2是本發(fā)明另一個實(shí)施例提供的一種磁盤組亂序驗(yàn)證的方法流程圖;
[0039] 圖3是本發(fā)明一個實(shí)施例中提供的一種磁盤組亂序驗(yàn)證的裝置所在設(shè)備的示意圖;
[0040] 圖4是本發(fā)明一個實(shí)施例提供的一種磁盤組亂序驗(yàn)證的裝置示意圖;
[0041] 圖5是本發(fā)明另一個實(shí)施例提供的一種磁盤組亂序驗(yàn)證的裝置示意圖。
【具體實(shí)施方式】
[0042] 為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0043] 如圖1所示,本發(fā)明實(shí)施例提供了一種磁盤組亂序驗(yàn)證的方法,該方法可W包括W 下步驟:
[0044] 步驟101:將服務(wù)器上的至少兩個磁盤劃分為至少兩個磁盤組,每一個所述磁盤組 包括至少一個磁盤;
[0045] 步驟102 :針對于每一個所述磁盤組,獲取該磁盤組中各個磁盤的第一序列號,形 成包括各個所述第一序列號的標(biāo)準(zhǔn)文件;
[0046] 步驟103:對所述服務(wù)器進(jìn)行重啟;
[0047] 步驟104:針對于每一個所述磁盤組,獲取所述服務(wù)器重啟后該磁盤組中各個磁盤 的第二序列號,形成包括各個所述第二序列號的測試文件;
[004引步驟105:判斷各個所述磁盤組中是否存在至少一個磁盤組對應(yīng)的測試文件與對 應(yīng)的標(biāo)準(zhǔn)文件不同,如果是,執(zhí)行步驟106,否則執(zhí)行步驟107;
[0049]步驟106:確定所述磁盤組發(fā)生亂序,并結(jié)束當(dāng)前流程;
[0化0] 步驟107:確定所述磁盤組未發(fā)生亂序。
[0051] 本發(fā)明實(shí)施例提供了一種磁盤組亂序驗(yàn)證的方法,將服務(wù)器上的各個磁盤劃分為 至少兩個磁盤組,針對于每一個磁盤組,形成包括該磁盤組中各個磁盤的第一序列號的標(biāo) 準(zhǔn)文件,重啟服務(wù)器后,針對于每一個磁盤組,形成包括該磁盤組中各個磁盤的第二序列號 的測試文件,判斷各個磁盤組中是否存在至少一個磁盤組對應(yīng)的測試文件與對應(yīng)的標(biāo)準(zhǔn)文 件不同,如果是,確定磁盤組發(fā)生亂序,否則確定所述磁盤組未發(fā)生亂序。由于序列號是磁 盤的唯一標(biāo)識,無論磁盤組是否發(fā)生亂序,磁盤的序列號不會發(fā)生改變,通過對比服務(wù)器重 啟前后各個磁盤組包括的序列號是否相同,可W判斷出磁盤組是否發(fā)生亂序,運(yùn)種磁盤組 亂序驗(yàn)證的方法不受磁盤盤符的影響,可W對磁盤組進(jìn)行任意劃分,因而可W實(shí)現(xiàn)對包括 不連續(xù)盤符的磁盤組進(jìn)行亂序驗(yàn)證。
[0052] 在本發(fā)明一個實(shí)施例中,對各個磁盤組進(jìn)行排序,根據(jù)排序結(jié)果依次對各個磁盤 組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比;針對于任意一個進(jìn)行對比磁盤組,如果該磁盤組 對應(yīng)的測試文件中包括至少一個第二序列號與該磁盤組對應(yīng)的標(biāo)準(zhǔn)文件中包括的各個第 一系列號均不相同,說明該磁盤組中進(jìn)入原屬于其他磁盤組的磁盤,停止對各個磁盤組對 應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比的過程,判斷磁盤組發(fā)生了亂序;如果對各個磁盤組對 應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比后,任意一個磁盤組對應(yīng)的測試文件包括的各個第二序 列號,在與該磁盤組相對應(yīng)的標(biāo)準(zhǔn)文件中均包括與之相同的第一序列號,說明服務(wù)器重啟 后各個磁盤仍處于原有的磁盤組中,確定磁盤組沒有發(fā)生亂序。運(yùn)樣,依次對比各個磁盤組 是否發(fā)生亂序,當(dāng)確定一個磁盤組發(fā)生亂序后停止對后續(xù)其他磁盤組進(jìn)行對比,可W減少 磁盤組亂序驗(yàn)證所需的時間,提高磁盤組亂序驗(yàn)證的效率。
[0053] 在本發(fā)明一個實(shí)施例中,預(yù)先創(chuàng)建日志文件,在確定磁盤組發(fā)生亂序后,將記錄磁 盤組發(fā)生亂序的第一記錄信息存儲到日志文件中,在確定磁盤組未發(fā)生亂序后,將記錄磁 盤組未發(fā)生亂序的第二記錄信息存儲到日志文件中。運(yùn)樣,在對磁盤組進(jìn)行多次亂序驗(yàn)證 時,通過日志文件便可W確定每一次驗(yàn)證的結(jié)果,從而根據(jù)日志文件對服務(wù)器磁盤組的穩(wěn) 定性進(jìn)行判斷,為后續(xù)判斷過程提供參考。
[0054] 在本發(fā)明一個實(shí)施例中,預(yù)先創(chuàng)建一個初始值為1的重啟計(jì)數(shù)值,每次向日志文件 中存儲第一記錄信息或第二記錄信息后,判斷重啟計(jì)數(shù)值是否達(dá)到預(yù)先設(shè)定的驗(yàn)證次數(shù), 如果是,說明對服務(wù)器進(jìn)行重啟的次數(shù)已經(jīng)達(dá)到要求的驗(yàn)證次數(shù),結(jié)束對磁盤組進(jìn)行亂序 驗(yàn)證的過程,如果否,說明對服務(wù)器進(jìn)行重啟的次數(shù)還沒有達(dá)到要求的驗(yàn)證次數(shù),需要繼續(xù) 對服務(wù)器進(jìn)行重啟,將重啟計(jì)數(shù)值加1,相應(yīng)地執(zhí)行對服務(wù)器進(jìn)行重啟的操作。運(yùn)樣,通過統(tǒng) 計(jì)服務(wù)器已經(jīng)重啟的次數(shù),可W自動對磁盤組已經(jīng)完成的亂序驗(yàn)證次數(shù)進(jìn)行統(tǒng)計(jì),無需人 工統(tǒng)計(jì)已經(jīng)進(jìn)行的驗(yàn)證次數(shù),減小測試人員的工作量;并在達(dá)到要求的驗(yàn)證次數(shù)后結(jié)束服 務(wù)器的重啟,提高了該磁盤組亂序驗(yàn)證的方法的易用性及合理性。
[0055] 在本發(fā)明一個實(shí)施例中,在每次對服務(wù)器進(jìn)行重啟后,將重啟計(jì)數(shù)值存儲到日志 文件中,測試人員通過日志文件可W獲悉已經(jīng)對磁盤組進(jìn)行亂序驗(yàn)證的次數(shù),從而可W確 定每一次服務(wù)器重啟后磁盤組是否發(fā)生亂序,并可W確定磁盤組發(fā)生亂序時服務(wù)器進(jìn)行的 重啟次數(shù),對磁盤組的穩(wěn)定性進(jìn)行評判。
[0056] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面WLinux系統(tǒng)服務(wù)器為例,對 本發(fā)明實(shí)施例提供的磁盤組亂序驗(yàn)證的方法作進(jìn)一步地詳細(xì)描述。
[0057] 如圖2所示,本發(fā)明實(shí)施例提供了一種磁盤組亂序驗(yàn)證的方法,該方法可W包括W 下步驟:
[005引步驟201:將服務(wù)器上的各個磁盤劃分為至少兩個磁盤組。
[0059] 在本發(fā)明一個實(shí)施例中,針對于需要進(jìn)行磁盤組亂序驗(yàn)證的服務(wù)器,根據(jù)需求將 服務(wù)器上的各個磁盤劃分為至少兩個磁盤組,每個磁盤組包括至少一個磁盤,其中,每個磁 盤組中所包括磁盤的盤符可W是連續(xù)的,也可W是不連續(xù)的,磁盤組的劃分可W根據(jù)客戶 需求及應(yīng)用環(huán)境任意確定。
[0060] 例如,服務(wù)器A上共包括有33個硬盤,其中前26個硬盤的盤符為a至Z,后7個硬盤的 盤符分別為日日、日13、日(3、日(1、日6加及日旨,根據(jù)客戶的需求,將33個硬盤劃分為4個磁盤組,分別 為磁盤組化derl至磁盤組化der4,其中磁盤組化derl包括硬盤a至硬盤g共7個硬盤,磁盤組 化der2包括硬盤h至硬盤n共7個硬盤,磁盤組化der3包括硬盤O、硬盤P、硬盤q、硬盤r、硬盤 S、硬盤t、硬盤aa、硬盤ac、硬盤ae及硬盤ag共10個硬盤,磁盤組0rder4包括硬盤U、硬盤V、硬 盤W、硬盤X、硬盤y、硬盤Z、硬盤ab、硬盤ad、硬盤af共9個硬盤。
[0061 ] 步驟202:針對于每一個磁盤組,獲取該磁盤組中各個磁盤的第一序列號,并形成 包括該磁盤組中各個磁盤第一序列號的標(biāo)準(zhǔn)文件。
[0062] 在本發(fā)明一個實(shí)施例中,對磁盤組劃分完成后,針對于每一個被劃分出來的磁盤 組,分別獲取該磁盤組中包括的每一個磁盤的序列號,將獲取到的序列號作為對應(yīng)磁盤的 第一序列號,獲取到該磁盤組中各個磁盤的第一序列號后,將獲取到的各個第一序列號存 儲到一個文件中,形成對應(yīng)于該磁盤組的標(biāo)準(zhǔn)文件。采用相同的方法,獲取到各個磁盤組對 應(yīng)的標(biāo)準(zhǔn)文件。
[0063] 例如,通過腳本程序base. Sh,分別形成4個磁盤組對應(yīng)的標(biāo)準(zhǔn)文件,針對于磁盤組 Orderl,獲取硬盤a的序列號作為第一序列號1,獲取硬盤b的序列號作為第一序列號2,獲取 硬盤C的序列號作為第一序列號3、獲取硬盤d的序列號作為第一序列號4、獲取硬盤e的序列 號作為第一序列號5,獲取硬盤f的序列號作為第一序列號6,獲取硬盤g的序列號作為第二 序列號7,將第一序列號1至第一序列號7存儲到一個文件中形成對應(yīng)于磁盤組化derl的標(biāo) 準(zhǔn)文件base_one. txt;相應(yīng)地,將硬盤h至硬盤n對應(yīng)的第一序列號8至第一序列號14存儲到 一個文件中形成對應(yīng)于磁盤組化der2的標(biāo)準(zhǔn)文件base_two.txt;將硬盤O至硬盤t對應(yīng)的第 一序列號15至第一序列號20, W及硬盤aa對應(yīng)的第一序列號27、硬盤ac對應(yīng)的第一序列號 29、硬盤ae對應(yīng)的第一序列號31、硬盤ag對應(yīng)的第一序列號33存儲到一個文件中形成對應(yīng) 于磁盤組化der3的標(biāo)準(zhǔn)文件base_tbee. txt;將硬盤U至硬盤Z對應(yīng)的第一序列號21至第一 序列號26, W及硬盤ab對應(yīng)的第一序列號28、硬盤ad對應(yīng)的第一序列號30、硬盤af對應(yīng)的第 一序列號32存儲到一個文件中形成對應(yīng)于磁盤組化der4的標(biāo)準(zhǔn)文件base_fou;r. txt。
[0064] 在本發(fā)明實(shí)施例中,具體的腳本程序base.S咖下所示,其中W研頭的行為注釋內(nèi)容: [00化]#!/bin/bash
[0066] #此處是生成磁盤組化derl的標(biāo)準(zhǔn)文件base_one . txt,里面包括硬盤a之硬盤g的 序列號
[0067] for Orderlin{a,b,c,d,e,f,g}
[00 側(cè) do
[0069] smartctl-a/dev/sd$OrderlIgrep-i"serial number"〉〉/root/order/base_ one.txt
[0070] done
[0071 ] #此處是生成磁盤組化der2的標(biāo)準(zhǔn)文件base_two . txt,里面包括硬盤h至硬盤n的 序列號
[0072] for 0rder2in{h,i,j,k,1,m,n}
[0073] do
[0074] smartctl-a/dev/sd$0rder2Igrep-i"serial number"〉〉/root/order/base_ two.txt
[0075] done
[0076] #此處是生成磁盤組化der3的標(biāo)準(zhǔn)文件base_three . txt,里面包括硬盤O至硬盤X W及硬盤aa、ac、ae及ag的序列號
[0077] for OrderSinjo,p,q,r,s,t,曰曰,曰C,曰e,曰邑}
[007引 do
[0079] smartctl-a/dev/sd$0rder2Igrep-i"serial number"〉〉/root/order/base_ three.txt
[0080] done
[0081 ] #此處是生成磁盤組化der4的標(biāo)準(zhǔn)文件base_fou;r. txt,里面包括硬盤U至硬盤Z W 及硬盤ab、ad及af的序列號
[0082] for 0rder4in{u,v,w,x,y,z,ab,ad,af}
[0083] do
[0084] smartctl-a/dev/sd$0rder2Igrep-i"serial number"〉〉/root/order/base_ four.txt
[0085] done
[0086] 步驟203:對服務(wù)器進(jìn)行重啟,將服務(wù)器已經(jīng)重啟的次數(shù)存儲到預(yù)設(shè)的日志文件 中,并將上一次重啟后產(chǎn)生的測試文件刪除。
[0087] 在本發(fā)明一個實(shí)施例中,獲取到各個磁盤組對應(yīng)的標(biāo)準(zhǔn)文件后,對服務(wù)器進(jìn)行重 啟。預(yù)先設(shè)定一個初始值為1的重啟計(jì)數(shù)值,服務(wù)器每重啟一次重啟計(jì)數(shù)值都會加1,該重啟 計(jì)數(shù)值保存在計(jì)數(shù)文件中,服務(wù)器重啟后從計(jì)數(shù)文件中讀取重啟計(jì)數(shù)值,并將讀取到的重 啟計(jì)數(shù)值從存儲到預(yù)先設(shè)定的日志文件中。
[0088] 例如,服務(wù)器A重啟后,通過腳本程序從計(jì)數(shù)文件中讀取重啟計(jì)數(shù)值,將讀取到的 重啟計(jì)數(shù)值存儲到日志文件log中,并將服務(wù)器在上一次重啟后形成的4個測試文件temp_ one. txt、temp_two. txt、temp_three . txt及temp_f our. txt刪除。具體的腳本程序如下,其 中W #開頭的行為注釋內(nèi)容:
[0089] #!/bin/bash
[0090] 下為讀取重啟計(jì)數(shù)值
[0091] Times =- cat/root/count -
[0092] sleep 45
[0093] #輸出已經(jīng)重啟多少次到日志文件log
[0094] echo'^This is$Times times test!''?/root/order/log [00 巧]cd/root/order/
[0096] #刪除上一次重啟時生成的temp_xx.txt系列文件
[0097] rm-rf temp_*
[0098] 步驟204:針對于每一個磁盤組,獲取該磁盤組中各個磁盤的第二序列號,并形成 包括該磁盤組中各個磁盤第二序列號的測試文件。
[0099] 在本發(fā)明一個實(shí)施例中,服務(wù)器重啟后,針對于每一個磁盤組,分別獲取該磁盤中 包括的每一個磁盤的序列號,將獲取到的序列號作為對應(yīng)磁盤的第二序列號,獲取到該磁 盤中各個磁盤的第二序列號后,將獲取到的各個第二序列號存儲到一個文件中,形成對應(yīng) 于該磁盤組的測試文件。采用相同的方法,獲取到各個磁盤組對應(yīng)的測試文件。
[0100] 例如,通過腳本程序,分別形成4個磁盤組對應(yīng)的測試文件。針對于磁盤組化derl, 獲取盤符分別為a至g的7個硬盤的序列號,每個盤符對應(yīng)的序列號作為該盤符對應(yīng)硬盤的 第二序列號,共獲取到7個第二序列號,將運(yùn)7個第二序列號存儲到一個文件中形成對應(yīng)于 磁盤組化derl的測試文件temp_one . txt;相應(yīng)地,獲取盤符分別為h至n的7個硬盤對應(yīng)的7 個第二序列號,將運(yùn)7個第二序列號存儲到一個文件中形成對應(yīng)于磁盤組化der2的測試文 件temp_two . txt;獲取盤符分別為〇至1:^及曰曰、曰(3、曰6、曰旨的10個硬盤對應(yīng)的10個第二序列 號,將運(yùn)10個第二序列號存儲到一個文件中形成對應(yīng)于磁盤組化der3的測試文件temp_ three, txt;獲取盤符分別為U至Z W及ab、ad、af的9個硬盤對應(yīng)的9個第二序列號,將運(yùn)9個 第二序列號存儲到一個文件中形成對應(yīng)于磁盤組化der4的測試文件temp_fou;r. txt。
[0101] 在本發(fā)明實(shí)施例中,執(zhí)行本步驟的腳本程序如下所示,其中W#開頭的行為注釋內(nèi) 容:
[0102] #此處是生成包括有當(dāng)前磁盤組化derl中各個硬盤序列號的測試文件temp_ one.txt,里面包括盤符為a至g的7個硬盤的序列號。
[0103] for 0rderlin{a,b,c,d,e,f,g}
[0104] do
[0105] smartctl-a/dev/sd$0rderlIgr邱-!"serial number"|awk'{print$3}'〉〉/root/ order/temp_one.txt
[0106] done
[0107] #此處是生成包括有當(dāng)前磁盤組化der2中各個硬盤序列號的測試文件temp_ two. txt,里面包括盤符為h至n的7個硬盤的序列號。
[010引 for 0rder2in{h,i,j,k,l,m,n}
[0109] do
[0110] smartctl-a/dev/sd$0rder2Igr邱-!"serial number"|awk'{print$3}'〉〉/root/ order/temp_two.txt
[0111] done
[0112] #此處是生成包括有當(dāng)前磁盤組化der3中各個硬盤序列號的測試文件temp_ t虹ee. txt,里面包括盤符為〇至1:^及日日、日(3、日日、日旨共10個硬盤的序列號。
[0113] for OrderSinjo,p,q,r,s,t,曰曰,曰C,曰e,曰邑}
[0114] do
[0115] smartctl-a/dev/sd$0rder3Igr邱-!"serial number"|awk'{print$3}'〉〉/root/ order/temp_three.txt
[0116] done
[0117] #此處是生成包括有當(dāng)前磁盤組化der4中各個硬盤序列號的測試文件temp_ four, txt,里面包括盤符為U至Z W及ab、ad、af共9個硬盤的序列號。
[0118] for 0rder4in{u,v,w,x,y,z,ab,ad,af}
[0119] do
[0120] smartctl-a/dev/sd$0rder4Igr邱-!"serial number"|awk'{print$3}'〉〉/root/ order/temp_four.txt
[0121] done
[0122] 步驟205:判斷各個磁盤組中是否存在至少一個磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文 件不同,如果是,執(zhí)行步驟206,否則執(zhí)行步驟207。
[0123] 在本發(fā)明一個實(shí)施例中,對各個磁盤組進(jìn)行排序,排序完成后從第一磁盤組開始, 將當(dāng)前磁盤組對應(yīng)的測試文件中的各個第二序列號與當(dāng)前磁盤組對應(yīng)的標(biāo)準(zhǔn)文件中的各 個第一序列號進(jìn)行對比,如果當(dāng)前磁盤組對應(yīng)的測試文件中存在至少一個第二序列號與當(dāng) 前磁盤組對應(yīng)的標(biāo)準(zhǔn)文件中任意一個第一序列號都不相同,說明服務(wù)器重啟后當(dāng)前磁盤組 中某一個盤符對應(yīng)的原有磁盤被其他磁盤組中的磁盤代替,判斷當(dāng)前磁盤組發(fā)生亂序,停 止對后續(xù)磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比,相應(yīng)地執(zhí)行步驟206;如果當(dāng)前磁盤 組對應(yīng)的測試文件中每一個第二序列號在當(dāng)前磁盤組對應(yīng)的標(biāo)準(zhǔn)文件中都有與之相同的 第一序列號相對應(yīng),則根據(jù)磁盤組排序?qū)ο乱粋€磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對 tk,如果最后一個磁盤組對應(yīng)的測試文件中每一個第二序列號在最后一個磁盤組對應(yīng)的標(biāo) 準(zhǔn)文件中都與之相同的第一序列號相對應(yīng),則說明服務(wù)器重啟后各個磁盤組中包括的磁盤 沒有發(fā)生變化,判斷磁盤組沒有發(fā)生亂序,相應(yīng)地執(zhí)行步驟207。
[0124] 例如,對4個磁盤組進(jìn)行排序,排序結(jié)果為磁盤組化derl-磁盤組化der2-磁盤組 化der3-磁盤組化der4,通過腳本程序,首先將磁盤組化der 1對應(yīng)的測試文件temp_one. txt中 的7個第二序列號分別與磁盤組化derl對應(yīng)的標(biāo)準(zhǔn)文件base_one.txt中的7個第一序列號進(jìn) 行對比,如果測試文件temp_one. txt中有一個或多個第二序列號與標(biāo)準(zhǔn)文件base_one. txt中 的任意一個第一序列號都不相同,判斷磁盤組化derl發(fā)生亂序,停止對后續(xù)3個磁盤組中測 試文件與標(biāo)準(zhǔn)文件進(jìn)行對比,相應(yīng)地執(zhí)行步驟206;如果測試文件temp_one.txt中每一個第 二序列號在標(biāo)準(zhǔn)文件base_one.txt中都有與之相同的第一序列號相對應(yīng),則通過相同的方 法對磁盤組化der2對應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比,如果最后一個磁盤組化der4對應(yīng) 的測試文件temp_four. txt中每一個第二序列號在標(biāo)準(zhǔn)文件base_four. txt中都有與之相 同的第一序列號相對應(yīng),則判斷服務(wù)器A上的磁盤組沒有發(fā)生亂序,相應(yīng)地的執(zhí)行步驟207。
[0125] 在本發(fā)明實(shí)施例中,執(zhí)行上述測試文件與標(biāo)準(zhǔn)文件對比過程的腳本程序如下所 示,其中開頭的行為注釋內(nèi)容:
[01%] #對磁盤組化derl對應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行比對
[0127;
[0128;
[0127;
[0129
[0130] 步驟206:確定磁盤組發(fā)生亂序,向日志文件中存儲記錄磁盤組發(fā)生亂序的第一記 錄消息,并執(zhí)行步驟208。
[0131] 在本發(fā)明一個實(shí)施例中,當(dāng)判斷出服務(wù)器上各個磁盤組中包括至少一個磁盤組對 應(yīng)的測試文件與標(biāo)準(zhǔn)文件不同后,確定磁盤組發(fā)生亂序,向日志文件中輸出磁盤組已經(jīng)發(fā) 生亂序的第一記錄消息,在日志文件中記錄本次對磁盤組亂序進(jìn)行驗(yàn)證的結(jié)果為磁盤組發(fā) 生亂序,之后執(zhí)行步驟208。
[0132] 例如,通過步驟205中提供的腳本程序,當(dāng)判斷一個磁盤組發(fā)生亂序后,向日志文 件log中輸出error信息,并記錄具體是哪一個磁盤組發(fā)生了亂序,記錄完成后執(zhí)行步驟208 確定是否需要繼續(xù)對服務(wù)器進(jìn)行重啟。
[0133] 步驟207:確定磁盤組未發(fā)生亂序,向日志文件中存儲記錄磁盤組未發(fā)生亂序的第 二記錄消息。
[0134] 在本發(fā)明一個實(shí)施例中,當(dāng)依次判斷最后一個磁盤組對應(yīng)的測試文件中每一個第 二序列號在該磁盤組對應(yīng)的標(biāo)準(zhǔn)文件中都有與之相同的第一序列號后,確定服務(wù)器上的各 個磁盤組沒有發(fā)生亂序,向日志文件中輸出磁盤組未發(fā)生亂序的第二記錄消息,在日志文 件中記錄本次對磁盤組亂序進(jìn)行驗(yàn)證的結(jié)果為磁盤組未發(fā)生亂序。
[0135] 例如,通過腳本程序,當(dāng)判斷最后一個磁盤組化der4未發(fā)生亂序后,向日志文件 log中輸出OK信息,記錄該次對服務(wù)器A上各個磁盤組進(jìn)行亂序驗(yàn)證的結(jié)果為未發(fā)生亂序。
[0136] 在本發(fā)明實(shí)施例中記錄OK信息的腳本程序如下:
[0137] echo''OK''?/root/order/log
[0138] 步驟208:判斷重啟計(jì)數(shù)值是否達(dá)到預(yù)設(shè)的驗(yàn)證次數(shù),如果是,結(jié)束當(dāng)前流程,否則 執(zhí)行步驟209。
[0139] 在本發(fā)明一個實(shí)施例中,在將第一記錄消息或第二記錄消息存儲到日志文件中之 后,從計(jì)數(shù)文件中獲取重啟計(jì)數(shù)次數(shù),將獲取到的重啟計(jì)數(shù)次數(shù)與預(yù)先設(shè)定的驗(yàn)證次數(shù)進(jìn) 行比較,判斷重啟計(jì)數(shù)值是否等于或大于驗(yàn)證次數(shù),如果是,說明對磁盤組進(jìn)行亂序驗(yàn)證的 次數(shù)已經(jīng)達(dá)到了要求的次數(shù),相應(yīng)地結(jié)束當(dāng)前流程,否則說明對磁盤組進(jìn)行驗(yàn)證的次數(shù)還 沒有要求的次數(shù),需要繼續(xù)對磁盤組進(jìn)行亂序驗(yàn)證,相應(yīng)地執(zhí)行步驟209。
[0140] 例如,預(yù)先設(shè)定的驗(yàn)證次數(shù)為500,將獲取到的重啟計(jì)數(shù)值與500進(jìn)行比較,如果重 啟計(jì)數(shù)值等于或大于500,說明對服務(wù)器A上磁盤組進(jìn)行亂序驗(yàn)證的次數(shù)已經(jīng)達(dá)到要求的次 數(shù),結(jié)束當(dāng)前流程,結(jié)束整個磁盤組亂序驗(yàn)證的過程,如果重啟計(jì)數(shù)值小于500,說明對服務(wù) 器A上磁盤組進(jìn)行亂序驗(yàn)證的次數(shù)還沒有達(dá)到要求的次數(shù),需要繼續(xù)對服務(wù)器A的磁盤組進(jìn) 行亂序驗(yàn)證,相應(yīng)地執(zhí)行步驟209。
[0141] 步驟209:將重啟計(jì)數(shù)值加1,并執(zhí)行步驟203。
[0142] 在本發(fā)明一個實(shí)施例中,在判斷重啟計(jì)數(shù)值沒有達(dá)到驗(yàn)證次數(shù)后,將重啟計(jì)數(shù)值 加 1后重新存儲到計(jì)數(shù)文件中,并覆蓋計(jì)數(shù)文件中原有的重啟計(jì)數(shù)值,然后執(zhí)行步驟203開 始下一輪對磁盤組進(jìn)行亂序驗(yàn)證。
[0143] 例如,通過腳本程序?qū)χ貑⒂?jì)數(shù)值加1后,執(zhí)行步驟203,重新開始下一輪對服務(wù)器 A上磁盤組進(jìn)行亂序驗(yàn)證,直至驗(yàn)證次數(shù)達(dá)到500詞。其中,對重啟計(jì)數(shù)值加1的腳本程序如 下:
[0144] Times = 'echo$Times+l | bc'
[0145] echo$T imes>/root/count
[0146] reboot
[0147] 需要說明的是,上述發(fā)明實(shí)施例提供的是在Linux操作系統(tǒng)下對磁盤組進(jìn)行亂序 驗(yàn)證的方法,在其他操作系統(tǒng)下對磁盤組進(jìn)行亂序驗(yàn)證的方法與該實(shí)施例提供的驗(yàn)證方法 思想一致,僅需對相應(yīng)地腳本程序進(jìn)行修改,在此不再進(jìn)行寶述。
[014引如圖3、圖4所示,本發(fā)明實(shí)施例提供了一種磁盤組亂序驗(yàn)證的裝置。裝置實(shí)施例可 W通過軟件實(shí)現(xiàn),也可W通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。從硬件層面而言,如圖3所 示,為本發(fā)明實(shí)施例提供的磁盤組亂序驗(yàn)證的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所 示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、W及非易失性存儲器之外,實(shí)施例中裝置所在的設(shè)備通常還 可W包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)忍片等等。W軟件實(shí)現(xiàn)為例,如圖4所示,作為一 個邏輯意義上的裝置,是通過其所在設(shè)備的CP閑尋非易失性存儲器中對應(yīng)的計(jì)算機(jī)程序指 令讀取到內(nèi)存中運(yùn)行形成的。本實(shí)施例提供的磁盤組亂序驗(yàn)證的裝置,包括:劃分單元401、 第一形成單元402、重啟單元403、第二形成單元404及判斷單元405;
[0149] 劃分單元401,用于將服務(wù)器上的至少兩個磁盤劃分為至少兩個磁盤組,每一個磁 盤組包括至少一個磁盤;
[0150] 第一形成單元402,用于針對于劃分單元401劃分出的每一個磁盤組,獲取該磁盤 組中各個磁盤的第一序列號,形成包括各個第一序列號的標(biāo)準(zhǔn)文件;
[0151 ]重啟單元403,用于對服務(wù)器進(jìn)行重啟;
[0152] 第二形成單元404,用于針對于劃分單元401劃分出的每一個磁盤組,獲取重啟單 元403對服務(wù)器重啟后該磁盤組中各個磁盤的第二序列號,形成包括各個第二序列號的測 試文件;
[0153] 判斷單元405,用于判斷各個磁盤組中是否存在至少一個磁盤組對應(yīng)的由第二形 成單元404形成的測試文件與對應(yīng)的由第一形成單元402形成的標(biāo)準(zhǔn)文件不同,如果是,確 定磁盤組發(fā)生亂序,否則確定未發(fā)生亂序。
[0154] 在本發(fā)明一個實(shí)施例中,判斷單元405,用于對各個磁盤組進(jìn)行排序,依次對各個 磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比;如果任意一個磁盤組對應(yīng)的測試文件中包括 至少一個第二序列號與該磁盤組對應(yīng)的標(biāo)準(zhǔn)文件中包括的各個第一序列號均不相同,則停 止依次對各個磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比,并確定磁盤組發(fā)生亂序;如果 任意一個磁盤組對應(yīng)的測試文件包括的各個第二序列號,在于該磁盤組相對應(yīng)的標(biāo)準(zhǔn)文件 中均包括與之相同的第一序列號,則確定磁盤組未發(fā)生亂序。
[0155] 在本發(fā)明一個實(shí)施例中,如圖5所述,該裝置進(jìn)一步包括:記錄單元406;
[0156] 記錄單元406,用于根據(jù)判斷單元405的判斷結(jié)果,如果是,將記錄磁盤組發(fā)生亂序 的第一記錄信息存儲到預(yù)先創(chuàng)建的日志文件中,否則將記錄磁盤組未發(fā)生亂序的第二記錄 文件存儲到日志文件中。
[0157] 在本發(fā)明一個實(shí)施例中,如圖5所示,重啟單元403,進(jìn)一步用于在記錄單元406將 第一記錄信息或第二記錄信息存儲到日志文件中之后,判斷預(yù)先設(shè)定的重啟計(jì)數(shù)值是否達(dá) 到預(yù)先設(shè)定的驗(yàn)證次數(shù),如果否,將重啟計(jì)數(shù)值加1,并執(zhí)行對服務(wù)器進(jìn)行重啟,其中重啟計(jì) 數(shù)值的初始值為1。
[0158] 在本發(fā)明一個實(shí)施例中,如圖5所示,重啟單元403,進(jìn)一步用于在對服務(wù)器進(jìn)行重 啟之后,將重啟計(jì)數(shù)值輸入到所述日志文件中。
[0159] 上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施 例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再寶述。
[0160] 本發(fā)明提供的各個實(shí)施例,至少具有如下有益效果:
[0161] 1、本發(fā)明實(shí)施例中,將服務(wù)器上的各個磁盤劃分為至少兩個磁盤組,針對于每一 個磁盤組,形成包括該磁盤組中各個磁盤的第一序列號的標(biāo)準(zhǔn)文件,重啟服務(wù)器后,針對于 每一個磁盤組,形成包括該磁盤組中各個磁盤的第二序列號的測試文件,判斷各個磁盤組 中是否存在至少一個磁盤組對應(yīng)的測試文件與對應(yīng)的標(biāo)準(zhǔn)文件不同,如果是,確定磁盤組 發(fā)生亂序,否則確定所述磁盤組未發(fā)生亂序。由于序列號是磁盤的唯一標(biāo)識,無論磁盤組是 否發(fā)生亂序,磁盤的序列號不會發(fā)生改變,通過對比服務(wù)器重啟前后各個磁盤組包括的序 列號是否相同,可W判斷出磁盤組是否發(fā)生亂序,運(yùn)種磁盤組亂序驗(yàn)證的方法不受磁盤盤 符的影響,可W對磁盤組進(jìn)行任意劃分,因而可W實(shí)現(xiàn)對包括不連續(xù)盤符的磁盤組進(jìn)行亂 序驗(yàn)證。
[0162] 2、本發(fā)明實(shí)施例中,在判斷各個磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件是否相同時, 首先對各個磁盤組進(jìn)行排序,依次判斷各個磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件是否相同, 當(dāng)判斷出一個磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件包括的序列號不同后,直接判斷磁盤組發(fā) 生了亂序,不再對后面的磁盤組進(jìn)行判斷,運(yùn)樣可W減小磁盤組亂序驗(yàn)證所需的時間,提高 磁盤組亂序驗(yàn)證的效率。
[0163] 3、本發(fā)明實(shí)施例中,每次對服務(wù)器進(jìn)行重啟之前,對重啟計(jì)數(shù)值進(jìn)行加1,運(yùn)樣通 過重啟計(jì)數(shù)值便可W確定已經(jīng)對磁盤組進(jìn)行亂序驗(yàn)證的次數(shù),通過將重啟計(jì)數(shù)值與預(yù)設(shè)的 驗(yàn)證次數(shù)值進(jìn)行比較,可W判斷對磁盤組進(jìn)行亂序驗(yàn)證的次數(shù)是否達(dá)到了要求的次數(shù),從 而實(shí)現(xiàn)驗(yàn)證次數(shù)達(dá)到要求后自動停止驗(yàn)證過程,提高了對磁盤組進(jìn)行亂序驗(yàn)證的易操作 性。
[0164] 4、本發(fā)明實(shí)施例中,在判斷磁盤組發(fā)生或未發(fā)生亂序后,在日志文件中記錄驗(yàn)證 結(jié)果,并結(jié)束該驗(yàn)證結(jié)果對應(yīng)的驗(yàn)證次數(shù),通過日志文件可W確定對磁盤組進(jìn)行亂序驗(yàn)證 的每一次驗(yàn)證結(jié)果,方便對磁盤組穩(wěn)定性進(jìn)行評判W及后續(xù)查驗(yàn)。
[0165] 需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體 或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示運(yùn)些實(shí)體或操作之間存在 任何運(yùn)種實(shí)際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋非 排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素, 而且還包括沒有明確列出的其他要素,或者是還包括為運(yùn)種過程、方法、物品或者設(shè)備所固 有的要素。在沒有更多限制的情況下,由語句"包括一個 ....."限定的要素,并不排 除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0166] 本領(lǐng)域普通技術(shù)人員可W理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可W通過 程序指令相關(guān)的硬件來完成,前述的程序可W存儲在計(jì)算機(jī)可讀取的存儲介質(zhì)中,該程序 在執(zhí)行時,執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:R〇M、RAM、磁碟或者光 盤等各種可W存儲程序代碼的介質(zhì)中。
[0167] 最后需要說明的是:W上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說明本發(fā)明的技 術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、 等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種磁盤組亂序驗(yàn)證的方法,其特征在于,將服務(wù)器上的至少兩個磁盤劃分為至少 兩個磁盤組,每一個所述磁盤組包括至少一個磁盤,還包括: 針對于每一個所述磁盤組,獲取該磁盤組中各個磁盤的第一序列號,形成包括各個所 述第一序列號的標(biāo)準(zhǔn)文件; 對所述服務(wù)器進(jìn)行重啟; 針對于每一個所述磁盤組,獲取所述服務(wù)器重啟后該磁盤組中各個磁盤的第二序列 號,形成包括各個所述第二序列號的測試文件; 判斷各個所述磁盤組中是否存在至少一個磁盤組對應(yīng)的測試文件與對應(yīng)的標(biāo)準(zhǔn)文件 不同,如果是,確定所述磁盤組發(fā)生亂序,否則確定所述磁盤組未發(fā)生亂序。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述判斷各個所述磁盤組中是否存在至少一個磁盤組對應(yīng)的測試文件與對應(yīng)的標(biāo)準(zhǔn) 文件不同包括: 對所述各個磁盤組進(jìn)行排序,依次對各個所述磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行 對比; 如果任意一個所述磁盤組對應(yīng)的測試文件包括中至少一個第二序列號與該磁盤組對 應(yīng)的標(biāo)準(zhǔn)文件中包括的各個第一序列號均不相同,則停止所述依次對各個所述磁盤組對應(yīng) 的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比,并確定所述磁盤組發(fā)生亂序; 如果任意一個所述磁盤組對應(yīng)的測試文件包括的各個第二序列號,在與該磁盤組相對 應(yīng)的標(biāo)準(zhǔn)文件中均包括與之相同的第一序列號,則確定所述磁盤組未發(fā)生亂序。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于, 在所述判斷各個所述磁盤組中是否存在至少一個磁盤組對應(yīng)的測試文件與對應(yīng)的標(biāo) 準(zhǔn)文件不同之后進(jìn)一步包括: 根據(jù)判斷結(jié)果,如果是,將記錄所述磁盤組發(fā)生亂序的第一記錄信息存儲到預(yù)先創(chuàng)建 的日志文件中,否則將記錄所述磁盤組未發(fā)生亂序的第二記錄信息存儲到所述日志文件 中。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于, 在將所述第一記錄信息或所述第二記錄信息存儲到所述日志文件中之后進(jìn)一步包括: 判斷預(yù)先設(shè)定的重啟計(jì)數(shù)值是否達(dá)到預(yù)先設(shè)定的驗(yàn)證次數(shù),如果否,將所述重啟計(jì)數(shù) 值加1,并執(zhí)行所述對所述服務(wù)器進(jìn)行重啟,其中所述重啟計(jì)數(shù)值的初始值為1。5. 根據(jù)權(quán)利要求4中任一所述的方法,其特征在于, 在所述對所述服務(wù)器進(jìn)行重啟之后進(jìn)一步包括: 將所述重啟計(jì)數(shù)值輸入到所述日志文件中。6. -種磁盤組亂序驗(yàn)證的裝置,其特征在于,包括:劃分單元、第一形成單元、重啟單 元、第二形成單元及判斷單元; 所述劃分單元,用于將服務(wù)器上的至少兩個磁盤劃分為至少兩個磁盤組,每一個磁盤 組包括至少一個磁盤; 所述第一形成單元,用于針對于所述劃分單元劃分出的每一個磁盤組,獲取該磁盤組 中各個磁盤的第一序列號,形成包括各個所述第一序列號的標(biāo)準(zhǔn)文件; 所述重啟單元,用于對所述服務(wù)器進(jìn)行重啟; 所述第二形成單元,用于針對于所述劃分單元劃分出的每一個磁盤組,獲取所述重啟 單元對服務(wù)器重啟后該磁盤組中各個磁盤的第二序列號,形成包括各個所述第二序列號的 測試文件; 所述判斷單元,用于判斷各個所述磁盤組中是否存在至少一個磁盤組對應(yīng)的由第二形 成單元形成的測試文件與對應(yīng)的由第一形成單元形成的標(biāo)準(zhǔn)文件不同,如果是,確定所述 磁盤組發(fā)生亂序,否則確定所述未發(fā)生亂序。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述判斷單元,用于對所述各個磁盤組進(jìn)行排序,依次對各個所述磁盤組對應(yīng)的測試 文件與標(biāo)準(zhǔn)文件進(jìn)行對比;如果任意一個所述磁盤組對應(yīng)的測試文件中包括至少一個第二 序列號與該磁盤組對應(yīng)的標(biāo)準(zhǔn)文件中包括的各個第一序列號均不相同,則停止所述依次對 各個所述磁盤組對應(yīng)的測試文件與標(biāo)準(zhǔn)文件進(jìn)行對比,并確定所述磁盤組發(fā)生亂序;如果 任意一個所述磁盤組對應(yīng)的測試文件包括的各個第二序列號,在于該磁盤組相對應(yīng)的標(biāo)準(zhǔn) 文件中均包括與之相同的第一序列號,則確定所述磁盤組未發(fā)生亂序。8. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,進(jìn)一步包括:記錄單元; 所述記錄單元,用于根據(jù)所述判斷單元的判斷結(jié)果,如果是,將記錄所述磁盤組發(fā)生亂 序的第一記錄信息存儲到預(yù)先創(chuàng)建的日志文件中,否則將記錄所述磁盤組未發(fā)生亂序的第 二記錄文件存儲到所述日志文件中。9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述重啟單元,進(jìn)一步用于在所述記錄單元將所述第一記錄信息或所述第二記錄信息 存儲到所述日志文件中之后,判斷預(yù)先設(shè)定的重啟計(jì)數(shù)值是否達(dá)到預(yù)先設(shè)定的驗(yàn)證次數(shù), 如果否,將所述重啟計(jì)數(shù)值加1,并執(zhí)行所述對所述服務(wù)器進(jìn)行重啟,其中所述重啟計(jì)數(shù)值 的初始值為1。10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于, 所述重啟單元,進(jìn)一步用于在對所述服務(wù)器進(jìn)行重啟之后,將所述重啟計(jì)數(shù)值輸入到 所述日志文件中。
【文檔編號】G06F11/22GK106021048SQ201610326541
【公開日】2016年10月12日
【申請日】2016年5月17日
【發(fā)明人】閆碩
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司