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=10
A2.上面這個數加上1,就是10+1=11
A3. 把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文件來防止主機配置成一個軟路由。