TW202414248A - 碟符調整方法、電子設備及存儲介質 - Google Patents

碟符調整方法、電子設備及存儲介質 Download PDF

Info

Publication number
TW202414248A
TW202414248A TW111138433A TW111138433A TW202414248A TW 202414248 A TW202414248 A TW 202414248A TW 111138433 A TW111138433 A TW 111138433A TW 111138433 A TW111138433 A TW 111138433A TW 202414248 A TW202414248 A TW 202414248A
Authority
TW
Taiwan
Prior art keywords
hard disk
driver
letter
action
slot
Prior art date
Application number
TW111138433A
Other languages
English (en)
Other versions
TWI816574B (zh
Inventor
朱建華
袁傑
Original Assignee
新加坡商鴻運科股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202211158741.3A external-priority patent/CN117785017A/zh
Application filed by 新加坡商鴻運科股份有限公司 filed Critical 新加坡商鴻運科股份有限公司
Application granted granted Critical
Publication of TWI816574B publication Critical patent/TWI816574B/zh
Publication of TW202414248A publication Critical patent/TW202414248A/zh

Links

Images

Abstract

一種碟符調整方法,用於調整硬碟之碟符,所述碟符調整方法包括:響應於已識別動作硬碟,獲取所述動作硬碟之系統碟符;識別所述動作硬碟之插接位置;響應於所述動作硬碟插接於拓展槽位,獲取所述動作硬碟對應之槽位值;根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符。本申請還提供一種電子設備及存儲介質。

Description

碟符調整方法、電子設備及存儲介質
本申請涉及電腦技術領域,更具體地涉及一種碟符調整方法、電子設備及存儲介質。
於伺服器領域,伺服器或電腦中設有多個硬碟以進行資料存儲。伺服器或電腦中可設有多個槽位,多個硬碟可插接於多個槽位上。伺服器或電腦之處理器可根據預設規則對插接於槽位上之多個硬碟分配碟符。例如,當處理器運行Linux系統時,可對多個硬碟分配碟符sda、sdb、sdc等。當操作人員需要讀取指定硬碟中存儲之檔案,或系統需要調取指定硬碟中存儲之檔案時,可根據碟符獲取對應硬碟之檔案目錄,並於目錄中獲取對應之檔案。
目前,於硬碟出現從槽位上熱插拔之情況下,存在系統不按照預設規則對硬碟分配碟符之情況,即存在碟符漂移之情況。操作人員或系統無法根據原有碟符對發生碟符漂移之硬碟內之檔案進行查找或調用,存在使用不便之缺陷。
鑒於以上內容,有必要提供一種碟符調整方法、電子設備及存儲介質,可於硬碟發生熱插拔時調整硬碟之碟符為槽位碟符,提高對硬碟內檔案查找及調用之方便性。
第一方面,本申請之實施例提供一種碟符調整方法,用於調整硬碟之碟符,所述碟符調整方法包括:響應於已識別動作硬碟,獲取所述動作硬碟之系統碟符;識別所述動作硬碟之插接位置;響應於所述動作硬碟插接於拓展槽位,獲取所述動作硬碟對應之槽位值;根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符。
可選地,所述識別所述動作硬碟之插接位置包括:確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式,其中,所述拓展裝置上設置有拓展槽位;響應於所述動作硬碟對應之驅動程式是所述拓展裝置之所述驅動程式,獲取所述動作硬碟之插接位置為所述拓展槽位。
可選地,所述獲取所述動作硬碟之插接位置包括:響應於所述動作硬碟對應之驅動程式不是所述拓展裝置之所述驅動程式,獲取所述動作硬碟之插接位置為本體槽位。
可選地,所述確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式包括:獲取所述拓展裝置對應之驅動名稱,其中,所述驅動名稱為所述驅動程式之名稱;確定所述動作硬碟對應之識別資訊與所述驅動名稱是否相同,其中,所述識別資訊為所述動作硬碟之硬體資訊中預設位置之資訊;響應於所述識別資訊與所述驅動名稱相同,確定所述動作硬碟對應之所述驅動程式是所述拓展裝置之所述驅動程式。
可選地,所述確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式包括:獲取多個所述拓展裝置對應之多個驅動名稱,其中,多個所述驅動名稱分別為多個所述驅動程式之名稱,所述驅動程式之數量大於或等於二;依次確定所述動作硬碟對應之識別資訊與多個所述驅動名稱是否相同,其中,所述識別資訊為所述動作硬碟之硬體資訊中預設位置之資訊;響應於所述識別資訊與一所述驅動名稱相同,確定所述動作硬碟對應之所述驅動程式是所述拓展裝置之所述驅動程式。
可選地,確定所述識別資訊與所述驅動名稱是否相同之方法包括:根據所述驅動名稱生成驅動字串;獲取硬體資訊中包括有所述驅動名稱之部分資訊;獲取所述部分資訊中位於預設位置之資訊為所述識別資訊;響應於所述驅動字串之內容與所述識別資訊之內容相同,確定所述識別資訊與所述驅動名稱相同。
可選地,所述系統碟符包括第一符部與第二符部,多個所述系統碟符之所述第一符部相同,多個所述系統碟符之所述第二符部不同,所述根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符包括:響應於所述動作硬碟不包括分區,以所述槽位值替換所述第二符部,生成所述槽位碟符。
可選地,所述第二符部包括硬碟符部與分區符部,多個所述硬碟符部分別對應於多個硬碟,多個所述分區符部對應於硬碟中之多個分區,所述根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符包括:響應於所述動作硬碟包括分區,獲取所述分區值;以所述槽位值替換所述硬碟符部,並根據預設格式與所述分區值修改所述分區符部,生成所述槽位碟符。
第二方面,本申請之實施例提供一種電子設備,包括:記憶體,用於存儲電腦程式;處理器,用於執行所述記憶體存儲之所述電腦程式,當所述電腦程式被執行時,所述處理器用於執行如上述任一項所述之碟符調整方法。
第三方面,本申請之實施例提供一種存儲介質,所述存儲介質包括電腦程式,當所述電腦程式於電子設備上運行時,使得所述電子設備執行如上述任一項所述之碟符調整方法。
本申請實現方式提供之碟符調整方法、電子設備及存儲介質,可於出現碟符漂移之情況時調整硬碟之碟符為槽位碟符,減少由於碟符漂移情況而導致之無法根據原有碟符對動作硬碟內之檔案進行查找或調用之情況,提高對硬碟內檔案查找與調用之方便性。
下面將結合本申請實現方式中之附圖,對本申請實現方式中之技術方案進行清楚、完整地描述,顯然,所描述之實現方式僅是本申請一部分實現方式,而不是全部之實現方式。
請參閱圖1,圖1為本申請之一個實施例提供之電子設備100之示意圖。可理解,電子設備100可執行碟符調整方法,以於電子設備100中由於硬碟之熱插拔而出現碟符漂移之情況時,調整硬碟之碟符。
本實施例中,電子設備100可包括處理器10、記憶體20、本體裝置30與拓展裝置40。處理器10、記憶體20、本體裝置30與拓展裝置40可藉由通訊匯流排連接並完成相互間之通訊。
處理器10可以為通用中央處理器(CPU)、微處理器、特定應用積體電路(application-specific integrated circuit,ASIC)、或一個或多個用於控制以上方案程式執行之積體電路。
記憶體20可以為唯讀記憶體 (read-only memory,ROM)或可存儲靜態資訊與指令之其他類型之靜態存放裝置,隨機存取記憶體 (random access memory,RAM)或者可存儲資訊與指令之其他類型之動態儲存裝置設備,亦可以為電可擦可程式設計唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EEPROM)、唯讀光碟(Compact Disc Read-Only Memory,CD-ROM)或其他光碟存儲、光碟存儲(包括壓縮光碟、鐳射碟、光碟、數位通用光碟、藍光光碟等)、磁片存儲介質或者其他磁存放裝置、或者能夠用於攜帶或存儲具有指令或資料結構形式之期望之程式碼並能夠由電腦存取之任何其他介質,但不限於此。記憶體20可以為獨立存在,藉由匯流排與處理器10相連接。記憶體20亦可與處理器10集成於一起。
處理器10、記憶體20及拓展裝置40均安裝於本體裝置30上。拓展裝置40上開設有多個拓展插槽,拓展插槽可用於插接硬碟。本體裝置30上開設有至少一個本體插槽,本體插槽可用於插接硬碟。
可理解,本體插槽與拓展裝置40上可同時插接有硬碟。本體插槽上插接之硬碟可存儲有電子設備100之運行系統之運行程式。拓展插槽上插接之硬碟可存儲操作人員需要查看之檔案、需要使運行系統調用之腳本等。
舉例說明,電子設備100可以為伺服器,本體裝置30可以為伺服器之主機板,處理器10可以為伺服器之CPU,記憶體20可以為插接於本體插槽上之硬碟及伺服器之記憶體條,拓展裝置40可以為安裝於伺服器之主機板上之主機匯流排適配器(Host Bus Adapter,HBA)及其附屬裝置。
可理解,電子設備100中可設置有多個硬碟,伺服器之系統運行後,系統可根據預設規則對多個硬碟分配多個系統碟符。操作人員可藉由系統碟符查找硬碟對應之目錄,以查找或調用硬碟中之指定檔案。伺服器亦可於運行程式時,藉由系統碟符調取指定硬碟中之檔案。
舉例說明,伺服器可以為運行Linux系統之伺服器,Linux系統根據掃描到之硬碟順序分配系統碟符。系統碟符可為sda、sdb1、sdb2、……、sdz等,其中,a、b等英文字母之排序對應於系統識別到多個硬碟之順序,1、2等數位對應硬碟中對各分區預設之分區值。伺服器可根據系統碟符中英文字母之排序及數位由小至大之排序將多個系統碟符分配給多個硬碟。
可理解,系統碟符可包括第一符部與第二符部,多個硬碟對應有多個系統碟符,其中多個系統碟符之多個第一符部相同,多個系統碟符之多個第二符部不同。於Linux系統中,系統碟符可為sda、sdb1、sdb2、……、sdz等,其中,系統碟符sda之第一符部為sd,第二符部為a;系統碟符sdb1之第一符部為sd,第二符部為b1。
可理解,碟符漂移之情況即為伺服器或電腦未按預設順序對多個硬碟分配系統碟符之問題,例如於一硬碟熱插拔後,伺服器或電腦對該已分配過系統碟符之硬碟重新分配另一系統碟符,從而造成之系統碟符混亂之問題。碟符漂移之情況下,伺服器或電腦之運行系統及操作人員均難以根據原有之目錄位址獲取指定硬碟中之檔案。
本申請之實施例中,處理器10可執行碟符調整方法,以於硬碟發生熱插拔且電子設備100之運行系統自動對發生熱插拔之硬碟分配新系統碟符後,調整該硬碟之碟符,以減少電子設備100之運行系統及操作人員根據預設之目錄位址獲取指定硬碟中之檔案時失敗之情況。
請參閱圖2,一實施例中,碟符調整方法可包括以下步驟S21至S24:
步驟S21:響應於已識別動作硬碟,獲取動作硬碟之系統碟符。
可理解,動作硬碟為電子設備100工作時,處理器10識別到新增或變更之硬碟。硬碟之變更即為同一硬碟於拓展槽位或本體槽位上之熱插拔之變更情況。當電子設備100啟動後或電子設備100中之硬碟熱插拔時,處理器10可識別新增或熱插拔之硬碟。
舉例說明,電子設備100之運行系統可以為Linux系統,Linux系統可藉由裝置管理員(udev)監測電子設備100中裝置之動作事件以管理/dev目錄下之設備目錄,裝置之動作事件可包括新增、變更或減少。裝置管理員於監測硬碟新增或變更後,裝置管理員可對動作硬碟分配系統碟符,並於/dev目錄下生成與系統碟符對應之設備目錄。當硬碟新增或變更後,裝置管理員可根據英文字母之排序,於未分配之英文字母中獲取排序最首位之英文字母作為動作硬碟之系統碟符之英文字母部分,生成動作硬碟之系統碟符。例如,Linux系統已經完成系統碟符sda、sdb及sdc分配後,當系統碟符sdc對應之硬碟發生熱插拔時,裝置管理員獲取該硬碟之動作事件,與原系統碟符sdc對應之硬碟為動作硬碟,裝置管理員對動作硬碟重新分配系統碟符sdd,刪除/dev/sdc目錄並新增/dev/sdd目錄。
響應於裝置管理員對動作硬碟分配了系統碟符,處理器10可獲取動作硬碟之系統碟符。
可理解,當電子設備100開機工作時,裝置管理員識別已插接於電子設備100內之硬碟時,裝置管理員可將識別到之硬碟確定為發生新增之動作事件之硬碟,並對多個硬碟分配系統碟符。
步驟S22:確定動作硬碟之插接位置是否為拓展槽位;響應於動作硬碟之插接位置為拓展槽位,進入步驟S23;響應於動作硬碟之插接位置為本體槽位,結束流程。
可理解,插接位置可包括拓展槽位與本體槽位。當獲取動作硬碟之插接位置為拓展槽位時,可確定動作硬碟插接於拓展裝置40之拓展槽位上。當獲取動作硬碟之插接位置為本體槽位時,可確定動作硬碟插接於拓展裝置40之拓展槽位上。
需要說明,本申請之實施例中,當動作硬碟之插接位置為本體槽位時,處理器10不對動作硬碟之系統碟符進行調整,碟符調整方法結束。碟符調整方法運行結束後,處理器10可繼續對另一動作硬碟執行碟符調整方法,或待處理器10再次識別到動作硬碟時對識別之動作硬碟執行碟符調整方法。
可理解,本體槽位上之硬碟用於存儲電子設備100之運行系統之系統檔案,本申請之實施例中,本體槽位上之硬碟不存在熱插拔情況。當電子設備100開機工作時,本體槽位上之硬碟被處理器10首次識別且被識別為動作硬碟,處理器10對本體槽位上之動作硬碟分配系統碟符後,處理器10藉由執行步驟S22確定動作硬碟之插接位置,並結束對該動作硬碟繼續執行碟符調整方法。
舉例說明,電子設備100之運行系統可以為Linux系統,處理器10可調用記憶體20中之Linux系統之系統檔案以運行Linux系統。當電子設備100開機工作時,處理器10通電工作,處理器10可運行Linux系統,並藉由裝置管理員識別到本體槽位上之動作硬碟,藉由裝置管理員對本體槽位上之動作硬碟分配系統碟符。處理器10執行步驟S22後,確定動作硬碟之插接位置為本體槽位,且確定動作硬碟可能為存儲Linux系統之系統檔案之硬碟。處理器10不對已分配給動作硬碟之系統碟符進行調整,並繼續識別另一動作硬碟。
一些實施例中,獲取動作硬碟之插接位置之方法可包括:確定動作硬碟對應之驅動程式是否為拓展裝置40之驅動程式,響應於作硬碟對應之驅動程式是拓展裝置40之驅動程式,可確定動作硬碟之插接位置為拓展槽位,進入步驟S23;響應於作硬碟對應之驅動程式是拓展裝置40之驅動程式,可確定動作硬碟之插接位置為本體槽位,結束流程。
一可理解,當處理器10調用硬碟中之檔案或程式時,需要運行拓展裝置40或本體裝置30之驅動程式,以實現處理器10與硬碟之間之資訊傳輸。處理器10可根據確定處理器10識別動作硬碟中存儲之檔案或程式時,運行之驅動程式是否為拓展裝置40之驅動程式,從而確定動作硬碟之插接位置為拓展槽位或本體槽位。
請參閱圖3,一些實施例中,電子設備100中之拓展裝置40之品牌、型號等是工作人員已知拓展裝置40之驅動名稱是已知其中,驅動名稱為驅動程式之名稱。處理器10確定動作硬碟對應之驅動程式是否為拓展裝置40之驅動程式之方法可包括以下步驟:
步驟S31:獲取拓展裝置40對應之驅動名稱。
可理解,當驅動名稱已知時,驅動名稱可預存於記憶體20中,處理器10可從記憶體20中獲取拓展裝置40之驅動名稱。
步驟S32:確定動作硬碟對應之識別資訊與驅動名稱是否相同,響應於識別資訊與驅動名稱相同,確定動作硬碟對應之驅動程式是拓展裝置40之驅動程式,進入步驟S23;響應於識別資訊與驅動名稱不相等,確定動作硬碟對應之驅動程式不是拓展裝置40之驅動程式,結束流程。
可理解,識別資訊為動作硬碟之硬體資訊中預設位置之資訊。處理器10藉由公知之、開源之指令可獲取動作硬碟之硬體資訊,硬體資訊中預設位置之資訊可以為實現處理器10與動作硬碟之間資訊傳輸之驅動程式之名稱。例如,電子設備100之運行系統可以為Linux系統,處理器10運行Linux系統時,可藉由udevadm指令獲取動作硬碟之硬體資訊,預設位置可以為硬體資訊中記錄有驅動名稱之一行資訊中之第二列。
可理解,當確定動作硬碟對應之驅動程式為拓展裝置40之驅動程式時,可確定處理器10藉由拓展裝置40之驅動程式實現與動作硬碟之資訊傳輸,從而可確定動作硬碟之插接位置為拓展槽位。反之則可確定動作硬碟之插接位置為本體槽位。
請參閱圖4,另一些實施例中,多種拓展裝置40具有多種不同之驅動程式,多種不同之驅動程式分別對應有多個不同之驅動名稱。電子設備100中之拓展裝置40之品牌、型號等資訊是工作人員未知拓展裝置40之驅動名稱是工作人員未知。處理器10確定動作硬碟對應之驅動程式是否為拓展裝置40之驅動程式之方法可包括以下步驟S41、S42:
步驟S41:獲取多個拓展裝置40對應之多個驅動名稱。
步驟S42:依次確定動作硬碟對應之識別資訊與多個驅動名稱是否相同,響應於識別資訊與一驅動名稱相同,確定動作硬碟對應之驅動程式是拓展裝置40之驅動程式,進入步驟S23;響應於識別資訊與多個驅動名稱均不相同,確定動作硬碟對應之驅動程式是本體裝置30之驅動程式,結束流程。
可理解,當工作人員對拓展裝置40之驅動名稱未知時,處理器10可獲取與電子設備100適配之多種拓展裝置40對應之驅動名稱,並將識別資訊與多個驅動名稱逐一對比,當出現一個驅動名稱與識別資訊相同時,可確定動作硬碟之插接位置為拓展槽位,且可根據驅動名稱同時確定拓展裝置40之品牌、型號等資訊。反則可確定動作硬碟之插接位置為本體槽位。
可理解,與電子設備100適配之多種拓展裝置40對應之驅動名稱可存儲於記憶體20中。
請參閱圖5,一些實施例中,確定識別資訊與驅動名稱是否相同之方法可包括一下步驟:
步驟S51:根據驅動名稱生成驅動字串。
可理解,處理器10可根據已知之驅動名稱,生成與一個或多個驅動名稱對應之一個或多個驅動字串。
舉例說明,處理器10可藉由運行代碼lsi="mpt3sas"與pmc="smartpqi",從而執行步驟S51。其中,lsi與pmc分別為兩個驅動字串,驅動字串lsi之內容“mpt3sas”為LSI品牌之主機匯流排適配器之驅動程式之驅動名稱,驅動字串pmc之內容“smartpqi"”為PMC品牌之主機匯流排適配器之驅動程式之驅動名稱。
步驟S52:獲取動作硬碟之硬體資訊中包括有驅動名稱之部分資訊。
可理解,處理器10可藉由開源、公知之指令獲取動作硬碟之硬體資訊。當記憶體20中僅存儲有一個驅動名稱時,處理器10執行步驟S51時生成一個驅動字串,處理器10執行步驟S52時於動作硬碟之硬體資訊中查找與記憶體20中驅動名稱相同之資訊,並獲取硬體資訊中包括有驅動名稱之部分資訊。當記憶體20中存儲有多個驅動名稱時,處理器10執行步驟S51時生成多個驅動字串,處理器10執行步驟S52時於動作硬碟之硬體資訊中依次查找與多個驅動名稱相同之資訊,並獲取硬體資訊中包括有驅動名稱之部分資訊。
可理解,當記憶體20中僅存儲有一個驅動名稱,且處理器10無法於動作硬碟之硬體資訊中查找出驅動名稱時,處理器10獲取部分資訊之結果為空。當記憶體20中存儲有多個驅動名稱,且處理器10無法於動作硬碟之硬體資訊中查找出任一驅動名稱時,處理器10獲取部分資訊之結果為空。
可理解,部分資訊可以為硬體資訊中包括有驅動名稱之一行資訊。本申請之實施例中,當硬體資訊中存在驅動名稱時,硬體資訊僅包括一個驅動名稱。
步驟S53:獲取部分資訊中位於預設位置之資訊為識別資訊。
可理解,預設位置可以為碟符調整方法執行前,工作人員根據硬體資訊之資訊格式確定之位置。例如,預設位置可以為部分資訊中位於第二列之資訊。
可理解,插接於本體槽位與拓展槽位上之多個硬碟之硬體資訊之格式可以相同,即硬碟之硬體資訊中出現驅動名稱之部分資訊中,於該部分資訊預設位置上之內容均為與該硬碟對應之驅動名稱。工作人員可根據驅動名稱出現今硬體資訊中之位置,於碟符調整方法運行前確定預設位置。
可理解,步驟S52中獲取部分資訊之結果為空時,步驟S53中獲取識別資訊之結果為空。
舉例說明,處理器10可藉由運行代碼driver=`udevadm info -a /dev/$SD |grep mpt3sas |awk -F '"' '{printf $2}'`,執行步驟S52與S53。該代碼對應於驅動名稱“mpt3sas”。“$SD”之內容為動作硬碟之系統碟符中之第二符部。處理器10執行driver對應之指令時,可獲取動作硬碟之硬體資訊,於硬體資訊中查找內容“mpt3sas”之一行資訊,並於存在內容“mpt3sas”之一行資訊中獲取位於第二列之資訊。當硬體資訊中存在內容“mpt3sas”時,處理器10獲取之識別資訊內容為“mpt3sas”; 當硬體資訊中不存在內容名“mpt3sas”時,處理器10獲取結果為空。
步驟S54:確定驅動字串之內容與識別資訊之內容是否相同,響應於驅動字串之內容與識別資訊之內容相同,確定識別資訊與驅動名稱相同,進入步驟S23;響應於驅動字串之內容與識別資訊之內容不相同,確定識別資訊與驅動名稱不相同,結束流程。
可理解,當步驟S53中獲取識別資訊之結果不為空時,識別資訊之內容為驅動名稱,識別資訊之內容與驅動字串之內容相同。當步驟S53中獲取識別資訊之結果為空時,識別資訊之內容與驅動字串之內容不相同。
可理解,當記憶體20中存儲有M個驅動名稱時,處理器10根據M個驅動名稱分別執行M次步驟S51至步驟S53,生成M個識別資訊。處理器10可對M個識別資訊逐一分別執行步驟S54,以確定M個識別資訊之內容與M個驅動字串之內容是否相同。當步驟S54執行次數達到M次時,處理器10可確定是否存在一組識別資訊之內容與驅動字串之內容是相同若存在,則處理器10可確定識別資訊與驅動名稱相同;若M組識別資訊之內容與M個驅動字串之內容均不相同,則處理器10可確定識別資訊與驅動名稱不相同。其中,M為大於或等於2之正整數。
可理解,當識別資訊與驅動名稱相同時,可確定動作硬碟之插接位置為拓展裝置40。
請重新參閱圖2,步驟S23:獲取硬碟對應之槽位值。
可理解,槽位值可以為拓展裝置40上之多個拓展插槽之預設序號。拓展裝置40於生產加工過程中可對拓展插槽按預設之順序排序,使多個拓展插槽均對應有不同之序號。例如,主機匯流排適配器上設有多個插槽,且多個插槽之序號分別是0、1、2、……、n,n為正整數。
可理解,處理器10可藉由開源、公知之指令獲取動作硬碟對應之拓展插槽之槽位置。
舉例說明,於Linux系統中,可藉由lsscsi指令獲取主機匯流排適配器上之動作硬碟對應之槽位資訊,並從槽位資訊中獲取槽位置。例如,槽位資訊之內容可以為slot1、slot2、……、slotn等,其中n為常數。槽位資訊內容中之數位部分n為槽位值,代表了槽位資訊對應之槽位是拓展裝置40中之第n個拓展槽位。
步驟S24:根據槽位值修改動作硬碟之系統碟符為槽位碟符。
可理解,於電子設備100開機時,電子設備100之運行系統對電子設備100中之多個硬碟分配系統碟符後,處理器10可執行碟符調整方法以將插接於拓展槽位上之硬碟之系統碟符均修改為槽位碟符。當拓展槽位上新增硬碟或拓展槽位上之硬碟熱插拔時,電子設備100之運行系統對動作硬碟重新分配系統碟符,處理器10可執行碟符調整方法以將拓展槽位上之動作硬碟之系統碟符修改為槽位碟符。於此基礎上,電子設備100持續工作之過程中,位於拓展槽位上之硬碟之碟符均為槽位碟符,工作人員或處理器10調取拓展槽位上之硬碟中存儲之檔案時,可以槽位碟符作為目錄位址查找檔案。例如,處理器10運行Linux系統時,當電子設備100開機或拓展槽位上之硬碟發生熱插拔情況時,處理器10獲取動作硬碟之系統碟符為sdd,獲取動作硬碟對應之槽位資訊為slot2,其中2為槽位值時,處理器10可動作硬碟之系統碟符sdd修改為sd2。
請參閱圖6,一些實施例中,根據槽位值修改系統碟符為槽位碟符之方法可包括以下步驟:
步驟S61:確定動作硬碟是否存在分區,響應於動作硬碟不存在分區,進入步驟S62;響應於動作硬碟存在分區,進入步驟S63。
可理解,硬碟中可存在分區,多個分區可分別用於存儲不同之檔案。系統碟符之第二符部可包括硬碟符部與分區符部,多個硬碟符部對應於多個硬碟。多個分區符部對應於一個硬碟中之多個分區。
舉例說明,處理器10運行Linux系統時,動作硬碟之系統碟符可為sdd1、sdd2與sdd3,其中sd為第一符部,d1、d2與d3為第二符部。第二符部d1、d2與d3中,d為硬碟符部,1、2與3為分區符部。動作硬碟中存在3個分區。
可理解,處理器10可根據系統碟符查看硬碟之檔案目錄,並藉由於硬碟之檔案目錄下查看是否存在與分區對應之子目錄,從而確定硬碟是否存在分區。當硬碟之檔案目錄下存在與分區對應之子目錄時,硬碟存在分區。
步驟S62:以槽位值替換第二符部,生成槽位碟符。
可理解,當動作硬碟不存在分區時,處理器10可將動作硬碟對應之系統碟符中之第二符部刪除,並將槽位值補充至第二符部之位置,從而生成動作硬碟對應之槽位碟符。
步驟S63:獲取動作硬碟之多個分區值。 可理解,處理器10可藉由識別與動作硬碟對應之系統碟符之數量及分區符部,或根據系統碟符識別動作硬碟之檔案目錄中子目錄之名稱,獲取系統碟符中分區之數量及各個分區對應之分區值。
例如,運行Linux系統之電子設備100中,動作硬碟對應之系統碟符數量為4,4個系統碟符分別為sdd、sdd1、sdd2、sdd3。處理器10根據系統碟符之數量可確定動作硬碟中存在(4-1)個分區,且3個分區之分區值分別為1、2與3。
步驟S64:以槽位值替換硬碟符部,並根據預設格式與分區值修改分區符部,生成槽位碟符。
可理解,於Linux系統中,槽位值與分區至均為阿拉伯數字。為減少槽位碟符中出現多位阿拉伯數字而導致處理器10或工作人員錯誤識別槽位碟符之情況,於生成之槽位碟符中可將根據預設格式調整後之分區值替換分區符部,生成槽位碟符。其中,預設格式可以為碟符調整方法運行前工作人員預設,且與分區符部之格式不相同之格式。
舉例說明,於Linux系統中,預設格式可以為p*,其中*為分區值,*為大於0之正整數。例如,動作硬碟對應有3個系統碟符,分別sdd1、sdd2、sdd3。其中,第一符部為sd,硬碟符部為d,分區符部為1、2與3;動作硬碟對應之槽位值為0,動作硬碟之分區對應之分區值分別為1、2與3,處理器10執行步驟S64後,生成之3個槽位碟符分別為sd0p1,sd0p2與sd0p3。
可理解,本申請之實施例中,碟符調整方法可運行於電子設備100開機工作時及電子設備100中出現硬碟熱插拔之情況時。當電子設備100開機工作時,處理器10首次識別到電子設備內之多個硬碟,於電子設備100之運行系統對多個硬碟分配系統碟符後,處理器10可根據識別到多個硬碟之先後順序逐一獲取多個硬碟為動作硬碟,執行碟符調整方法,以將拓展槽位上插接之硬碟之碟符調整為槽位碟符。其中,處理器10識別到多個硬碟之先後順序可以為先讀取本體槽位上之硬碟,再讀取拓展槽位上之硬碟;當多個本體槽位上插接有多個硬碟時,處理器10根據多個本體槽位之預設序號由小至大之排序,依次識別多個本體槽位上之硬碟;當多個拓展槽位上插接有多個硬碟時,處理器10根據多個拓展槽位之預設序號由小至大之排序,依次識別多個拓展槽位上之硬碟。
當電子設備100工作,且電子設備100中之硬碟出現熱插拔情況時,處理器10可對動作硬碟執行碟符調整方法。當動作硬碟之插接位置為拓展槽位時,處理器10可將動作硬碟之碟符調整為槽位碟符。當處理器10對一動作硬碟執行碟符調整方法結束後,電子設備100之運行系統持續檢測硬碟之動作時間,當出現另一動作硬碟出現熱插拔情況時,處理器10可對另一動作硬碟執行碟符調整方法。
本申請之實施例中提供之碟符調整方法,可於電子設備100開機工作或拓展槽位上出現動作硬碟熱插拔之情況下,根據動作硬碟插接之拓展槽位之槽位值,將動作硬碟之系統碟符調整為與槽位值對應之槽位碟符。當工作人員或處理器10需要查找或調用動作硬碟中之檔案時,可藉由槽位碟符確定動作硬碟對應之目錄位址後,於目錄中查找所需之檔案。藉由本申請之實施例提供之碟符調整方法,可於出現碟符漂移之情況時調整硬碟之碟符為槽位碟符,減少由於碟符漂移情況而導致之無法根據原有碟符對動作硬碟內之檔案進行查找或調用之情況,提高對硬碟內檔案查找與調用之方便性。
基於同一構思,本申請之實施例還提供了一種存儲介質。可讀存儲介質中存儲有電腦程式21,電腦程式21於電子設備100上運行時,使得電子設備100可執行前述實施例提供之碟符調整方法。
對於本領域技術人員而言,顯然本申請不限於上述示範性實施例之細節,且於不背離本申請之精神或基本特徵之情況下,能夠以其他之具體形式實現本申請。因此,無論從哪一點來看,均應將本申請上述之實施例看作是示範性且是非限制性本申請之範圍由所附請求項而不是上述說明限定,因此旨於將落於請求項之等同要件之含義與範圍內之所有變化涵括於本申請內。
100:電子設備 10:處理器 20:記憶體 21:電腦程式 30:本體裝置 40:拓展裝置 S21~S24:步驟 S31、S32:步驟 S41、S42:步驟 S51~S54:步驟 S61~S64:步驟
圖1是本申請實施例中電子設備之結構示意圖。 圖2是本申請實施例中碟符調整方法之流程圖。 圖3是本申請實施例中碟符調整方法之另一流程圖。 圖4是本申請實施例中碟符調整方法之另一流程圖。 圖5是本申請實施例中碟符調整方法之另一流程圖。 圖6是本申請實施例中碟符調整方法之另一流程圖。
S21~S24:步驟

Claims (10)

  1. 一種碟符調整方法,用於調整硬碟之碟符,其改良在於,所述碟符調整方法包括: 響應於已識別動作硬碟,獲取所述動作硬碟之系統碟符; 識別所述動作硬碟之插接位置; 響應於所述動作硬碟插接於拓展槽位,獲取所述動作硬碟對應之槽位值; 根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符。
  2. 如請求項1所述之碟符調整方法,其中,所述識別所述動作硬碟之插接位置包括: 確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式,其中,所述拓展裝置上設置有拓展槽位; 響應於所述動作硬碟對應之驅動程式是所述拓展裝置之所述驅動程式,獲取所述動作硬碟之插接位置為所述拓展槽位。
  3. 如請求項2所述之碟符調整方法,其中,所述獲取所述動作硬碟之插接位置包括: 響應於所述動作硬碟對應之驅動程式不是所述拓展裝置之所述驅動程式,獲取所述動作硬碟之插接位置為本體槽位。
  4. 如請求項2所述之碟符調整方法,其中,所述確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式包括: 獲取所述拓展裝置對應之驅動名稱,其中,所述驅動名稱為所述驅動程式之名稱; 確定所述動作硬碟對應之識別資訊與所述驅動名稱是否相同,其中,所述識別資訊為所述動作硬碟之硬體資訊中預設位置之資訊; 響應於所述識別資訊與所述驅動名稱相同,確定所述動作硬碟對應之所述驅動程式是所述拓展裝置之所述驅動程式。
  5. 如請求項1所述之碟符調整方法,其中,所述確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式包括: 獲取多個所述拓展裝置對應之多個驅動名稱,其中,多個所述驅動名稱分別為多個所述驅動程式之名稱,所述驅動程式之數量大於或等於二; 依次確定所述動作硬碟對應之識別資訊與多個所述驅動名稱是否相同,其中,所述識別資訊為所述動作硬碟之硬體資訊中預設位置之資訊; 響應於所述識別資訊與一所述驅動名稱相同,確定所述動作硬碟對應之所述驅動程式是所述拓展裝置之所述驅動程式。
  6. 如請求項4或5所述之碟符調整方法,其中,確定所述識別資訊與所述驅動名稱是否相同之方法包括: 根據所述驅動名稱生成驅動字串; 獲取硬體資訊中包括有所述驅動名稱之部分資訊; 獲取所述部分資訊中位於預設位置之資訊為所述識別資訊; 響應於所述驅動字串之內容與所述識別資訊之內容相同,確定所述識別資訊與所述驅動名稱相同。
  7. 如請求項1所述之碟符調整方法,其中,所述系統碟符包括第一符部與第二符部,多個所述系統碟符之所述第一符部相同,多個所述系統碟符之所述第二符部不同,所述根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符包括: 響應於所述動作硬碟不包括分區,以所述槽位值替換所述第二符部,生成所述槽位碟符。
  8. 如請求項7所述之碟符調整方法,其中,所述第二符部包括硬碟符部與分區符部,多個所述硬碟符部分別對應於多個硬碟,多個所述分區符部對應於硬碟中之多個分區,所述根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符包括: 響應於所述動作硬碟包括分區,獲取所述分區值; 以所述槽位值替換所述硬碟符部,並根據預設格式與所述分區值修改所述分區符部,生成所述槽位碟符。
  9. 一種電子設備,其改良在於,包括: 記憶體,用於存儲電腦程式; 處理器,用於執行所述記憶體存儲之所述電腦程式,當所述電腦程式被執行時,所述處理器用於執行如請求項1至8中任一項所述之碟符調整方法。
  10. 一種存儲介質,其改良在於,所述存儲介質包括電腦程式,當所述電腦程式於電子設備上運行時,使得所述電子設備執行如請求項1至8中任一項所述之碟符調整方法。
TW111138433A 2022-09-22 2022-10-11 碟符調整方法、電子設備及存儲介質 TWI816574B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211158741.3A CN117785017A (zh) 2022-09-22 2022-09-22 盘符调整方法、电子设备及存储介质
CN202211158741.3 2022-09-22

Publications (2)

Publication Number Publication Date
TWI816574B TWI816574B (zh) 2023-09-21
TW202414248A true TW202414248A (zh) 2024-04-01

Family

ID=88966287

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111138433A TWI816574B (zh) 2022-09-22 2022-10-11 碟符調整方法、電子設備及存儲介質

Country Status (3)

Country Link
US (1) US20240104044A1 (zh)
CN (1) CN117785017A (zh)
TW (1) TWI816574B (zh)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699423B (zh) * 2015-03-13 2018-08-21 华为技术有限公司 Linux系统中绑定盘符的方法和装置

Similar Documents

Publication Publication Date Title
US7971182B1 (en) Application environment specifications for provisioning application specific runtime environments using undefined symbols
US8336047B2 (en) Provisioning virtual resources using name resolution
US8219987B1 (en) Optimized virtual machine specification for provisioning application specific runtime environment
JP5772127B2 (ja) 仮想マシン管理方法、情報処理装置および仮想マシン管理プログラム
JP5309043B2 (ja) ストレージシステム及びストレージシステムでの重複データ削除のための方法
US6658563B1 (en) Virtual floppy diskette image within a primary partition in a hard disk drive and method for booting system with virtual diskette
US20040003135A1 (en) Technique for driver installation
US6973447B1 (en) System apparatus and method for supporting multiple partitions including multiple systems in boot code
US10671403B2 (en) Method and apparatus for identifying hardware device in operating system
US20080065874A1 (en) System and method for dynamic determination of system topology in a multiple building block server system
US9116770B2 (en) Recipe-based application conversion
US8825909B1 (en) Application directed dynamic driver substitution
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
JP2006251990A (ja) データベース再編成プログラムおよびデータベース再編成方法
TW202414248A (zh) 碟符調整方法、電子設備及存儲介質
TWI816574B (zh) 碟符調整方法、電子設備及存儲介質
TWI803130B (zh) 槽位綁定方法、系統、終端設備及存儲介質
US20080004857A1 (en) Restoring base configuration on software testing computer
US8271725B1 (en) Method and apparatus for providing a host-independent name to identify a meta-device that represents a logical unit number
CN117311832B (zh) Pcie设备启动模式的展示方法、装置、设备及介质
JP2000148413A (ja) デバイス識別子に基づいた記憶デバイスの構成の検証
US8799616B2 (en) Method and system for preferred CPU binding on virtual partitions
US9740461B2 (en) System and method for executing user channel programs on mainframe computers
US20200050388A1 (en) Information system
JP5294352B2 (ja) シンクライアントシステム、セッション管理装置、セッション管理方法およびプログラム