目前市面上80%以上的標(biāo)榜自己實(shí)現(xiàn)了FCoE的交換機(jī)產(chǎn)品其實(shí)都是只實(shí)現(xiàn)了NPV功能,NPIV(NPort ID Virtualization),是FC里面的概念。如果一臺物理服務(wù)器里面搞了好多虛擬機(jī)后,每個VM都打算弄個FC ID獨(dú)立通信,但只有一塊FC HBA網(wǎng)卡時。FC中通過NPIV解決了這種使用場景需求,可以給一個NPort分配多個FC ID,配合多個pWWN (private WWN)來進(jìn)行區(qū)分安全控制。
理解了NPIV后就好理解NPV了,我們把上圖中的NPort拿出來作為個獨(dú)立設(shè)備給后面服務(wù)器代理進(jìn)行FC ID注冊就是NPV(NPort Virtualization)了。NPV要做的兩件事:
1、自己先通過FLOGI向FC Switch注冊去要個FC ID
2、將后續(xù)Server過來的FLOGI請求代理成FDISC請求,向FC Switch再去申請更多的FC ID
NPV的好處是可以不需要Domain ID(每個FC區(qū)域最多只有255個),同時能將FC交換機(jī)下聯(lián)服務(wù)器規(guī)模擴(kuò)大。NPV在FC網(wǎng)絡(luò)中最常見的應(yīng)用是在刀片交換機(jī)上。
隨之有人將FCoE的腦筋動到了NPV與服務(wù)器之間的網(wǎng)絡(luò)上,如下圖所示:
在FCoE中的NPV相比較FC中要多做三件事,參考前面FIP流程:
1、回應(yīng)節(jié)點(diǎn)設(shè)備關(guān)于FCoE承載VLAN的請求
2、回應(yīng)節(jié)點(diǎn)設(shè)備的FCF查找請求,根據(jù)自己初始化時從FC Switch得到的FC ID生成仿冒FCF使用的MAC地址
3、在CNA網(wǎng)卡和FC Switch之間對轉(zhuǎn)發(fā)的數(shù)據(jù)報(bào)文進(jìn)行FCoE頭的封包解包。
NPV不是FCoE標(biāo)準(zhǔn)中定義的元素,因此各個廠家在一些細(xì)節(jié)上實(shí)現(xiàn)起來都各玩各的。比如都是將連接服務(wù)器的Ethernet接口和連接FC Switch的FC接口綁定起來使用,但是對應(yīng)的綁定規(guī)則就可能不同。再有如FC接口故障時,如何將服務(wù)器對應(yīng)的通道切換到其他FC接口去,是否通知服務(wù)器變化重新進(jìn)行FLOGI注冊,及通知等待時長等設(shè)定都會有所區(qū)別。
NPV的優(yōu)點(diǎn),首先是實(shí)現(xiàn)容易,之前描述的那幾件主要的任務(wù)現(xiàn)在都已經(jīng)有公共芯片可以直接搞定,所以包裝盒子就是了。其次是部署簡單,不需要實(shí)現(xiàn)FCF,不用管FC轉(zhuǎn)發(fā),不計(jì)算FSPF,不占Domain ID。最后是擴(kuò)展方便,使用FC Switch的少量接口就可以連接大量的服務(wù)器。
由于NPV與服務(wù)器之間網(wǎng)絡(luò)為傳統(tǒng)以太網(wǎng),因此NPV交換機(jī)也必須支持DCB標(biāo)準(zhǔn)中相關(guān)的無丟包以太網(wǎng)技術(shù)。
嚴(yán)格來講,NPV交換機(jī)不是FCoE標(biāo)準(zhǔn)中定義的FCoE交換機(jī),但可以在接入層交換機(jī)上實(shí)現(xiàn)與服務(wù)器之間的Ethernet網(wǎng)絡(luò)復(fù)用,減少了服務(wù)器的物理網(wǎng)卡數(shù)量(并未減少操作系統(tǒng)層面的網(wǎng)絡(luò)通道數(shù)量),擴(kuò)展了FC網(wǎng)絡(luò)接入服務(wù)器節(jié)點(diǎn)的規(guī)模,適用于云計(jì)算大規(guī)模服務(wù)器部署應(yīng)用。
補(bǔ)充一下ENPV(Ethernet NPV)的概念,這個概念由Cisco提出,就是在服務(wù)器與FCoE交換機(jī)(FCF)之間串個NPV進(jìn)去,還是做些代理的工作,可以對FIP進(jìn)行Snooping,監(jiān)控FIP注冊過程,獲取VLAN/FC ID/WWN等信息,對過路流量做安全控制。