Solaris中如何將FC HBA配置成乙太網路卡 IPFC能夠非常輕鬆實現將一塊FC HBA卡設定成乙太網路卡,這在實際中有很大的意義。在某些工作現場,如果需要通過網路大量拷貝資料,經常會發現千兆網卡的速率不夠用,使用網路彙總也無法補償頻寬的不足,此時就可以充分使用上8G的FC HBA卡。 如何將一塊FC的HBA卡設定成一塊乙太網路卡呢?這就需要通過Solaris 的FCIP驅動程式來實現。 fcip驅動是一個FC在上協議模組,通過光纖通道封裝IP(主要為IPv4)和ARP資料包,該驅動是一個可動態調用的流模組,支援不可靠串連的DLPI介面。 fcip驅動使用RFC 2625標準編譯,該標準主要就是為通過光纖通道封轉IP/ARP資料包訂立的。 fcip驅動是一個“類型 2”的資料連結層服務介面(Data Link Service Provider)。 網路所有的M_PROTO和M_PCPROTO類型的資料包都被翻譯成DLPI資料包。一個顯式的DL_ATTACH_REQ資訊必鬚髮送到使用特定的光纖通道口(PPA particular FC port)開啟的相關的流(stream)上,PPA ID被翻譯成一個無符號長資料類型,這個ID就是對應的光纖通道驅動的執行個體號。 fcip驅動使用FARP光纖通道擴充服務來解析WWN為FC PORT ID,該驅動也支援inARP來解析WWN和Port_ID為IP地址。 配置FC HBA為乙太網路卡的具體步驟 完成FC HBA卡到乙太網路卡的華美轉變主要有兩個重要的步驟,第一步就是找到FC HBA卡的執行個體號,第二部就比較簡單,直接plumb起來後配置IP地址就可以了。光纖HBA執行個體號的尋找:a. 首先確認HBA卡在主機PCI槽中的位置A1.用PCI槽位號乘以FC HBA卡的口數母,比如在PCI槽位的5槽位,HBA卡有兩個口,那麼就是5X2=10A2.上面這個數加上1,就是10+1=11A3. 把A2步算出來的數轉換成十六進位數,11的十六進位就是“b” b. 在檔案/etc/path_to_inst中尋找fp驅動binding的名字# grep pci@b /etc/path_to_inst"/pci@b,2000/SUNW,qlc@2/fp@0,0" 7 "fp"其中pci@b中的b就是上面法則算出來的c. 手工plumb起來FC HBA卡的執行個體這樣本例的FC HBA卡的執行個體號就是7,用以下命令plumb起來即可:#ifconfig fcip7 plumb以上就可以直接把fcip7當成一個物理網卡了,可以使用ifconfig直接配置IP地址來進行使用了,也可以將其寫入/etc目錄下,如/etc/hostname.fcip7,以備在系統boot時候能自動設定IP在該執行個體上。另外,注意,使用FCIP的話,需要touch /etc/norouter檔案來防止主機配置成一個軟路由。