新四季網

一種在Linux系統中自動識別所有邏輯硬碟設備名稱的方法及系統與流程

2023-04-26 21:46:11


本發明涉及伺服器的技術領域,具體涉及到一種在linux系統中自動識別所有邏輯硬碟設備名稱的方法及系統。



背景技術:

存儲系統在當前伺服器領域越來越重要,行業內流行的存儲測試程序都是運行在linux作業系統中,硬碟作為測試對象,就需要把它在linux系統中的設備名稱傳遞給測試程序,例如常用的fio測試程序需要指定設備名稱,這就需要有一種方法能夠準確的枚舉出所有的硬碟設備名稱,以往的解決方法需要靠工程師根據實際伺服器的配置情況手工輸入設備名稱,通常是先查看直連的硬碟數量,然後進入raid卡配置程序,查看組好的raid邏輯硬碟的個數,而且還要拔掉所有的u盤,確定好數量後,查看/dev目錄下硬碟的設備名稱,確保硬碟數目和名稱數目相等,這種方法有操作複雜,耗費時間長,實時性差,易受u盤幹擾等缺陷。



技術實現要素:

基於上述問題,本發明提出了一種在linux系統中自動識別所有邏輯硬碟設備名稱的方法及系統。

本發明提供如下技術方案:

一方面,本發明提供一種在linux系統中自動識別所有邏輯硬碟設備名稱的方法,包括:

步驟a,獲取所有存儲設備的名稱,具體操作為:讀取/dev/disk/by-path目錄中所有的文件,獲得所有存儲設備的名稱;

步驟b,去除所有非硬碟存儲設備,具體操作為:通過在所述/dev/disk/by-path目錄中文件的文件名識別出硬碟和非硬碟存儲設備,將文件名表示的非硬碟存儲設備對應的設備去除;步驟c,根據去除非硬碟存儲設備的信息獲得所有邏輯硬碟設備名稱。

其中,所述讀取/dev/disk/by-path目錄中所有的文件,獲得所有存儲設備的名稱包括:讀取/dev/disk/by-path目錄中所有的文件,所述文件的文件名包含其對應設備的接口信息,所述文件為連結文件且連結到存儲設備名稱,由此獲得所有存儲設備的名稱。

其中,在讀取/dev/disk/by-path目錄前進行權限判斷,檢查是否有打開所述目錄文件的權限。

其中,所述非硬碟存儲設備包括u盤、光碟或分區。

另外,本發明還提供一種在linux系統中自動識別所有邏輯硬碟設備名稱的系統,所述系統包括:

存儲設備獲取模塊,用於獲取所有存儲設備的名稱,具體為:讀取/dev/disk/by-path目錄中所有的文件,獲得所有存儲設備的名稱;

去除模塊,用於去除所有非硬碟存儲設備,具體為:通過在所述/dev/disk/by-path目錄中文件的文件名識別出硬碟和非硬碟存儲設備,將文件名表示的非硬碟存儲設備對應的設備去除;

硬碟名稱獲取模塊,用於根據去除非硬碟存儲設備的信息獲得所有邏輯硬碟設備名稱。

其中,所述讀取/dev/disk/by-path目錄中所有的文件,獲得所有存儲設備的名稱包括:讀取/dev/disk/by-path目錄中所有的文件,所述文件的文件名包含其對應設備的接口信息,所述文件為連結文件且連結到存儲設備名稱,由此獲得所有存儲設備的名稱。

其中,在讀取/dev/disk/by-path目錄前進行權限判斷,檢查是否有打開所述目錄文件的權限。

其中,所述非硬碟存儲設備包括u盤、光碟或分區。

本發明提出了一種在linux系統中自動識別所有邏輯硬碟設備名稱的方法及系統,針對目前方法有操作複雜,耗費時間長,實時性差,易受u盤幹擾等缺陷,編寫程序自動獲取linux下所有存儲設備的名稱,本申請此處的存儲設備包含了直連在主板的硬碟設備,raid卡上的邏輯硬碟、u盤。然後,自動識別每個設備名稱指向的存儲設備類型,去除所有非硬碟存儲設備,由此便識別出了所有可用硬碟存儲設備名稱。本申請的技術方案不需要增加額外的預算,不需增加額外的操作,經濟實用,可有效提高伺服器存儲系統測試的效率和準確性。

附圖說明

圖1是本發明的方法操作步驟流程圖;

圖2是本發明的系統結構框圖;

具體實施方式

為了更清楚地說明本發明實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。

自動識別所有硬碟存儲設備名稱的實施主要包括二個方面:首先獲取所有存儲設備名稱,然後去除所有非硬碟存儲設備,此時剩下的就是所有的硬碟存儲設備名稱。下面對本發明的內容進行更加詳細的闡述:

一種在linux系統中自動識別所有邏輯硬碟設備名稱的方法,圖1是本發明的方法操作步驟流程圖,如圖1所示;

包括:步驟101,獲取所有存儲設備的名稱,具體操作為:讀取/dev/disk/by-path目錄中所有的文件,獲得所有存儲設備的名稱;

在linux系統中,傳統的查看硬碟設備名稱的方法是查看在/dev目錄下sd開頭的設備文件,一般為sdasda1sdbsdc等等,其中sdasdb分別代表了2塊存儲設備,sda1是sda的一個分區,如果插了u盤,其設備名稱可能為sdd,無法直接去除u盤設備。在本申請的方法中,我們通過讀/dev/disk/by-path這個目錄文件,獲取到此目錄裡所包含的所有文件,每一個文件都代表了一個存儲設備,文件名包含了此設備的接口信息,而且這裡的文件都是連結文件,會連結到真正的設備名稱,我們通過讀/dev/disk/by-path目錄下的所有連結文件的信息,獲取到所指向的設備文件,這些設備文件名就是我們需要的所有存儲設備的設備名稱。

獲取所有存儲設備名稱包括:a)檢查是否有打開/dev/disk/by-path目錄文件的權限,代碼示例如下:

b)讀取此目錄文件,獲取此目錄內的所有文件,此文件即為指向存儲設備的連結文件,代碼示例如下:

c)讀取每個連結文件,得到指向的存儲設備文件的文件名,此文件名就為存儲設備的設備名稱。代碼示例如下:

步驟102,去除所有非硬碟存儲設備,具體操作為:通過在所述/dev/disk/by-path目錄中文件的文件名識別出硬碟和非硬碟存儲設備,將文件名表示的非硬碟存儲設備對應的設備去除;

在獲取的所有存儲設備名稱中,可能會存在一些非硬碟設備,例如光碟,u盤等。光碟設備的名稱一般為sr0sr1等,和硬碟設備名sdasdb有明顯區別,可從設備名是否包含sd字符區別出是光碟還是硬碟。u盤的設備名稱和硬碟的設備名稱一樣,都包含sd字符,需要用另一種方法區分,在上一步中獲取的/dev/disk/by-path目錄裡包含的文件名中,我們通過分析文件名,可識別出此設備的接口類型,如usb,sas,scsi等,其中,接口為usb的就是u盤,需要去除此設備,這樣就把硬碟設備和非硬碟存儲設備區分開了。

去除所有非硬碟設備包括:

a)根據設備名稱去除光碟設備名稱,代碼示例如下:

b)根據連結文件名去除u盤設備名稱,代碼示例如下:

c)根據連結文件名去除分區名稱,代碼示例如下:

步驟103,根據去除非硬碟存儲設備的信息獲得所有邏輯硬碟設備名稱。

在區分硬碟和非硬碟存儲設備後,就能得到所有的硬碟設備名稱。

本發明提出了一種在linux系統中自動識別所有邏輯硬碟設備名稱的方法,針對目前方法有操作複雜,耗費時間長,實時性差,易受u盤幹擾等缺陷,編寫程序自動獲取linux下所有存儲設備的名稱,本申請此處的存儲設備包含了直連在主板的硬碟設備,raid卡上的邏輯硬碟、u盤。然後,自動識別每個設備名稱指向的存儲設備類型,去除所有非硬碟存儲設備,由此便識別出了所有可用硬碟存儲設備名稱。本申請的技術方案不需要增加額外的預算,不需增加額外的操作,經濟實用,可有效提高伺服器存儲系統測試的效率和準確性。

本發明的實施方式還提供了一種在linux系統中自動識別所有邏輯硬碟設備名稱的系統,如圖2所示,所述系統包括:

包括:存儲設備獲取模塊201,用於獲取所有存儲設備的名稱,具體為:讀取/dev/disk/by-path目錄中所有的文件,獲得所有存儲設備的名稱;

在linux系統中,傳統的查看硬碟設備名稱的方法是查看在/dev目錄下sd開頭的設備文件,一般為sdasda1sdbsdc等等,其中sdasdb分別代表了2塊存儲設備,sda1是sda的一個分區,如果插了u盤,其設備名稱可能為sdd,無法直接去除u盤設備。在本申請的方法中,我們通過讀/dev/disk/by-path這個目錄文件,獲取到此目錄裡所包含的所有文件,每一個文件都代表了一個存儲設備,文件名包含了此設備的接口信息,而且這裡的文件都是連結文件,會連結到真正的設備名稱,我們通過讀/dev/disk/by-path目錄下的所有連結文件的信息,獲取到所指向的設備文件,這些設備文件名就是我們需要的所有存儲設備的設備名稱。

獲取所有存儲設備名稱包括:a)檢查是否有打開/dev/disk/by-path目錄文件的權限,代碼示例如下:

b)讀取此目錄文件,獲取此目錄內的所有文件,此文件即為指向存儲設備的連結文件,代碼示例如下:

c)讀取每個連結文件,得到指向的存儲設備文件的文件名,此文件名就為存儲設備的設備名稱。代碼示例如下:

去除模塊202,用於去除所有非硬碟存儲設備,具體為:通過在所述/dev/disk/by-path目錄中文件的文件名識別出硬碟和非硬碟存儲設備,將文件名表示的非硬碟存儲設備對應的設備去除;

在獲取的所有存儲設備名稱中,可能會存在一些非硬碟設備,例如光碟,u盤等。光碟設備的名稱一般為sr0sr1等,和硬碟設備名sdasdb有明顯區別,可從設備名是否包含sd字符區別出是光碟還是硬碟。u盤的設備名稱和硬碟的設備名稱一樣,都包含sd字符,需要用另一種方法區分,在上一步中獲取的/dev/disk/by-path目錄裡包含的文件名中,我們通過分析文件名,可識別出此設備的接口類型,如usb,sas,scsi等,其中,接口為usb的就是u盤,需要去除此設備,這樣就把硬碟設備和非硬碟存儲設備區分開了。

去除所有非硬碟設備包括:

a)根據設備名稱去除光碟設備名稱,代碼示例如下:

b)根據連結文件名去除u盤設備名稱,代碼示例如下:

c)根據連結文件名去除分區名稱,代碼示例如下:

硬碟名稱獲取模塊203,用於根據去除非硬碟存儲設備的信息獲得所有邏輯硬碟設備名稱。

在區分硬碟和非硬碟存儲設備後,就能得到所有的硬碟設備名稱。

本發明提出了一種在linux系統中自動識別所有邏輯硬碟設備名稱的系統,針對目前方法有操作複雜,耗費時間長,實時性差,易受u盤幹擾等缺陷,編寫程序自動獲取linux下所有存儲設備的名稱,本申請此處的存儲設備包含了直連在主板的硬碟設備,raid卡上的邏輯硬碟、u盤。然後,自動識別每個設備名稱指向的存儲設備類型,去除所有非硬碟存儲設備,由此便識別出了所有可用硬碟存儲設備名稱。本申請的技術方案不需要增加額外的預算,不需增加額外的操作,經濟實用,可有效提高伺服器存儲系統測試的效率和準確性。

對所公開的實施例的上述說明,使本領域技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或範圍的情況下,在其他實施例中實現。因此,本發明將不會被限制於本文所示的這些實施例,而是符合與本文所公開的原理和新穎特點相一致的最寬的範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀