fcoe和fc的区别_IBM AIX FC和FCoE设备驱动程序堆栈的性能改进
本文介紹了針對(duì)16 Gb FC(功能代碼:EN0A)和10 Gb FCoE(功能代碼:EN0H)HBA的IBM?AIX?光纖通道(FC)/以太網(wǎng)光纖通道(FCoE)設(shè)備驅(qū)動(dòng)程序堆棧的性能改進(jìn)。 AIX FC驅(qū)動(dòng)程序堆棧包括啟動(dòng)程序模式小型計(jì)算機(jī)系統(tǒng)接口(SCSI)協(xié)議驅(qū)動(dòng)程序和適配器驅(qū)動(dòng)程序。 現(xiàn)有的AIX FC適配器驅(qū)動(dòng)程序維護(hù)一個(gè)SCSI I / O隊(duì)列,用于將所有I / O請(qǐng)求提交給FC HBA。 現(xiàn)有的FC堆棧具有每秒最大I / O事務(wù)(IOPS)和較小I / O大小的擴(kuò)展問題。 這是由于通過單個(gè)I / O隊(duì)列進(jìn)行的I / O序列化。
為了在較小的塊大小的I / O請(qǐng)求上提高IOPS的數(shù)量,多隊(duì)列功能與16 Gb FC或10 Gb FCoE適配器驅(qū)動(dòng)程序一起引入,從以下位置開始:
- AIX發(fā)行版– AIX 7.2 TL01 SP1,AIX 7.1 TL04 SP3和AIX 6.1 TL09 SP8
- VIOS版本– VIOS 2.2.4.30和VIOS 2.2.5.0
圖1描述了如何在多個(gè)I / O隊(duì)列上并行化I / O,以及本文中討論的改進(jìn)。
圖1.傳統(tǒng)的FC驅(qū)動(dòng)程序堆棧與改進(jìn)的FC驅(qū)動(dòng)程序堆棧
配置細(xì)節(jié)
以下配置用于塊大小為4 KB的隨機(jī)讀取操作的性能分析
- IBMPower?System E870服務(wù)器,帶有64個(gè)處理器,頻率為4.350 GHz
- 具有八個(gè)存儲(chǔ)FC端口的IBMFlashSystem?900:
- 帶FC
- Brocade 16 Gb FC交換機(jī):2498-B24
- PCIe2兩端口16 Gb FC適配器(功能代碼:EN0A)
- 使用FCoE:
- PCIe2 10 Gb四端口FCoE適配器(功能代碼:EN0H)
- Brocade 10 Gb FCoE交換機(jī)
- 使用本機(jī)(獨(dú)立)AIX配置:
- 操作系統(tǒng):AIX 7.2 TL01 SP1
- 處理器數(shù)量:32
- 使用N_端口ID虛擬化(NPIV)配置:
- VIOS版本:2.2.5.0
- NPIV客戶端操作系統(tǒng):AIX 7.2 TL01 SP1
- VIOS主機(jī)上的處理器數(shù)量:32
- 每個(gè)NPIV客戶端上的處理器數(shù)量:4
實(shí)施細(xì)節(jié)
為了支持多個(gè)I / O隊(duì)列功能,為FC / FCoE設(shè)備(fcs)引入了新的對(duì)象數(shù)據(jù)管理器(ODM)屬性num_io_queues ,以指示在FC適配器驅(qū)動(dòng)程序中配置的I / O隊(duì)列數(shù)。 每個(gè)I / O隊(duì)列都與FC HBA中的硬件工作隊(duì)列關(guān)聯(lián)。 發(fā)出到特定hdisk的所有I / O請(qǐng)求都將映射到相同的SCSI I / O隊(duì)列。 每個(gè)SCSI I / O隊(duì)列可以為多個(gè)hdisk服務(wù),但是,給定hdisk的I / O請(qǐng)求不能分配給多個(gè)SCSI I / O隊(duì)列。
示例:對(duì)于16 Gb FC HBA, num_io_queues的ODM節(jié)如下所示:
# lsdev | grep fcs fcs0 Available 00-00 PCIe2 2-Port 16Gb FC Adapter (df1000e21410f103) fcs1 Available 00-01 PCIe2 2-Port 16Gb FC Adapter (df1000e21410f103)# odmget -q name=fcs0 CuDv CuDv:name = "fcs0"status = 1chgstatus = 0ddins = "pci/emfcdd"location = "00-00"parent = "pci0"connwhere = "0"PdDvLn = "adapter/pciex/df1000e21410f10" # # odmget -q uniquetype="adapter/pciex/df1000e21410f10" PdAt | grep -p num_io_queues PdAt:uniquetype = "adapter/pciex/df1000e21410f10"attribute = "num_io_queues"deflt = "8"values = "1-16,1"width = ""type = "R"generic = "DU"rep = "nr"nls_index = 67 #可以使用chdev命令或系統(tǒng)管理界面工具(SMIT)界面來更改此屬性的值。 可能的值為:
# lsattr -l fcs0 -a num_io_queues -R 1...16 (+1)要啟用多個(gè)I / O隊(duì)列,HBA的直接內(nèi)存訪問(DMA)資源應(yīng)足以在多個(gè)隊(duì)列之間分配I / O請(qǐng)求。 現(xiàn)有的ODM屬性io_dma控制著適配器驅(qū)動(dòng)程序在配置HBA時(shí)請(qǐng)求的I / O DMA區(qū)域的數(shù)量。
默認(rèn)ODM屬性值
本部分提供與多個(gè)I / O隊(duì)列功能相關(guān)的ODM屬性的默認(rèn)值。
對(duì)于AIX 7.2 TL01 SP1和VIOS 2.2.5版本
所述的缺省值num_io_queues屬性被設(shè)置為8,并具有足夠的DMA資源,所述的缺省值io_dma屬性增加到256,開始與AIX 7.2 TL01 SP1和VIOS 2.2.5版本。
# lsattr -El fcs0 | grep -e num_io_queues -e io_dma io_dma 256 IO_DMA True num_io_queues 8 Desired number of IO queues True對(duì)于AIX 7.1 TL04 SP3,AIX 6.1 TL09 SP8和VIOS 2.2.4.30版本
對(duì)于AIX 7.1 TL04 SP3,AIX 6.1 TL09 SP8和VIOS 2.2.4.30版本, num_io_queues屬性的缺省值設(shè)置為1, io_dma設(shè)置為64。
# lsattr -El fcs0 | grep -e num_io_queues -e io_dma io_dma 64 IO_DMA True num_io_queues 1 Desired number of IO queues True如本文前面所述,應(yīng)該有足夠的DMA資源來支持多個(gè)I / O隊(duì)列。 因此, io_dma屬性的值應(yīng)從64增加到256。如果用戶僅更改num_io_queues的值而未將io_dma值增加到256,則適配器實(shí)例將配置有單個(gè)SCSI I / O隊(duì)列,并且以下信息錯(cuò)誤將與AIX錯(cuò)誤日志一起記錄。
# errpt | grep fcs0 29FA8C20 0629173616 I O fcs0 Additional FC Adapter Information使用chdev命令調(diào)整num_io_queues屬性的步驟
您需要執(zhí)行以下步驟來使用chdev命令針對(duì)16 Gb FC HBA調(diào)整num_io_queues屬性:
- 取消配置設(shè)備實(shí)例。 #rmdev -Rl fcs0
- 將屬性更改為所需的值(例如16)。 # chdev -l fcs0 -a num_io_queues=16 fcs0 changed
- 配置設(shè)備實(shí)例。 # cfgmgr -l fcs0
- 驗(yàn)證屬性是否設(shè)置為必需值。 # lsdev | grep fcs0 fcs0 Available 00-00 PCIe2 2-Port 16Gb FC Adapter (df1000e21410f103) # lsattr -El fcs0 | grep num_io_queues num_io_queues 16 Desired number of IO queues True
性能結(jié)果–隨機(jī)讀取操作,塊大小為4 KB
以下結(jié)果適用于AIX本機(jī)[即邏輯分區(qū)(LPAR)擁有的物理HBA]案例。 I / O請(qǐng)求并行使用默認(rèn)的FlashSystem 900存儲(chǔ)目標(biāo)運(yùn)行shortest_queue上的hdisk設(shè)備算法。
圖2. 16 Gb FC HBA的AIX(本機(jī))結(jié)果
圖3. 10 Gb FCoE HBA的AIX(本機(jī))結(jié)果
以下結(jié)果適用于NPIV(即VIOS擁有物理HBA和在VIOS上調(diào)整的num_io_queues )。 使用Flash System 900存儲(chǔ)磁盤上的默認(rèn)shortest_queue算法,每個(gè)NPIV客戶端上給定磁盤的所有I / O路徑上并行運(yùn)行的I / O請(qǐng)求。
圖4. 16 Gb FC和10 Gb FCoE HBA的NPIV結(jié)果
結(jié)論
在本機(jī)配置中,使用改進(jìn)的FC堆棧,對(duì)于單個(gè)FC HBA端口情況,用于塊大小為4KB的隨機(jī)讀取操作的IOPS數(shù)量增加了約2.5倍,這是一個(gè)重大改進(jìn)。 IOPS達(dá)到390,000,非常接近單個(gè)FC HBA端口的線速度。
在客戶端數(shù)量為六個(gè)或更多的情況下,NPIV配置中塊大小為4 KB的隨機(jī)讀取操作的IOPS增益幾乎等同于本機(jī)配置。
翻譯自: https://www.ibm.com/developerworks/aix/library/au-aix-performance-improvements-fc-fcoe-trs/index.html
總結(jié)
以上是生活随笔為你收集整理的fcoe和fc的区别_IBM AIX FC和FCoE设备驱动程序堆栈的性能改进的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中的step_STEP文件解析
- 下一篇: 图像传感器binning_CCD的Bin