欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

通過udev和expander相關(guān)接口管理磁盤的方法與流程

文檔序號:11323144閱讀:993來源:國知局
通過udev和expander相關(guān)接口管理磁盤的方法與流程
本發(fā)明屬于服務(wù)器領(lǐng)域,尤其是一種通過udev和expander相關(guān)接口管理磁盤的方法。
背景技術(shù)
:在linux系統(tǒng)中,如果接有多塊硬盤,那么linuxkernel分配盤符的順序是/dev/sda、/dev/sdb、/dev/sdc……這些盤符都是在系統(tǒng)啟動過程中,kernel會基于三個順序來決定磁盤盤符的分配。第一,磁盤驅(qū)動程序的加載,在不同的平臺中,連接磁盤的host端往往不盡相同,有些磁盤跟intelpch相連接,這類磁盤往往作為系統(tǒng)盤;有些磁盤跟hba卡相連接,而不同的hba卡所需要加載的驅(qū)動也是不同廠商提供的;這些驅(qū)動程序在kernel啟動時的加載順序也決定著磁盤盤符分配的順序范圍。第二、主機pcie插槽檢測,主板平臺上往往有多個pcie總線,而kernel掃描總線的順序同總線的bus號相關(guān),不同pcie總線上的同一類hba卡所接的磁盤盤符分配也會受此影響。第三、磁盤本身檢測,linuxkernel分配盤符時,需要找到一個空閑的整數(shù),即kernel針對磁盤盤符,從0開始分配整數(shù)。整數(shù)0對應(yīng)的盤符為/dev/sda,如果所有的26個字母都用盡,則會從/dev/sdaa接著由此類推。由于linux系統(tǒng)的磁盤加載順序的一些特性,加上存儲產(chǎn)品中的磁盤都是可熱插拔的特性,兩者相結(jié)合,最直接的后果就是導(dǎo)致/dev/sda,/dev/sdb,/dev/sdc……這些盤符混亂掉,進而造成磁盤設(shè)備管理混亂,最常見的后果就是linux文件系統(tǒng)啟動問題。舉例如下。在12盤位的存儲設(shè)備中,磁盤槽位順序如下:03691471025811如果所有的槽位都插有硬盤,那么linux正常啟動后,對應(yīng)的盤符如下。/dev/sda/dev/sdd/dev/sdg/dev/sdj/dev/sdb/dev/sde/dev/sdh/dev/sdk/dev/sdc/dev/sdf/dev/sdi/dev/sdl而當(dāng)?shù)?、5、9塊硬盤不在位時,系統(tǒng)啟動后如下圖所示。/dev/sdc/dev/sde/dev/sdg/dev/sda/dev/sdf/dev/sdh/dev/sdb/dev/sdd/dev/sdi此時如果插入第0個物理槽位,然后接著再插入第8個物理槽位,盤符分配如下所示。/dev/sdj/dev/sdc/dev/sde/dev/sdg/dev/sda/dev/sdf/dev/sdh/dev/sdb/dev/sdd/dev/sdk/dev/sdi可以看出,磁盤的盤符順序跟槽位順序開始變得混亂,后續(xù)如果再多做幾次熱插拔的動作,那么盤符分配將會更加復(fù)雜,可以看出用/dev/sdx這類盤符為基礎(chǔ)做磁盤管理是極為不穩(wěn)定的。為此,有必要設(shè)計一種新型的磁盤管理方法,能夠避免盤符出現(xiàn)混亂。技術(shù)實現(xiàn)要素:本發(fā)明的主要目的是提供一種通過udev和expander相關(guān)接口管理磁盤的方法,用來克服現(xiàn)有磁盤命名規(guī)則下重復(fù)插入磁盤導(dǎo)致混亂的問題。本發(fā)明是這樣實現(xiàn)的,一種通過udev和expander相關(guān)接口管理磁盤的方法,包括以下分步驟:步驟a:初始化步驟,所述初始化步驟系對rules規(guī)則進行重寫;步驟b:上電步驟,所述上電步驟系操作系統(tǒng)進行上電;步驟c:命名步驟,所述命名步驟系操作系統(tǒng)根據(jù)步驟a中rules規(guī)則對磁盤進行映射。expander芯片具有如下功能:給應(yīng)用層提供了大容量存儲構(gòu)架;將服務(wù)器,控制卡和陣列上大量的磁盤連接起來;提高了數(shù)據(jù)傳輸帶寬。目前主要的expander芯片廠商有pmc,lsi等。本發(fā)明的進一步技術(shù)方案是:所述步驟a包括以下分步驟:步驟a1:初取步驟,所述初取步驟系獲取磁盤柜層級地址信息;步驟a2:復(fù)取步驟,所述復(fù)取步驟系獲取磁盤信息;步驟a3:通過udev規(guī)則生成自定義磁片標(biāo)識id_path;步驟a4:根據(jù)id_path修改rules規(guī)則文件。本發(fā)明的進一步技術(shù)方案是:所述步驟a1中通過scsi命令獲取磁盤柜層級地址信息。本發(fā)明的進一步技術(shù)方案是:每個磁盤柜設(shè)有expander固件,scsi命令通過expander固件獲得磁盤柜層級地址信息。本發(fā)明的進一步技術(shù)方案是:步驟a2中通過expander固件獲取磁盤信息。本發(fā)明的進一步技術(shù)方案是:所述磁盤信息包括磁盤型號、磁盤sn、磁盤sas地址、磁盤槽位號。本發(fā)明的進一步技術(shù)方案是:所述步驟a3包括以下分步驟:步驟a31:所述磁盤柜層級地址信息和所述磁盤信息組合獲得自定義磁片標(biāo)識id_path;步驟a32:將所述磁盤柜層級地址信息和所述磁盤信息組合生成/dev/sdx唯一標(biāo)識。本發(fā)明的進一步技術(shù)方案是:步驟a32中生成的/dev/sdx唯一標(biāo)識為“sasaddress+slotnumber”格式,其中“sasaddress”為磁盤柜層級地址,“slotnumber”為磁盤信息。本發(fā)明的進一步技術(shù)方案是:通過expander固件中ses接口獲得磁盤柜層級地址信息。本發(fā)明的進一步技術(shù)方案是:多個磁盤柜之間通過sas線相連。本發(fā)明的有益效果是:本方案提供的通過udev和expander相關(guān)接口管理磁盤的方法公開了一種結(jié)合expander固件的槽位映射關(guān)系,在主柜的os中開機查詢磁盤時動態(tài)將獲取到的磁盤的盤符同磁盤槽位相對應(yīng),并按照expander的級別和槽位順序,用戶可自定義其磁盤的盤符標(biāo)識,這樣磁盤盤符將不會再跳變,使得磁盤更加容易管理和維護。附圖說明為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例提供的通過udev和expander相關(guān)接口管理磁盤的方法的磁盤柜連接示意圖。圖2是本發(fā)明實施例提供的通過udev和expander相關(guān)接口管理磁盤的方法的流程圖。具體實施方式本發(fā)明提供一種通過udev和expander相關(guān)接口管理磁盤的方法。以下結(jié)合附圖及實施例對本發(fā)明進行詳細(xì)說明。一種通過udev和expander相關(guān)接口管理磁盤的方法,包括以下分步驟:步驟a:初始化步驟,所述初始化步驟系對rules規(guī)則進行重寫;步驟b:上電步驟,所述上電步驟系操作系統(tǒng)進行上電;步驟c:命名步驟,所述命名步驟系操作系統(tǒng)根據(jù)步驟a中rules規(guī)則對磁盤進行映射。進一步的:所述步驟a包括以下分步驟:步驟a1:初取步驟,所述初取步驟系獲取磁盤柜層級地址信息;步驟a2:復(fù)取步驟,所述復(fù)取步驟系獲取磁盤信息;步驟a3:通過udev規(guī)則生成自定義磁片標(biāo)識id_path;步驟a4:根據(jù)id_path修改rules規(guī)則文件。進一步的:所述步驟a1中通過scsi命令獲取磁盤柜層級地址信息。進一步的:每個磁盤柜設(shè)有expander固件,scsi命令通過expander固件獲得磁盤柜層級地址信息。進一步的:步驟a2中通過expander固件獲取磁盤信息。進一步的:所述磁盤信息包括磁盤型號、磁盤sn、磁盤sas地址、磁盤槽位號。進一步的:所述步驟a3包括以下分步驟:步驟a31:所述磁盤柜層級地址信息和所述磁盤信息組合獲得自定義磁片標(biāo)識id_path;步驟a32:將所述磁盤柜層級地址信息和所述磁盤信息組合生成/dev/sdx唯一標(biāo)識。進一步的:步驟a32中生成的/dev/sdx唯一標(biāo)識為“sasaddress+slotnumber”格式,其中“sasaddress”為磁盤柜層級地址,“slotnumber”為磁盤信息。進一步的:通過expander固件中ses接口獲得磁盤柜層級地址信息。進一步的:多個磁盤柜之間通過sas線相連。本專利針對傳統(tǒng)的linux磁盤盤符分配的問題和缺點,結(jié)合linux本身特有的udev規(guī)則以及expander固件中特有的相關(guān)ses接口,對此進行改進和優(yōu)化:1相關(guān)的expander固件中的ses接口,可動態(tài)確定相關(guān)磁盤所在的expander擴展柜在級聯(lián)環(huán)境中的相關(guān)位置;通過修改udev規(guī)則:將磁盤所能獲取的信息,如磁盤型號,sn,sas地址,槽位號等按照自定義的規(guī)則組成磁盤的標(biāo)識,這樣可判斷該磁盤根據(jù)它自己的標(biāo)識來判斷磁盤的位置;以上兩者相結(jié)合即可固定相關(guān)磁盤的位置,進而方便進行管理,并且不會隨著熱插拔事件的出現(xiàn)而產(chǎn)生變更。圖1是本發(fā)明實施例提供的通過udev和expander相關(guān)接口管理磁盤的方法的磁盤柜連接示意圖。如圖,主柜和jbod都有接有磁盤,他們之間用sas線相連接,并且每個背板的expander都擁有環(huán)境中唯一的sasaddress,用來區(qū)分不同的設(shè)備。圖2是本發(fā)明實施例提供的通過udev和expander相關(guān)接口管理磁盤的方法的流程圖。如圖,為了擺脫os傳統(tǒng)的盤符標(biāo)識/dev/sdx的不穩(wěn)定特性,我們需要將/dev/sdx重新映射成自定義的磁盤標(biāo)識,該自定義的標(biāo)識需要具備兩種特征才能符合用戶的使用需求:一種是穩(wěn)定,該標(biāo)識不隨著磁盤的熱插拔或開關(guān)機而改變;另一種就是該標(biāo)識能體現(xiàn)對應(yīng)的物理磁盤的位置。先通過scsi相關(guān)命令獲取所有expander設(shè)備的sasaddress,在結(jié)合expander固件中磁盤id跟槽位號的對應(yīng)關(guān)系,即可生成一個rules文件,如:rules文件中由這類規(guī)則組成“kernel=="sd*[a-z]",env{id_path}=="pci-0000:02:00.0-sas-0x500605b000027285-lun-0",subsystem=="block",symlink+="disk-01"”,該文件利用udev中的id_path,可將/dev/sdx標(biāo)識映射成sasaddress+slotnumber相結(jié)合的自定義磁盤標(biāo)識;該標(biāo)識跟指定的設(shè)備上的槽位號中的磁盤一一對應(yīng),不會隨著磁盤的插拔導(dǎo)致亂序;系統(tǒng)中獲取到的磁盤相關(guān)信息如下:[root@ll2diskraid]#udevadminfo--query=all--path=/sys/block/sdbp:/devices/pci0000:00/0000:00:01.1/0000:02:00.0/host6/port-6:0/expander-6:0/port-6:0:0/expander-6:1/port-6:1:23/end_device-6:1:23/target6:0:57/6:0:57:0/block/sdbn:sdbw:159s:block/8:16s:disk/by-id/ata-wdc_wd4002fyyz-01b7cb0_n8g8ldays:disk/by-id/scsi-sata_wdc_wd4002fyyz-n8g8ldays:disk/by-path/pci-0000:02:00.0-sas-0x3474f4f5849033a0-lun-0s:disk/by-id/wwn-0x5000cca244c3e808如粗體字所表示的;這樣,如果對磁盤的任何操作將基于此標(biāo)識進行,則不會產(chǎn)生基于/dev/sdx標(biāo)識所做操作時遇到的亂序麻煩。本方案提供的通過udev和expander相關(guān)接口管理磁盤的方法公開了一種結(jié)合expander固件的槽位映射關(guān)系,在主柜的os中開機查詢磁盤時動態(tài)將獲取到的磁盤的盤符同磁盤槽位相對應(yīng),并按照expander的級別和槽位順序,用戶可自定義其磁盤的盤符標(biāo)識,這樣磁盤盤符將不會再跳變,使得磁盤更加容易管理和維護。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
桦川县| 彰武县| 宾阳县| 元谋县| 南平市| 志丹县| 无极县| 苍溪县| 大连市| 营山县| 永吉县| 徐水县| 孟村| 嫩江县| 昌平区| 安丘市| 五常市| 龙州县| 青冈县| 五大连池市| 晴隆县| 西城区| 宝清县| 新野县| 盐亭县| 南投市| 华容县| 姚安县| 荆州市| 饶阳县| 雷波县| 五台县| 通道| 凤阳县| 南开区| 广丰县| 长岛县| 鹿泉市| 从江县| 阜阳市| 镇宁|