本發(fā)明涉及智能接口卡技術(shù)領(lǐng)域,特別是涉及一種智能接口卡的控制方法及裝置。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的發(fā)展,智能接口卡(英文:smartinterfacecard,簡(jiǎn)稱:sic)變得越來越復(fù)雜?,F(xiàn)有的智能接口卡的硬件架構(gòu)不但擁有性能強(qiáng)大的soc芯片,同時(shí)還配備了ddr內(nèi)存、ssd硬盤、cpld、用于管理的bmc、各類電壓、溫度監(jiān)測(cè)芯片,以及各類像網(wǎng)口、sas口等外設(shè),配置已近接近一臺(tái)小型服務(wù)器。
智能接口卡通過插在服務(wù)器上相應(yīng)的接口插槽上進(jìn)行工作,服務(wù)器需要對(duì)與智能接口卡建立傳輸控制指令的通道,對(duì)智能接口卡進(jìn)行管理。傳統(tǒng)技術(shù)中包括兩種管理方式:帶內(nèi)管理和帶外管理。在帶內(nèi)管理方式中,智能接口卡上設(shè)置有廠家設(shè)置的特定的寄存器,服務(wù)器host通過廠家相應(yīng)提供的管理軟件讀寫該寄存器來對(duì)智能接口卡進(jìn)行控制和管理。在帶外管理方式中,智能接口卡上通常還設(shè)置了i2c(inter-integratedcircuit,由philips公司開發(fā)的兩線式串行總線)總線接口,智能接口卡插在host相應(yīng)的插槽上之后,還需要額外的線路構(gòu)成智能接口卡與host的i2c總線鏈路,然后通過該額外的i2c總線傳輸控制指令。
由此可看出,帶內(nèi)管理智能接口卡的方式需要智能接口卡上設(shè)置特定的寄存器,并且服務(wù)器host只有在安裝了相應(yīng)的管理軟件之后才能進(jìn)行管理,在插入了多塊不同廠家的智能接口卡之后,需要安裝多個(gè)廠家不同的管理軟件分別進(jìn)行管理。而在帶外管理智能接口卡的方式則需要服務(wù)器host提供額外的用于控制的i2c總線接口,若服務(wù)器host不具備或沒有空閑的i2c總線接口,則無法對(duì)插入的智能接口卡進(jìn)行管理。因此,傳統(tǒng)技術(shù)中不管是帶內(nèi)還是帶外的管 理方式都存在擴(kuò)展性不足的問題。
技術(shù)實(shí)現(xiàn)要素:
基于此,為解決上述傳統(tǒng)技術(shù)中帶內(nèi)或帶外管理智能接口卡的方式無法適配普遍類型的服務(wù)器而存在的擴(kuò)展性不足的問題,特提出了一種智能接口卡的控制方法。
本發(fā)明實(shí)施例第一方面公開了一種智能接口卡的控制方法,包括:
在插入主機(jī)的智能接口卡插槽之后,通過預(yù)設(shè)類型的協(xié)議棧向所述主機(jī)注冊(cè)虛擬化的管理接口;
創(chuàng)建虛擬鏈路,并將基板管理控制器bmc管理接口接入到所述虛擬鏈路中;
接收主機(jī)發(fā)送的管理地址配置指令,根據(jù)所述管理地址配置指令配置所述管理接口的管理地址;
接收主機(jī)通過所述管理地址發(fā)送的控制指令,通過所述虛擬鏈路將所述控制指令發(fā)送給所述bmc管理接口。
結(jié)合本發(fā)明實(shí)施例第一方面的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第一種可能的實(shí)現(xiàn)方式中,所述虛擬化的管理接口的協(xié)議棧的類型包括以太網(wǎng)接口、小型計(jì)算機(jī)系統(tǒng)接口scsi、通用串行總線usb接口、i2c接口或lpc接口中的一種。
結(jié)合本發(fā)明實(shí)施例第一方面的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第二種可能的實(shí)現(xiàn)方式中,所述智能接口卡插槽的類型包括pcie接口插槽或usb接口插槽。
結(jié)合本發(fā)明實(shí)施例第一方面以及第一方面的第一種或第二種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第三種可能的實(shí)現(xiàn)方式中,所述智能接口卡插槽的類型為pcie接口插槽;
所述通過預(yù)設(shè)類型的協(xié)議棧向所述主機(jī)注冊(cè)虛擬化的管理接口為:
通過預(yù)設(shè)類型的協(xié)議棧在所述主機(jī)的pcie接口上注冊(cè)虛擬化的管理接口。
結(jié)合本發(fā)明實(shí)施例第一方面以及第一方面的第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第四種可能的實(shí)現(xiàn)方式中,所述虛擬化的管理接口的協(xié) 議棧的類型為以太網(wǎng)接口;
所述創(chuàng)建虛擬鏈路,并將基板管理控制器bmc管理接口接入到所述虛擬鏈路中為:
創(chuàng)建虛擬局域網(wǎng)鏈路,將bmc管理接口的以太網(wǎng)接口接入到所述虛擬局域網(wǎng)鏈路中;
所述通過所述虛擬鏈路將所述控制指令發(fā)送給所述bmc管理接口為:
通過所述虛擬局域網(wǎng)鏈路將所述控制指令發(fā)送給所述bmc管理接口的以太網(wǎng)接口。
結(jié)合本發(fā)明實(shí)施例第一方面以及第一方面的第四種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第五種可能的實(shí)現(xiàn)方式中,所述創(chuàng)建虛擬局域網(wǎng)還包括:
將片上系統(tǒng)soc管理接口的以太網(wǎng)接口接入到所述虛擬局域網(wǎng)鏈路中。
結(jié)合本發(fā)明實(shí)施例第一方面以及第一方面的第四種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第六種可能的實(shí)現(xiàn)方式中,所述管理地址配置指令配置所述管理接口的管理地址為:
根據(jù)所述管理地址配置指令配置所述管理接口的網(wǎng)絡(luò)互連協(xié)議ip地址;
所述接收主機(jī)通過所述管理地址發(fā)送的控制指令為:
接收主機(jī)通過配置的ip地址發(fā)送的基于遠(yuǎn)程管理控制協(xié)議rmcp的控制指令。
結(jié)合本發(fā)明實(shí)施例第一方面以及第一方面的第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第七種可能的實(shí)現(xiàn)方式中,所述虛擬化的管理接口的協(xié)議棧的類型為scsi接口;
所述創(chuàng)建虛擬鏈路,并將基板管理控制器bmc管理接口接入到所述虛擬鏈路中為:
創(chuàng)建虛擬scsi總線,將bmc管理接口接入到所述虛擬scsi總線中;
所述通過所述虛擬鏈路將所述控制指令發(fā)送給所述bmc管理接口為:
通過所述虛擬scsi總線將所述控制指令發(fā)送給所述bmc管理接口。
結(jié)合本發(fā)明實(shí)施例第一方面以及第一方面的第七種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第八種可能的實(shí)現(xiàn)方式中,所述管理地址配置指令配置 所述管理接口的管理地址為:
根據(jù)所述管理地址配置指令配置所述管理接口的scsi讀寫地址;
所述接收主機(jī)通過所述管理地址發(fā)送的控制指令為:
接收主機(jī)通過配置的scsi讀寫地址發(fā)送的包含有控制指令的scsi訪問請(qǐng)求。
此外,為解決上述傳統(tǒng)技術(shù)中帶內(nèi)或帶外管理智能接口卡的方式無法適配普遍類型的服務(wù)器而存在的擴(kuò)展性不足的問題,特提出了一種智能接口卡的控制裝置。
本發(fā)明實(shí)施例第二方面公開了一種智能接口卡的控制裝置,包括:
接口注冊(cè)模塊,用于在插入主機(jī)的智能接口卡插槽之后,通過預(yù)設(shè)類型的協(xié)議棧向所述主機(jī)注冊(cè)虛擬化的管理接口;
虛擬鏈路創(chuàng)建模塊,用于創(chuàng)建虛擬鏈路,并將基板管理控制器bmc管理接口接入到所述虛擬鏈路中;
管理地址配置模塊,用于接收主機(jī)發(fā)送的管理地址配置指令,根據(jù)所述管理地址配置指令配置所述管理接口的管理地址;
控制指令轉(zhuǎn)發(fā)模塊,用于接收主機(jī)通過所述管理地址發(fā)送的控制指令,通過所述虛擬鏈路將所述控制指令發(fā)送給所述bmc管理接口。
結(jié)合本發(fā)明實(shí)施例第二方面的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第一種可能的實(shí)現(xiàn)方式中,所述虛擬化的管理接口的協(xié)議棧的類型包括以太網(wǎng)接口、小型計(jì)算機(jī)系統(tǒng)接口scsi、通用串行總線usb接口、i2c接口或lpc接口中的一種。
結(jié)合本發(fā)明實(shí)施例第二方面的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第二種可能的實(shí)現(xiàn)方式中,所述智能接口卡插槽的類型包括pcie接口插槽或usb接口插槽。
結(jié)合本發(fā)明實(shí)施例第二方面以及第二方面的第一種或第二種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第三種可能的實(shí)現(xiàn)方式中,所述智能接口卡插槽的類型為pcie接口插槽;
所述接口注冊(cè)模塊還用于通過預(yù)設(shè)類型的協(xié)議棧在所述主機(jī)的pcie接口上注冊(cè)虛擬化的管理接口。
結(jié)合本發(fā)明實(shí)施例第二方面以及第二方面的第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第四種可能的實(shí)現(xiàn)方式中,所述虛擬化的管理接口的協(xié)議棧的類型為以太網(wǎng)接口;
所述虛擬鏈路創(chuàng)建模塊還用于創(chuàng)建虛擬局域網(wǎng)鏈路,將bmc管理接口的以太網(wǎng)接口接入到所述虛擬局域網(wǎng)鏈路中;
所述控制指令轉(zhuǎn)發(fā)模塊還用于通過所述虛擬局域網(wǎng)鏈路將所述控制指令發(fā)送給所述bmc管理接口的以太網(wǎng)接口。
結(jié)合本發(fā)明實(shí)施例第二方面以及第二方面的第四種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第五種可能的實(shí)現(xiàn)方式中,所述虛擬鏈路創(chuàng)建模塊還用于將片上系統(tǒng)soc管理接口的以太網(wǎng)接口接入到所述虛擬局域網(wǎng)鏈路中。
結(jié)合本發(fā)明實(shí)施例第二方面以及第二方面的第四種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第六種可能的實(shí)現(xiàn)方式中,所述管理地址配置模塊還用于根據(jù)所述管理地址配置指令配置所述管理接口的網(wǎng)絡(luò)互連協(xié)議ip地址;
所述控制指令轉(zhuǎn)發(fā)模塊還用于接收主機(jī)通過配置的ip地址發(fā)送的基于遠(yuǎn)程管理控制協(xié)議rmcp的控制指令。
結(jié)合本發(fā)明實(shí)施例第二方面以及第二方面的第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第七種可能的實(shí)現(xiàn)方式中,所述虛擬化的管理接口的協(xié)議棧的類型為scsi接口;
所述虛擬鏈路創(chuàng)建模塊還用于創(chuàng)建虛擬scsi總線,將bmc管理接口接入到所述虛擬scsi總線中;
所述控制指令轉(zhuǎn)發(fā)模塊還用于通過所述虛擬scsi總線將所述控制指令發(fā)送給所述bmc管理接口。
結(jié)合本發(fā)明實(shí)施例第二方面以及第二方面的第七種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第八種可能的實(shí)現(xiàn)方式中,所述管理地址配置模塊還用于根據(jù)所述管理地址配置指令配置所述管理接口的scsi讀寫地址;
所述控制指令轉(zhuǎn)發(fā)模塊還用于接收主機(jī)通過配置的scsi讀寫地址發(fā)送的包 含有控制指令的scsi訪問請(qǐng)求。
實(shí)施本發(fā)明具有如下的有益效果:
上述智能接口卡的控制方法及裝置與傳統(tǒng)技術(shù)中的帶內(nèi)管理方式相比,不需要在智能接口卡設(shè)置單獨(dú)的寄存器,主機(jī)側(cè)也不需要安裝管理軟件,主機(jī)可直接通過網(wǎng)絡(luò)或者scsi接口發(fā)送適配通用協(xié)議的控制指令對(duì)智能接口卡進(jìn)行管理。而相對(duì)于帶外管理方式,智能接口卡直接通過與主機(jī)的插槽通信,不需要占用主機(jī)額外的設(shè)備資源,對(duì)于沒有i2c接口的主機(jī),也能夠進(jìn)行管理。因此擴(kuò)展性得到了提高。
同時(shí),與帶外管理方式相比,主機(jī)可通過網(wǎng)絡(luò)、scsi等大帶寬的管理通道對(duì)智能接口卡進(jìn)行管理,相對(duì)原有的帶外管理方式中i2c的管理通道帶寬大幅度提升。
同時(shí),主機(jī)可直接對(duì)接訪問智能接口卡控制器或智能接口卡板載bmc模塊,提供全面的基于標(biāo)準(zhǔn)ipmi框架管理功能。且由于管理通道都是基于pcie通道虛擬的,通過軟件配置的修改就可以改變智能接口對(duì)主機(jī)呈現(xiàn)的設(shè)備類型(網(wǎng)絡(luò)設(shè)備,scsi設(shè)備等),應(yīng)用起來更加靈活,因此擴(kuò)展性也得到了提高。
另外,主機(jī)可通過標(biāo)準(zhǔn)的os提供網(wǎng)橋功能可以將智能接口卡內(nèi)部的虛擬鏈路和外部的管理網(wǎng)絡(luò)連接,將智能接口卡納入到數(shù)據(jù)中心級(jí)別的管理網(wǎng)絡(luò)中去,從而方便由管理網(wǎng)絡(luò)對(duì)多個(gè)主機(jī)上的智能接口卡進(jìn)行管理。
附圖說明
圖1為本發(fā)明一個(gè)實(shí)施例中一種智能接口卡的控制方法的流程圖;
圖2為本發(fā)明一個(gè)實(shí)施例中在pcie端點(diǎn)ep下虛擬局域網(wǎng)鏈路的示意圖;
圖3為本發(fā)明一個(gè)實(shí)施例中主機(jī)通過網(wǎng)絡(luò)向智能接口卡中的bmc傳輸消息的數(shù)據(jù)流向圖;
圖4為本發(fā)明一個(gè)實(shí)施例中主機(jī)在ipmi框架下管理智能接口卡的示意圖;
圖5為本發(fā)明一個(gè)實(shí)施例中在pcie端點(diǎn)ep下虛擬scsi總線的示意圖
圖6為本發(fā)明一個(gè)實(shí)施例中一種智能接口卡的控制裝置的示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為解決上述傳統(tǒng)技術(shù)中帶內(nèi)或帶外管理智能接口卡的方式無法適配普遍類型的服務(wù)器而存在的擴(kuò)展性不足的問題,在一個(gè)實(shí)施例中,特提出了一種智能接口卡的控制方法。該方法的實(shí)現(xiàn)可依賴于計(jì)算機(jī)程序,該計(jì)算機(jī)程序可運(yùn)行于智能接口卡sic上。該計(jì)算機(jī)程序可以固件的形式存儲(chǔ)于智能接口卡sic的存儲(chǔ)芯片中,相應(yīng)的,服務(wù)器host上僅需要對(duì)應(yīng)等更新智能接口卡sic的驅(qū)動(dòng)程序即可。
具體的,該方法如圖1所示,包括:
步驟s102:在插入主機(jī)的智能接口卡插槽之后,通過預(yù)設(shè)類型的協(xié)議棧向所述主機(jī)注冊(cè)虛擬化的管理接口。
主機(jī)host的智能接口卡插槽可以是多種類型的接口類型,例如,可包括但不限于pcie(英文:peripheralcomponentinterconnect-express,中文:擴(kuò)展的定義局部總線的標(biāo)準(zhǔn))接口插槽或通用串行總線usb(universalserialbus)接口插槽。智能接口卡在插入主機(jī)之前,需要先在主機(jī)上安裝驅(qū)動(dòng)程序。當(dāng)驅(qū)動(dòng)程序安裝好后,智能接口卡插入主機(jī)的智能接口卡插槽時(shí),主機(jī)即可檢測(cè)到該設(shè)備,并等待該智能接口卡注冊(cè)設(shè)備。
在本實(shí)施例中,智能接口卡在向主機(jī)注冊(cè)設(shè)備時(shí)與傳統(tǒng)技術(shù)不同,智能接口卡并不將其在主機(jī)上注冊(cè)為智能接口卡sic設(shè)備,而是通過預(yù)設(shè)類型的協(xié)議棧將智能接口卡注冊(cè)為其他設(shè)備。例如,協(xié)議棧的類型可包括但不限于以太網(wǎng)接口、小型計(jì)算機(jī)系統(tǒng)接口scsi(英文:smallcomputersysteminterface,中文:小型計(jì)算機(jī)系統(tǒng)接口)、通用串行總線usb接口、i2c(inter-integratedcircuit,由philips公司開發(fā)的兩線式串行總線)接口或lpc(lowpincount,intel公 司定義的取代傳統(tǒng)isabus的一種接口規(guī)范)接口等。
也就是說,若預(yù)設(shè)的協(xié)議棧類型為以太網(wǎng)接口類型,則智能接口卡在注冊(cè)設(shè)備時(shí),通過模擬網(wǎng)絡(luò)設(shè)備注冊(cè)時(shí)向主機(jī)發(fā)送以太網(wǎng)接口類型的協(xié)議棧的方式進(jìn)行注冊(cè),注冊(cè)完成后,主機(jī)在看待該智能接口卡時(shí),即為一個(gè)連接網(wǎng)口上的遠(yuǎn)程網(wǎng)絡(luò)設(shè)備。
若預(yù)設(shè)的協(xié)議棧類型為scsi接口類型,則智能接口卡在注冊(cè)設(shè)備時(shí),通過模擬存儲(chǔ)設(shè)備注冊(cè)時(shí)向主機(jī)發(fā)送scsi設(shè)備注冊(cè)時(shí)需要用到的協(xié)議棧的方式進(jìn)行注冊(cè)。注冊(cè)完成后,主機(jī)在看待該智能接口卡時(shí),即為一個(gè)支持scsi協(xié)議的存儲(chǔ)設(shè)備。
步驟s104:創(chuàng)建虛擬鏈路,并將基板管理控制器bmc管理接口接入到所述虛擬鏈路中。
步驟s106:接收主機(jī)發(fā)送的管理地址配置指令,根據(jù)所述管理地址配置指令配置所述管理接口的管理地址。
步驟s108:接收主機(jī)通過所述管理地址發(fā)送的控制指令,通過所述虛擬鏈路將所述控制指令發(fā)送給所述bmc管理接口。
在現(xiàn)有的ipmi(英文:intelligentplatformmanagementinterface,中文:智能平臺(tái)管理接口,是管理基于intel結(jié)構(gòu)的企業(yè)系統(tǒng)中所使用的外圍設(shè)備采用的一種工業(yè)標(biāo)準(zhǔn),該標(biāo)準(zhǔn)由英特爾、惠普、nec、美國(guó)戴爾電腦和supermicro等公司制定。用戶可以利用ipmi監(jiān)視服務(wù)器的物理健康特征,如溫度、電壓、風(fēng)扇工作狀態(tài)、電源狀態(tài)等)框架中,定義了嵌入式管理子系統(tǒng)進(jìn)行通信的特定方法。ipmi信息通過基板管理控制器(bmc)(位于ipmi規(guī)格的硬件組件上)進(jìn)行交流。
在本實(shí)施例中,為了實(shí)現(xiàn)ipmi框架中,通過ipmi框架中向bmc發(fā)消息的方式進(jìn)行管理,智能接口卡創(chuàng)建虛擬化的管理接口到bmc管理接口的虛擬鏈路,例如,bmc管理接口支持以太網(wǎng)接口,則創(chuàng)建虛擬網(wǎng)絡(luò)鏈路,創(chuàng)建虛擬局域網(wǎng),將bmc管理接口的mac地址(以太網(wǎng)標(biāo)識(shí))加入到該虛擬局域網(wǎng)中。當(dāng)智能接口卡在通過插槽接收到主機(jī)發(fā)送的消息時(shí),智能接口卡不需要特定的底層線路或寄存器將該消息傳遞給bmc模塊,而是將通過智能接口卡上的軟件 模擬,在上層將該消息傳遞給bmc模塊。
以下將結(jié)合兩個(gè)實(shí)施例分別闡述虛擬化的管理接口的協(xié)議棧類型為以太網(wǎng)接口和scsi接口時(shí),智能接口卡在主機(jī)上注冊(cè),主機(jī)對(duì)其進(jìn)行管理的過程。
實(shí)施例一
在本實(shí)施例中,智能接口卡插槽的類型為pcie接口插槽。通過預(yù)設(shè)類型的協(xié)議棧向所述主機(jī)注冊(cè)虛擬化的管理接口為:通過預(yù)設(shè)類型的協(xié)議棧在所述主機(jī)的pcie接口上注冊(cè)虛擬化的管理接口。
如圖2所示,在pcie體系架構(gòu)中主機(jī)為pcie的根節(jié)點(diǎn)(rc),接口卡為pcie的端點(diǎn)(ep),一個(gè)ep可以實(shí)現(xiàn)不同的功能(function)通道,可包括業(yè)務(wù)通道和管理通道。由于本實(shí)施例僅用于說明主機(jī)對(duì)智能接口卡的管理過程,因此,圖2中沒有畫出智能接口卡的業(yè)務(wù)通道對(duì)主機(jī)呈現(xiàn)的function,只畫出管理通道對(duì)業(yè)務(wù)呈現(xiàn)的function。
同樣如圖2所示,在本實(shí)施例中,虛擬化的管理接口的協(xié)議棧的類型為以太網(wǎng)接口,智能接口卡在主機(jī)上通過模擬注冊(cè)網(wǎng)卡設(shè)備的協(xié)議棧在主機(jī)上額外注冊(cè)一個(gè)網(wǎng)卡設(shè)備,也就是說,就主機(jī)側(cè)而言,其既可以發(fā)現(xiàn)pcie插槽插入了一個(gè)智能接口卡設(shè)備,從而進(jìn)行與智能接口卡相關(guān)的業(yè)務(wù)處理,同時(shí)也可以發(fā)現(xiàn)該pcie插槽插入了一個(gè)網(wǎng)卡設(shè)備,從而可通過該網(wǎng)卡設(shè)備向智能接口卡發(fā)送控制指令進(jìn)行管理。智能接口卡通過模擬網(wǎng)卡注冊(cè)實(shí)現(xiàn)了一個(gè)主機(jī)的以太網(wǎng)接口(nicdev),即插入智能接口卡后在主機(jī)上可以看到一個(gè)專門用于管理的以太網(wǎng)的接口。
在本實(shí)施例中,智能接口卡可創(chuàng)建虛擬局域網(wǎng)鏈路,將bmc管理接口的以太網(wǎng)接口接入到所述虛擬局域網(wǎng)鏈路中。
通過所述虛擬鏈路將所述控制指令發(fā)送給所述bmc管理接口為:通過所述虛擬局域網(wǎng)鏈路將所述控制指令發(fā)送給所述bmc管理接口的以太網(wǎng)接口。
也就是說,智能接口卡注冊(cè)在主機(jī)上的以太網(wǎng)接口(nicdev)并不像普通的以太網(wǎng)接口那樣需要使用雙絞線或光纖連接到實(shí)際的物理網(wǎng)絡(luò)中去,而是連接到一個(gè)智能接口卡內(nèi)部通過計(jì)算機(jī)程序虛擬的鏈路vnetlink上。主機(jī)通過pcie插槽接口與智能接口卡進(jìn)行通信,傳輸網(wǎng)絡(luò)數(shù)據(jù),智能接口卡則在接收到數(shù)據(jù) 之后,通過智能接口卡上的計(jì)算機(jī)程序在上層將該數(shù)據(jù)經(jīng)由虛擬局域網(wǎng)鏈路vnetlink傳輸?shù)街悄芙涌诳▋?nèi)部的bmc管理接口中。
進(jìn)一步的,創(chuàng)建虛擬局域網(wǎng)還包括:將片上系統(tǒng)soc(systemonchip)管理接口的以太網(wǎng)接口接入到所述虛擬局域網(wǎng)鏈路中。如圖2所示,管理智能接口卡主芯片的soc以太網(wǎng)接口也通過軟件模擬的方式接入到了上層的虛擬局域網(wǎng)鏈路vnetlink上,主機(jī)通過網(wǎng)絡(luò)同樣可以對(duì)智能接口卡主芯片進(jìn)行管理。
在本實(shí)施例中,根據(jù)所述管理地址配置指令配置所述管理接口的管理地址為:根據(jù)所述管理地址配置指令配置所述管理接口的網(wǎng)絡(luò)互連協(xié)議ip地址。
接收主機(jī)通過所述管理地址發(fā)送的控制指令為:接收主機(jī)通過配置的ip地址發(fā)送的基于遠(yuǎn)程管理控制協(xié)議rmcp(英文:remotemanagementcontrolprotocol)的控制指令。
在本實(shí)施例中,優(yōu)選的,智能接口卡在向主機(jī)注冊(cè)網(wǎng)卡設(shè)備時(shí),可使用唯一的設(shè)備標(biāo)識(shí),或者先由主機(jī)的驅(qū)動(dòng)程序判斷是否已有智能接口卡注冊(cè),若已有智能接口卡注冊(cè),則使用主機(jī)上的驅(qū)動(dòng)創(chuàng)建的同一個(gè)以太網(wǎng)接口(niccrtlhost)進(jìn)行管理。也就是說,若有多塊智能接口卡分別插入了主機(jī)的多個(gè)pcie插槽中,則多塊智能接口卡分別向主機(jī)注冊(cè)虛擬的網(wǎng)卡設(shè)備。但主機(jī)側(cè)可僅顯示一個(gè)網(wǎng)卡設(shè)備,但為該多個(gè)智能接口卡分配不同的ip地址,主機(jī)仍然通過唯一的以太網(wǎng)接口(nicdev)進(jìn)行管理,但主機(jī)的驅(qū)動(dòng)通過ip地址區(qū)分不同的智能接口卡設(shè)備。
主機(jī)側(cè)也可以通過標(biāo)準(zhǔn)的os提供網(wǎng)橋功能可以將分配的ip地址(對(duì)應(yīng)虛虛擬鏈路)和外部的管理網(wǎng)絡(luò)連接,將智能接口卡納入到數(shù)據(jù)中心級(jí)別的管理網(wǎng)絡(luò)中。管理網(wǎng)絡(luò)在對(duì)主機(jī)上的智能接口卡進(jìn)行管理時(shí),即可參考圖3和圖4所示,通過rmcp協(xié)議發(fā)送控制指令,該控制指令通過tcp/ip鏈路傳輸,但底層仍然為通過pcie插槽上的虛擬網(wǎng)卡設(shè)備傳輸給智能接口卡,智能接口卡在pcie接口的端點(diǎn)ep上接收到該控制指令,將其傳遞到通過計(jì)算機(jī)程序模擬的上層應(yīng)用的虛擬局域網(wǎng)中,從而可傳遞給同樣建立了tcp/ip鏈路的bmc以太網(wǎng)接口,從而實(shí)現(xiàn)了管理網(wǎng)絡(luò)通過rmcp協(xié)議對(duì)智能接口卡進(jìn)行管理的功能,使得可使用ipmi框架對(duì)智能接口卡進(jìn)行管理。
實(shí)施例二
在本實(shí)施例中,智能接口卡插槽的類型為pcie接口插槽。通過預(yù)設(shè)類型的協(xié)議棧向所述主機(jī)注冊(cè)虛擬化的管理接口為scsi接口。
如圖5所示,在pcie體系架構(gòu)中主機(jī)為pcie的根節(jié)點(diǎn)(rc),接口卡為pcie的端點(diǎn)(ep),一個(gè)ep可以實(shí)現(xiàn)不同的功能(function)通道,可包括業(yè)務(wù)通道和管理通道。由于本實(shí)施例僅用于說明主機(jī)對(duì)智能接口卡的管理過程,因此,圖2中沒有畫出智能接口卡的業(yè)務(wù)通道對(duì)主機(jī)呈現(xiàn)的function,只畫出管理通道對(duì)業(yè)務(wù)呈現(xiàn)的function。
同樣如圖5所示,在本實(shí)施例中,虛擬化的管理接口的協(xié)議棧的類型為scsi接口,智能接口卡在主機(jī)上通過模擬注冊(cè)scsi存儲(chǔ)設(shè)備的協(xié)議棧在主機(jī)上注冊(cè)一個(gè)scsi存儲(chǔ)設(shè)備(例如硬盤,磁帶機(jī)等),也就是說,就主機(jī)側(cè)而言,既可以發(fā)現(xiàn)pcie插槽插入了一個(gè)智能接口卡設(shè)備,從而進(jìn)行與智能接口卡相關(guān)的業(yè)務(wù)處理,同時(shí)也可以發(fā)現(xiàn)該pcie插槽插入了一個(gè)存儲(chǔ)設(shè)備,從而可通過該虛擬的存儲(chǔ)設(shè)備向智能接口卡發(fā)送控制指令進(jìn)行管理。智能接口卡通過模擬存儲(chǔ)設(shè)備注冊(cè)實(shí)現(xiàn)了一個(gè)主機(jī)的scsi存儲(chǔ)設(shè)備訪問接口(scsidev),即插入智能接口卡后在主機(jī)上可以看到一個(gè)專門用于管理的scsi接口。
在本實(shí)施例中,創(chuàng)建虛擬鏈路,并將基板管理控制器bmc管理接口接入到所述虛擬鏈路中為:創(chuàng)建虛擬scsi總線,將bmc管理接口接入到所述虛擬scsi總線中。
通過所述虛擬鏈路將所述控制指令發(fā)送給所述bmc管理接口為:通過所述虛擬scsi總線將所述控制指令發(fā)送給所述bmc管理接口。
也就是說,智能接口卡注冊(cè)在主機(jī)上的存儲(chǔ)設(shè)備訪問接口(scsidev)并不像普通的scsi接口那樣需要使用硬盤線或者數(shù)據(jù)傳輸線連接實(shí)際的存儲(chǔ)設(shè)備,而是連接到一個(gè)智能接口卡內(nèi)部通過計(jì)算機(jī)程序虛擬scsi總線vscsilink上。主機(jī)通過pcie插槽接口與智能接口卡進(jìn)行通信,通過scsi協(xié)議傳輸控制指令,智能接口卡則在接收到數(shù)據(jù)之后,通過智能接口卡上的計(jì)算機(jī)程序在上層將該數(shù)據(jù)經(jīng)由虛擬scsi總線vscsilink傳輸?shù)街悄芙涌诳▋?nèi)部的bmc管理接口中。
在本實(shí)施例中,根據(jù)所述管理地址配置指令配置所述管理接口的管理地址 為:根據(jù)所述管理地址配置指令配置所述管理接口的scsi讀寫地址。
所述接收主機(jī)通過所述管理地址發(fā)送的控制指令為:接收主機(jī)通過配置的scsi讀寫地址發(fā)送的包含有控制指令的scsi訪問請(qǐng)求。
在本實(shí)施例中,優(yōu)選的,智能接口卡在向主機(jī)注冊(cè)scsi存儲(chǔ)接口時(shí),可使用唯一的設(shè)備標(biāo)識(shí),或者先由主機(jī)的驅(qū)動(dòng)程序判斷是否已有智能接口卡注冊(cè),若已有智能接口卡注冊(cè),則使用主機(jī)上的驅(qū)動(dòng)創(chuàng)建的同一個(gè)scsi存儲(chǔ)接口進(jìn)行管理。也就是說,若有多塊智能接口卡分別插入了主機(jī)的多個(gè)pcie插槽中,則多塊智能接口卡分別向主機(jī)注冊(cè)虛擬的scsi存儲(chǔ)接口。但主機(jī)側(cè)可僅顯示一個(gè)scsi存儲(chǔ)接口,但為該多個(gè)智能接口卡分配不同的scsi讀寫地址(即scsi標(biāo)識(shí),一條scsi總線上可以包含多個(gè)scsi設(shè)備,可使用scsi標(biāo)識(shí)區(qū)分插入的多個(gè)智能接口卡),主機(jī)仍然通過唯一的scsi存儲(chǔ)接口進(jìn)行管理,但主機(jī)的驅(qū)動(dòng)通過scsi標(biāo)識(shí)的不同區(qū)分不同的智能接口卡設(shè)備。
為解決上述傳統(tǒng)技術(shù)中帶內(nèi)或帶外管理智能接口卡的方式無法適配普遍類型的服務(wù)器而存在的擴(kuò)展性不足的問題,在一個(gè)實(shí)施例中,特提出了一種智能接口卡的控制裝置。如圖6所示,該裝置包括接口注冊(cè)模塊102、虛擬鏈路創(chuàng)建模塊104、管理地址配置模塊106和控制指令轉(zhuǎn)發(fā)模塊108,其中:
接口注冊(cè)模塊102,用于在插入主機(jī)的智能接口卡插槽之后,通過預(yù)設(shè)類型的協(xié)議棧向所述主機(jī)注冊(cè)虛擬化的管理接口。
虛擬鏈路創(chuàng)建模塊104,用于創(chuàng)建虛擬鏈路,并將基板管理控制器bmc管理接口接入到所述虛擬鏈路中。
管理地址配置模塊106,用于接收主機(jī)發(fā)送的管理地址配置指令,根據(jù)所述管理地址配置指令配置所述管理接口的管理地址。
控制指令轉(zhuǎn)發(fā)模塊108,用于接收主機(jī)通過所述管理地址發(fā)送的控制指令,通過所述虛擬鏈路將所述控制指令發(fā)送給所述bmc管理接口。
在本實(shí)施例中,所述虛擬化的管理接口的協(xié)議棧的類型包括以太網(wǎng)接口、小型計(jì)算機(jī)系統(tǒng)接口scsi、通用串行總線usb接口、i2c接口或lpc接口中的一種。智能接口卡插槽的類型包括pcie接口插槽或usb接口插槽。
在一個(gè)實(shí)施例中,智能接口卡插槽的類型為pcie接口插槽。接口注冊(cè)模塊102還用于通過預(yù)設(shè)類型的協(xié)議棧在所述主機(jī)的pcie接口上注冊(cè)虛擬化的管理接口。
在一個(gè)實(shí)施例中,虛擬化的管理接口的協(xié)議棧的類型為以太網(wǎng)接口。虛擬鏈路創(chuàng)建模塊104還用于創(chuàng)建虛擬局域網(wǎng)鏈路,將bmc管理接口的以太網(wǎng)接口接入到所述虛擬局域網(wǎng)鏈路中。
控制指令轉(zhuǎn)發(fā)模塊108還用于通過所述虛擬局域網(wǎng)鏈路將所述控制指令發(fā)送給所述bmc管理接口的以太網(wǎng)接口。
在一個(gè)實(shí)施例中,虛擬鏈路創(chuàng)建模塊104還用于將片上系統(tǒng)soc管理接口的以太網(wǎng)接口接入到所述虛擬局域網(wǎng)鏈路中。
在一個(gè)實(shí)施例中,管理地址配置模塊106還用于根據(jù)所述管理地址配置指令配置所述管理接口的網(wǎng)絡(luò)互連協(xié)議ip地址??刂浦噶钷D(zhuǎn)發(fā)模塊108還用于接收主機(jī)通過配置的ip地址發(fā)送的基于遠(yuǎn)程管理控制協(xié)議rmcp的控制指令。
在一個(gè)實(shí)施例中,虛擬化的管理接口的協(xié)議棧的類型為scsi接口。虛擬鏈路創(chuàng)建模塊104還用于創(chuàng)建虛擬scsi總線,將bmc管理接口接入到所述虛擬scsi總線中??刂浦噶钷D(zhuǎn)發(fā)模塊108還用于通過所述虛擬scsi總線將所述控制指令發(fā)送給所述bmc管理接口。
在一個(gè)實(shí)施例中,管理地址配置模塊還用于根據(jù)所述管理地址配置指令配置所述管理接口的scsi讀寫地址。控制指令轉(zhuǎn)發(fā)模塊108還用于接收主機(jī)通過配置的scsi讀寫地址發(fā)送的包含有控制指令的scsi訪問請(qǐng)求。
實(shí)施本發(fā)明具有如下的有益效果:
上述智能接口卡的控制方法及裝置與傳統(tǒng)技術(shù)中的帶內(nèi)管理方式相比,不需要在智能接口卡設(shè)置單獨(dú)的寄存器,主機(jī)側(cè)也不需要安裝管理軟件,主機(jī)可直接通過網(wǎng)絡(luò)或者scsi接口發(fā)送適配通用協(xié)議的控制指令對(duì)智能接口卡進(jìn)行管理。而相對(duì)于帶外管理方式,智能接口卡直接通過與主機(jī)的插槽通信,不需要占用主機(jī)額外的設(shè)備資源,對(duì)于沒有i2c接口的主機(jī),也能夠進(jìn)行管理。因此擴(kuò)展性得到了提高。
同時(shí),與帶外管理方式相比,主機(jī)可通過網(wǎng)絡(luò)、scsi等大帶寬的管理通道對(duì)智能接口卡進(jìn)行管理,相對(duì)原有的帶外管理方式中i2c的管理通道帶寬大幅度提升。
同時(shí),主機(jī)可直接對(duì)接訪問智能接口卡控制器或智能接口卡板載bmc模塊,提供全面的基于標(biāo)準(zhǔn)ipmi框架管理功能。且由于管理通道都是基于pcie通道虛擬的,通過軟件配置的修改就可以改變智能接口對(duì)主機(jī)呈現(xiàn)的設(shè)備類型(網(wǎng)絡(luò)設(shè)備,scsi設(shè)備等),應(yīng)用起來更加靈活,因此擴(kuò)展性也得到了提高。
另外,主機(jī)可通過標(biāo)準(zhǔn)的os提供網(wǎng)橋功能可以將智能接口卡內(nèi)部的虛擬鏈路和外部的管理網(wǎng)絡(luò)連接,將智能接口卡納入到數(shù)據(jù)中心級(jí)別的管理網(wǎng)絡(luò)中去,從而方便由管理網(wǎng)絡(luò)對(duì)多個(gè)主機(jī)上的智能接口卡進(jìn)行管理。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(read-onlymemory,rom)或隨機(jī)存儲(chǔ)記憶體(randomaccessmemory,ram)等。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。