本發(fā)明涉及信創(chuàng)超融合一體機(jī),具體為一種信創(chuàng)環(huán)境下超融合一體機(jī)的usb設(shè)備管理方法及系統(tǒng)。
背景技術(shù):
1、在基于信創(chuàng)環(huán)境的超融合一體機(jī)之中,在一些使用場景下,需要將物理機(jī)上的usb設(shè)備供給虛機(jī)使用,比如在虛機(jī)上掛載物理機(jī)上接入的u盤,以訪問u盤中的數(shù)據(jù)?;趉ubernetes的容器虛擬化管理技術(shù)kubevirt提供了usb重定向的功能,能將物理機(jī)上的usb設(shè)備重定向至虛機(jī)之中。usb重定向技術(shù)使用usbredir協(xié)議,將usb設(shè)備通過網(wǎng)絡(luò)進(jìn)行共享,使得連接到物理機(jī)的usb設(shè)備可被虛機(jī)所使用。
2、但是,上述過程需要在usb設(shè)備所在物理機(jī)上運(yùn)行一個(gè)usb重定向服務(wù)器程序,在指定端口上進(jìn)行監(jiān)聽。kubevirt雖然提供了usb重定向功能,但整個(gè)過程需要用戶手動執(zhí)行多個(gè)命令行操作,且usb重定向服務(wù)器程序的運(yùn)行、記錄與停止也需要由用戶手動管理,當(dāng)虛機(jī)需要使用的usb設(shè)備增多時(shí),全程手動管理也增加了用戶的心智負(fù)擔(dān),同時(shí)也要求用戶具備一定的知識技能,才能正確地進(jìn)行usb設(shè)備的管理。
3、因此,需要一種信創(chuàng)環(huán)境下超融合一體機(jī)的usb設(shè)備管理方法及系統(tǒng),用來解決現(xiàn)有usb設(shè)備管理方法手動操作帶來的復(fù)雜性;可以降低用戶的學(xué)習(xí)成本。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種信創(chuàng)環(huán)境下超融合一體機(jī)的usb設(shè)備管理方法及系統(tǒng),以解決上述背景技術(shù)中提出的現(xiàn)有usb設(shè)備管理方法手動操作帶來的復(fù)雜性;可以降低用戶的學(xué)習(xí)成本。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種信創(chuàng)環(huán)境下超融合一體機(jī)的usb設(shè)備管理方法,所述方法包括以下步驟:
3、usb設(shè)備信息的自動收集與更新;
4、usb設(shè)備的遠(yuǎn)程掃描與監(jiān)控;
5、usb設(shè)備的遠(yuǎn)程掛載與重定向,usb設(shè)備重定向進(jìn)程的管理;
6、用戶端usb設(shè)備的使用指導(dǎo)。
7、優(yōu)選的,usb設(shè)備信息的自動收集與更新的具體操作包括:
8、代理程序在信創(chuàng)超融合一體機(jī)中運(yùn)行定時(shí)任務(wù),定期發(fā)送包含其ip地址、端口號以及所在物理機(jī)節(jié)點(diǎn)信息的心跳信號至管理程序后端;
9、管理程序后端接收并存儲上述心跳信號中的代理程序信息至內(nèi)存緩存中;
10、代理程序讀取物理機(jī)節(jié)點(diǎn)上的/sys/kernel/debug/usb/devices文件,解析并收集usb設(shè)備的詳細(xì)信息,包括制造商id、設(shè)備id、設(shè)備名稱;
11、代理程序通過http?api將收集到的usb設(shè)備信息發(fā)送至管理程序后端;
12、管理程序后端將接收到的usb設(shè)備信息與數(shù)據(jù)庫中已保存的數(shù)據(jù)進(jìn)行對比,自動更新數(shù)據(jù)庫以反映最新的usb設(shè)備狀態(tài)。
13、優(yōu)選的,usb設(shè)備的遠(yuǎn)程掃描與監(jiān)控的具體操作包括:
14、用戶通過管理程序前端頁面選擇usb設(shè)備所在節(jié)點(diǎn),主動發(fā)起usb設(shè)備掃描請求;
15、管理程序后端根據(jù)用戶請求從緩存中獲取對應(yīng)節(jié)點(diǎn)的代理程序信息,并通過httpapi調(diào)用代理程序執(zhí)行usb設(shè)備掃描;
16、代理程序執(zhí)行掃描后,將結(jié)果發(fā)送至管理程序后端,由后端更新數(shù)據(jù)庫并返回掃描結(jié)果至前端頁面展示給用戶。
17、優(yōu)選的,usb設(shè)備的遠(yuǎn)程掛載與重定向,usb設(shè)備重定向進(jìn)程的管理的具體操作包括:
18、用戶通過管理程序前端選擇usb設(shè)備并指定虛機(jī)進(jìn)行掛載;
19、管理程序后端根據(jù)用戶請求,從緩存中獲取對應(yīng)節(jié)點(diǎn)的代理程序信息,通過httpapi調(diào)用代理程序執(zhí)行usb設(shè)備重定向操作;
20、代理程序通過nsenter命令進(jìn)入物理機(jī)節(jié)點(diǎn)的相應(yīng)命名空間,執(zhí)行virtctl命令將usb設(shè)備重定向至指定虛機(jī);
21、代理程序記錄重定向進(jìn)程的pid,并通過http?api發(fā)送至管理程序后端,由后端保存至數(shù)據(jù)庫;
22、代理程序定期向管理程序后端發(fā)送重定向進(jìn)程的狀態(tài)信息;
23、管理程序后端監(jiān)控重定向進(jìn)程的狀態(tài),若發(fā)生異常則通知代理程序重新啟動重定向進(jìn)程,并更新數(shù)據(jù)庫中的pid信息;
24、當(dāng)用戶通過管理程序前端卸載usb設(shè)備時(shí),管理程序后端根據(jù)數(shù)據(jù)庫中保存的pid信息,通過http?api調(diào)用代理程序執(zhí)行kill命令,停止對應(yīng)的usb重定向進(jìn)程。
25、優(yōu)選的,用戶端usb設(shè)備的使用指導(dǎo)的具體操作包括:
26、當(dāng)usb設(shè)備成功重定向至指定虛機(jī)后,管理程序前端向用戶提供usb設(shè)備的使用指導(dǎo),包括在虛機(jī)內(nèi)查看usb設(shè)備是否掛載成功,以及對于存儲設(shè)備的掛載建議;
27、用戶根據(jù)指導(dǎo)信息在虛機(jī)內(nèi)執(zhí)行相應(yīng)操作,如執(zhí)行mount命令將存儲設(shè)備掛載至指定目錄。
28、一種創(chuàng)環(huán)境下超融合一體機(jī)的usb設(shè)備管理系統(tǒng),所述系統(tǒng)由信息采集模塊、設(shè)備監(jiān)控模塊、設(shè)備管理模塊以及設(shè)備使用指導(dǎo)模塊組成;
29、信息采集模塊,用于usb設(shè)備信息的自動收集與更新;
30、設(shè)備監(jiān)控模塊,用于usb設(shè)備的遠(yuǎn)程掃描與監(jiān)控;
31、設(shè)備管理模塊,用于usb設(shè)備的遠(yuǎn)程掛載與重定向,usb設(shè)備重定向進(jìn)程的管理;
32、設(shè)備使用指導(dǎo)模塊,用于用戶端usb設(shè)備的使用指導(dǎo)。
33、優(yōu)選的,所述信息采集模塊,代理程序在信創(chuàng)超融合一體機(jī)中運(yùn)行定時(shí)任務(wù),定期發(fā)送包含其ip地址、端口號以及所在物理機(jī)節(jié)點(diǎn)信息的心跳信號至管理程序后端;
34、管理程序后端接收并存儲上述心跳信號中的代理程序信息至內(nèi)存緩存中;
35、代理程序讀取物理機(jī)節(jié)點(diǎn)上的/sys/kernel/debug/usb/devices文件,解析并收集usb設(shè)備的詳細(xì)信息,包括制造商id、設(shè)備id、設(shè)備名稱;
36、代理程序通過http?api將收集到的usb設(shè)備信息發(fā)送至管理程序后端;
37、管理程序后端將接收到的usb設(shè)備信息與數(shù)據(jù)庫中已保存的數(shù)據(jù)進(jìn)行對比,自動更新數(shù)據(jù)庫以反映最新的usb設(shè)備狀態(tài)。
38、優(yōu)選的,所述設(shè)備監(jiān)控模塊,用戶通過管理程序前端頁面選擇usb設(shè)備所在節(jié)點(diǎn),主動發(fā)起usb設(shè)備掃描請求;
39、管理程序后端根據(jù)用戶請求從緩存中獲取對應(yīng)節(jié)點(diǎn)的代理程序信息,并通過httpapi調(diào)用代理程序執(zhí)行usb設(shè)備掃描;
40、代理程序執(zhí)行掃描后,將結(jié)果發(fā)送至管理程序后端,由后端更新數(shù)據(jù)庫并返回掃描結(jié)果至前端頁面展示給用戶。
41、優(yōu)選的,所述設(shè)備管理模塊,用戶通過管理程序前端選擇usb設(shè)備并指定虛機(jī)進(jìn)行掛載;
42、管理程序后端根據(jù)用戶請求,從緩存中獲取對應(yīng)節(jié)點(diǎn)的代理程序信息,通過httpapi調(diào)用代理程序執(zhí)行usb設(shè)備重定向操作;
43、代理程序通過nsenter命令進(jìn)入物理機(jī)節(jié)點(diǎn)的相應(yīng)命名空間,執(zhí)行virtctl命令將usb設(shè)備重定向至指定虛機(jī);
44、代理程序記錄重定向進(jìn)程的pid,并通過http?api發(fā)送至管理程序后端,由后端保存至數(shù)據(jù)庫;
45、代理程序定期向管理程序后端發(fā)送重定向進(jìn)程的狀態(tài)信息;
46、管理程序后端監(jiān)控重定向進(jìn)程的狀態(tài),若發(fā)生異常則通知代理程序重新啟動重定向進(jìn)程,并更新數(shù)據(jù)庫中的pid信息;
47、當(dāng)用戶通過管理程序前端卸載usb設(shè)備時(shí),管理程序后端根據(jù)數(shù)據(jù)庫中保存的pid信息,通過http?api調(diào)用代理程序執(zhí)行kill命令,停止對應(yīng)的usb重定向進(jìn)程。
48、優(yōu)選的,所述設(shè)備使用指導(dǎo)模塊,當(dāng)usb設(shè)備成功重定向至指定虛機(jī)后,管理程序前端向用戶提供usb設(shè)備的使用指導(dǎo),包括在虛機(jī)內(nèi)查看usb設(shè)備是否掛載成功,以及對于存儲設(shè)備的掛載建議;
49、用戶根據(jù)指導(dǎo)信息在虛機(jī)內(nèi)執(zhí)行相應(yīng)操作,如執(zhí)行mount命令將存儲設(shè)備掛載至指定目錄。
50、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
51、本發(fā)明提出的信創(chuàng)環(huán)境下超融合一體機(jī)的usb設(shè)備管理方法及系統(tǒng),利用kubernetes提供的云原生特性,優(yōu)化了kubevirt?usb重定向的操作流程,實(shí)現(xiàn)usb設(shè)備的信息維護(hù)、usb設(shè)備在虛機(jī)上的掛載、卸載等過程,無需登錄環(huán)境,通過管理程序前端頁面即可完成操作,消除手動操作帶來的復(fù)雜性,提高了用戶體驗(yàn),形成了完整的超融合一體機(jī)usb設(shè)備管理流程。