專利名稱:一種實(shí)現(xiàn)高端磁盤陣列的磁盤定位方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及海量存儲(chǔ)系統(tǒng),尤其涉及海量存儲(chǔ)系統(tǒng)實(shí)現(xiàn)高端磁盤陣列的磁盤定位方法及裝置。
背景技術(shù):
隨著數(shù)字圖書館、電子商務(wù)以及多媒體傳輸?shù)葢?yīng)用的不斷發(fā)展,尤其是金融電信、 勘探勘測(cè)、生物工程、氣象以及能源等海量數(shù)據(jù)業(yè)務(wù)的應(yīng)用,數(shù)據(jù)從GB( = 1024MB), TB (= 1024GB)到PB(= 1024TB)量級(jí)海量急速增長(zhǎng)。存儲(chǔ)產(chǎn)品已不再是附屬于服務(wù)器的輔助設(shè)備,而成為互聯(lián)網(wǎng)中最主要的花費(fèi)所在。海量存儲(chǔ)已成為繼計(jì)算機(jī)浪潮和互聯(lián)網(wǎng)浪潮之后的第三次浪潮,磁盤陣列與網(wǎng)絡(luò)存儲(chǔ)成為先鋒。對(duì)于在海量存儲(chǔ)系統(tǒng)中使用的高端磁盤陣列,從磁盤種類和可用容量的角度來(lái)講,高端磁盤陣列最少具有500個(gè)磁盤,容量為TB級(jí),最多具有MOO個(gè)磁盤,容量為PB級(jí)。當(dāng)前,針對(duì)海量存儲(chǔ)系統(tǒng)數(shù)據(jù)量的急劇增長(zhǎng),需在系統(tǒng)的可擴(kuò)展性方面進(jìn)行較為詳細(xì)的設(shè)計(jì),包括磁盤快速定位功能,要求系統(tǒng)能夠在很短的時(shí)間內(nèi)從軟件層次快速定位到磁盤所在位置,尤其是快速定位故障磁盤,這是提高海量存儲(chǔ)系統(tǒng)可靠性的一個(gè)關(guān)鍵問(wèn)題。而對(duì)于高端存儲(chǔ)設(shè)備廠商,例如美國(guó)易安信(EMC)、3PAR等廠商,均未向用戶披露如何快速、準(zhǔn)確定位磁盤位置的技術(shù)方案,這無(wú)疑對(duì)用戶使用和維護(hù)系統(tǒng)帶來(lái)極大的不便和限制。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種實(shí)現(xiàn)在高端磁盤陣列中磁盤定位方法及裝置,能夠迅速定位高端磁盤陣列中的磁盤。為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種實(shí)現(xiàn)高端磁盤陣列的磁盤定位方法, 包括根據(jù)磁盤的名稱通過(guò)磁盤與操作系統(tǒng)之間的協(xié)議獲取該磁盤的地址;根據(jù)獲取的磁盤的地址通過(guò)所述協(xié)議查詢?cè)摯疟P所在擴(kuò)展器內(nèi)磁盤的地址,由此確定該磁盤的物理位置。進(jìn)一步地,所述協(xié)議為小型計(jì)算機(jī)系統(tǒng)接口 SCSI協(xié)議,根據(jù)磁盤的名稱通過(guò)磁盤與操作系統(tǒng)之間的協(xié)議獲取該磁盤的地址,具體包括根據(jù)磁盤的名稱查詢SCSI協(xié)議的0x83協(xié)議頁(yè)信息,獲取到該磁盤的串行連接 SCSI地址,即磁盤的SAS地址。進(jìn)一步地,根據(jù)獲取的磁盤的地址通過(guò)所述協(xié)議查詢?cè)摯疟P所在擴(kuò)展器內(nèi)磁盤的地址,由此確定該磁盤的物理位置,具體包括查詢高端磁盤陣列中所有的擴(kuò)展器,并針對(duì)每一擴(kuò)展器查詢SCSI協(xié)議的OxA協(xié)議頁(yè),獲取擴(kuò)展器上所有磁盤的SAS地址和槽位信息;根據(jù)磁盤的SAS地址查詢每一個(gè)擴(kuò)展器中磁盤的SAS地址,確定磁盤對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)。進(jìn)一步地,該方法還包括通過(guò)SCSI協(xié)議找到磁盤的狀態(tài)信息標(biāo)志位,更改該標(biāo)志位的狀態(tài)信息以指示該磁盤的物理位置。進(jìn)一步地,通過(guò)SCSI協(xié)議找到磁盤的狀態(tài)信息標(biāo)志位,更改該標(biāo)志位的狀態(tài)信息以指示該磁盤的物理位置,具體包括根據(jù)獲取的磁盤對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)查詢SCSI協(xié)議0x2協(xié)議頁(yè)相應(yīng)的數(shù)組信息,根據(jù)所述磁盤的槽位號(hào)定位到數(shù)組信息中相應(yīng)的磁盤的狀態(tài)信息標(biāo)志位;將標(biāo)志位的狀態(tài)信息更改為定位指示信息,將修改后的數(shù)組信息以發(fā)送命令形式寫回所述擴(kuò)展器。為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種實(shí)現(xiàn)高端磁盤陣列的磁盤定位裝置, 包括依次連接的磁盤地址獲取模塊和磁盤物理位置確定模塊,其中磁盤地址獲取模塊,用于在收到磁盤定位指令后,將根據(jù)磁盤的名稱通過(guò)磁盤與操作系統(tǒng)之間的協(xié)議獲取的磁盤的地址向磁盤物理位置確定模塊輸出;磁盤物理位置確定模塊,用于根據(jù)磁盤的地址通過(guò)所述協(xié)議查詢?cè)摯疟P所在擴(kuò)展器內(nèi)磁盤的地址,由此確定該磁盤的物理位置。進(jìn)一步地,所述協(xié)議為小型計(jì)算機(jī)系統(tǒng)接口 SCSI協(xié)議;磁盤地址獲取模塊根據(jù)磁盤的名稱查詢SCSI協(xié)議的0x83協(xié)議頁(yè)信息,獲取到該磁盤的串行連接SCSI地址,即磁盤的SAS地址,并輸出獲取的磁盤的SAS地址。進(jìn)一步地,磁盤物理位置確定模塊查詢高端磁盤陣列中所有的擴(kuò)展器,并針對(duì)每一擴(kuò)展器查詢SCSI協(xié)議的OxA協(xié)議頁(yè),獲取擴(kuò)展器上所有磁盤的SAS地址和槽位信息;根據(jù)磁盤的SAS 地址查詢每一擴(kuò)展器中磁盤的SAS地址,確定該磁盤的對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)。進(jìn)一步地,還包括與磁盤物理位置確定模塊連接的磁盤定位指示模塊,其中磁盤物理位置確定模塊將磁盤對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)輸出給磁盤定位指示模塊;磁盤定位指示模塊,用于根據(jù)磁盤對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)通過(guò)SCSI協(xié)議找到磁盤的狀態(tài)信息標(biāo)志位,更改該標(biāo)志位的狀態(tài)信息以指示該磁盤的物理位置。進(jìn)一步地,磁盤定位指示模塊根據(jù)磁盤對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)查詢SCSI協(xié)議0x2協(xié)議頁(yè)相應(yīng)的數(shù)組信息,根據(jù)磁盤的槽位號(hào)定位到該數(shù)組信息中相應(yīng)的磁盤的狀態(tài)信息標(biāo)志位,將標(biāo)志位的狀態(tài)信息更改為定位指示信息后輸出。本發(fā)明利用磁盤與操作系統(tǒng)之間的協(xié)議標(biāo)準(zhǔn)及時(shí)獲取磁盤位置等信息,并通過(guò)對(duì)磁盤狀態(tài)信息修改來(lái)指示定位的磁盤,從而解決了高端磁盤陣列可靠應(yīng)用的一個(gè)技術(shù)難題。
圖1為本發(fā)明的實(shí)現(xiàn)高端磁盤陣列的磁盤定位方法實(shí)施例流程圖;圖2表示SCSI協(xié)議的0x2協(xié)議頁(yè)上的磁盤狀態(tài)信息;
圖3為本發(fā)明的實(shí)現(xiàn)高端磁盤陣列的磁盤定位裝置實(shí)施例結(jié)構(gòu)框圖。
具體實(shí)施例方式下面參照附圖和優(yōu)選實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)地描述。以下例舉的實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,而不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。如圖1所示,是為本發(fā)明的實(shí)現(xiàn)高端磁盤陣列的磁盤定位方法實(shí)施例流程,包括如下步驟110 根據(jù)磁盤的名稱通過(guò)磁盤與操作系統(tǒng)之間的協(xié)議獲取該磁盤的地址;在高端磁盤陣列中,磁盤與操作系統(tǒng)之間遵循協(xié)議標(biāo)準(zhǔn)較為常見(jiàn)的是小型計(jì)算機(jī)系統(tǒng)接口 (SCSI, Small Computer System Interface)協(xié)議。譬如在發(fā)現(xiàn)高端磁盤陣列中的磁盤有異常出現(xiàn)時(shí),可根據(jù)磁盤的名稱查詢?cè)搮f(xié)議的0x83協(xié)議頁(yè)信息可獲取到磁盤的SAS Serial Attached SCSI,串行連接SCSI)地址和邏輯標(biāo)識(shí)。120 根據(jù)磁盤的地址通過(guò)該協(xié)議查詢磁盤所在擴(kuò)展器內(nèi)磁盤的地址,由此確定該磁盤的物理位置;首先查詢磁盤陣列中所有的擴(kuò)展器(expander),并針對(duì)每一 expander查詢SCSI 協(xié)議的OxA協(xié)議頁(yè),獲取expander上所有磁盤的SAS地址和槽位信息;根據(jù)獲取的磁盤的SAS地址反查每一 expander中磁盤的SAS地址,確定該磁盤在該SAS域的物理位置,包括磁盤對(duì)應(yīng)的expander序號(hào)和槽位號(hào),分別以數(shù)字形式標(biāo)識(shí),其中磁盤的起始槽位號(hào)為0。130 通過(guò)協(xié)議找到磁盤的狀態(tài)信息標(biāo)志位,更改該標(biāo)志位狀態(tài)以指示磁盤的物理位置。根據(jù)獲取的磁盤對(duì)應(yīng)的expander序號(hào)和槽位號(hào)查詢SCSI協(xié)議0x2協(xié)議頁(yè)信息, 獲取到相應(yīng)的expander上所有磁盤的狀態(tài)信息,該信息以16進(jìn)制數(shù)據(jù)形式表示,如圖2所
7J\ ο在0x2協(xié)議頁(yè)的16進(jìn)制信息組織成一個(gè)數(shù)組array。在該數(shù)組array中的十六進(jìn)制數(shù)據(jù)中,從第13個(gè)數(shù)據(jù)開始為磁盤狀態(tài)信息的起始位,從該起始位起每4個(gè)數(shù)據(jù)為一組 (例如05 00 00 00),代表一個(gè)磁盤的所有狀態(tài);例如,第13 16個(gè)數(shù)據(jù)代表槽位0上磁
盤的狀態(tài),第17 20個(gè)數(shù)據(jù)代表槽位1上磁盤的狀態(tài),......,第57 60個(gè)數(shù)據(jù)代表槽
位11上磁盤的狀態(tài)。因此,假如要找到槽位η上的磁盤狀態(tài),可根據(jù)公式12+η*4+2(η為磁盤槽位號(hào),以0為起始位置,代表第一個(gè)槽位,以此類推)進(jìn)行定位。在上述每組的四個(gè)數(shù)據(jù)中,第一個(gè)數(shù)據(jù)為05時(shí),表示相應(yīng)槽位上有磁盤存在,而該數(shù)據(jù)為11時(shí),表示相應(yīng)槽位上沒(méi)有磁盤存在;第三個(gè)數(shù)據(jù)代表指示磁盤的指示燈的狀態(tài)信息標(biāo)志位,當(dāng)磁盤處在正常狀態(tài)時(shí),磁盤指示燈的狀態(tài)信息標(biāo)志位為“00”,標(biāo)志指示燈為熄滅狀態(tài)。在此,可通過(guò)修改該磁盤的狀態(tài)信息標(biāo)志位為非零值(定位指示信息)來(lái)使得標(biāo)志指示燈發(fā)亮,即更改磁盤狀態(tài)信息標(biāo)志位以此指示定位到的磁盤。例如,當(dāng)定位到槽位0上的磁盤時(shí),將槽位號(hào)0代入公式12+0*4+2得到14,即定位到array [14],表示需要將第15個(gè)數(shù)據(jù)位的數(shù)據(jù)修改為非零值,譬如將“00”修改為“02”,然后將修改后的數(shù)組信息以發(fā)送命令形式寫回expander,則會(huì)使得槽位0上的磁盤燈閃爍,
6用于指示定位到槽位0上的磁盤。本發(fā)明通過(guò)上述方法實(shí)施例在高端磁盤陣列中加入了針對(duì)磁盤設(shè)備的預(yù)警機(jī)制, 對(duì)于將要出現(xiàn)故障的磁盤可迅速定位其所在的物理位置,從而做到及時(shí)更換磁盤設(shè)備,由此可大大提高高端磁盤陣列系統(tǒng)的可靠性。本發(fā)明針對(duì)上述方法實(shí)施例,相應(yīng)地還提供了實(shí)現(xiàn)高端磁盤陣列的磁盤定位裝置實(shí)施例200,其結(jié)構(gòu)如圖3所示包括依次連接的磁盤地址獲取模塊210和磁盤物理位置確定模塊220,其中磁盤地址獲取模塊210,用于在收到磁盤定位指令后,將根據(jù)磁盤的名稱通過(guò)磁盤與操作系統(tǒng)之間的協(xié)議獲取的該磁盤的地址向磁盤物理位置確定模塊220輸出;磁盤物理位置確定模塊220,用于根據(jù)磁盤的地址通過(guò)該協(xié)議查詢磁盤所在擴(kuò)展器(expander)內(nèi)磁盤的地址,由此確定該磁盤的物理位置。磁盤地址獲取模塊210根據(jù)磁盤的名稱查詢SCSI協(xié)議的0x83協(xié)議頁(yè)信息獲取到磁盤的SAS地址,并輸出該磁盤的SAS地址;磁盤物理位置確定模塊220查詢磁盤陣列中所有的expander,并針對(duì)每一 expander查詢SCSI協(xié)議的OxA協(xié)議頁(yè),獲取expander上所有磁盤的SAS地址和槽位信息; 然后根據(jù)磁盤的SAS地址反查每一 expander中磁盤的SAS地址,確定相應(yīng)磁盤的對(duì)應(yīng)的 expander序號(hào)和槽位號(hào)。圖3所示的裝置實(shí)施例200還包括與磁盤物理位置確定模塊220連接的磁盤定位指示模塊230,其中磁盤物理位置確定模塊220將確定的磁盤對(duì)應(yīng)的expander序號(hào)和槽位號(hào)輸出給磁盤定位指示模塊230 ;磁盤定位指示模塊230,用于根據(jù)磁盤對(duì)應(yīng)的expander序號(hào)和槽位號(hào)查詢SCSI協(xié)議0x2協(xié)議頁(yè)的數(shù)組信息,定位到該數(shù)組信息中相應(yīng)磁盤的狀態(tài)信息標(biāo)志位,并將該標(biāo)志位的狀態(tài)信息修改為定位指示信息后輸出。以上說(shuō)明僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)力要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種實(shí)現(xiàn)高端磁盤陣列的磁盤定位方法,包括根據(jù)磁盤的名稱通過(guò)磁盤與操作系統(tǒng)之間的協(xié)議獲取該磁盤的地址;根據(jù)獲取的所述磁盤的地址通過(guò)所述協(xié)議查詢?cè)摯疟P所在擴(kuò)展器內(nèi)磁盤的地址,由此確定該磁盤的物理位置。
2.按照權(quán)利要求1所述的方法,其特征在于,所述協(xié)議為小型計(jì)算機(jī)系統(tǒng)接口SCSI協(xié)議,所述根據(jù)磁盤的名稱通過(guò)磁盤與操作系統(tǒng)之間的協(xié)議獲取該磁盤的地址,具體包括根據(jù)所述磁盤的名稱查詢所述SCSI協(xié)議的0x83協(xié)議頁(yè)信息,獲取到該磁盤的串行連接SCSI地址,即所述磁盤的SAS地址。
3.按照權(quán)利要求2所述的方法,其特征在于,根據(jù)獲取的所述磁盤的地址通過(guò)所述協(xié)議查詢?cè)摯疟P所在擴(kuò)展器內(nèi)磁盤的地址,由此確定該磁盤的物理位置,具體包括查詢所述高端磁盤陣列中所有的擴(kuò)展器,并針對(duì)每一擴(kuò)展器查詢所述SCSI協(xié)議的OxA 協(xié)議頁(yè),獲取所述擴(kuò)展器上所有磁盤的SAS地址和槽位信息;根據(jù)所述磁盤的SAS地址查詢每一擴(kuò)展器中磁盤的SAS地址,確定所述磁盤對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)。
4.按照權(quán)利要求3所述的方法,其特征在于,還包括通過(guò)所述SCSI協(xié)議找到所述磁盤的狀態(tài)信息標(biāo)志位,更改該標(biāo)志位的狀態(tài)信息以指示所述磁盤的物理位置。
5.按照權(quán)利要求4所述的方法,其特征在于,所述通過(guò)所述SCSI協(xié)議找到所述磁盤的狀態(tài)信息標(biāo)志位,更改該標(biāo)志位的狀態(tài)信息以指示所述磁盤的物理位置,具體包括根據(jù)獲取的所述磁盤對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)查詢所述SCSI協(xié)議0x2協(xié)議頁(yè)相應(yīng)的數(shù)組信息,根據(jù)所述磁盤的槽位號(hào)定位到所述數(shù)組信息中相應(yīng)的磁盤的狀態(tài)信息標(biāo)志位;將所述標(biāo)志位的狀態(tài)信息更改為定位指示信息,將修改后的所述數(shù)組信息以發(fā)送命令形式寫回所述擴(kuò)展器。
6.一種實(shí)現(xiàn)高端磁盤陣列的磁盤定位裝置,其特征在于,包括依次連接的磁盤地址獲取模塊和磁盤物理位置確定模塊,其中磁盤地址獲取模塊,用于在收到磁盤定位指令后,將根據(jù)所述磁盤的名稱通過(guò)磁盤與操作系統(tǒng)之間的協(xié)議獲取的所述磁盤的地址向磁盤物理位置確定模塊輸出;磁盤物理位置確定模塊,用于根據(jù)所述磁盤的地址通過(guò)所述協(xié)議查詢所述磁盤所在擴(kuò)展器內(nèi)磁盤的地址,由此確定該磁盤的物理位置。
7.按照權(quán)利要求6所述的磁盤定位裝置,其特征在于,所述協(xié)議為小型計(jì)算機(jī)系統(tǒng)接口 SCSI協(xié)議;所述磁盤地址獲取模塊根據(jù)所述磁盤的名稱查詢所述SCSI協(xié)議的0x83協(xié)議頁(yè)信息, 獲取到該磁盤的串行連接SCSI地址,即所述磁盤的SAS地址,并輸出獲取的所述磁盤的SAS 地址。
8.按照權(quán)利要求7所述的磁盤定位裝置,其特征在于,所述磁盤物理位置確定模塊查詢所述高端磁盤陣列中所有的擴(kuò)展器,并針對(duì)每一擴(kuò)展器查詢所述SCSI協(xié)議的OxA協(xié)議頁(yè),獲取所述擴(kuò)展器上所有磁盤的SAS地址和槽位信息; 根據(jù)所述磁盤的SAS地址查詢每一擴(kuò)展器中磁盤的SAS地址,確定所述磁盤的對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)。
9.按照權(quán)利要求8所述的磁盤定位裝置,其特征在于,還包括與所述磁盤物理位置確定模塊連接的磁盤定位指示模塊,其中所述磁盤物理位置確定模塊將所述磁盤對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)輸出給磁盤定位指示模塊;磁盤定位指示模塊,用于根據(jù)所述磁盤對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)通過(guò)所述SCSI協(xié)議找到所述磁盤的狀態(tài)信息標(biāo)志位,更改該標(biāo)志位的狀態(tài)信息以指示所述磁盤的物理位置。
10.按照權(quán)利要求9所述的磁盤定位裝置,其特征在于,磁盤定位指示模塊根據(jù)所述磁盤對(duì)應(yīng)的擴(kuò)展器序號(hào)和槽位號(hào)查詢所述SCSI協(xié)議0x2 協(xié)議頁(yè)相應(yīng)的數(shù)組信息,根據(jù)所述磁盤的槽位號(hào)定位到所述數(shù)組信息中相應(yīng)的磁盤的狀態(tài)信息標(biāo)志位,將所述標(biāo)志位的狀態(tài)信息更改為定位指示信息后輸出。
全文摘要
本發(fā)明披露了一種實(shí)現(xiàn)高端磁盤陣列的磁盤定位方法及裝置,其中方法包括根據(jù)磁盤的名稱通過(guò)磁盤與操作系統(tǒng)之間的協(xié)議獲取該磁盤的地址;根據(jù)獲取的磁盤的地址通過(guò)所述協(xié)議查詢?cè)摯疟P所在擴(kuò)展器內(nèi)磁盤的地址,由此確定該磁盤的物理位置。本發(fā)明利用磁盤與操作系統(tǒng)之間的協(xié)議標(biāo)準(zhǔn)及時(shí)獲取磁盤位置等信息,并通過(guò)對(duì)磁盤狀態(tài)信息修改來(lái)指示定位的磁盤,從而解決了高端磁盤陣列可靠應(yīng)用的一個(gè)技術(shù)難題。
文檔編號(hào)G06F3/06GK102207829SQ201110074088
公開日2011年10月5日 申請(qǐng)日期2011年3月25日 優(yōu)先權(quán)日2011年3月25日
發(fā)明者張宇, 張延楓 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司