概述
在這篇文章中,我將與大家分享一些在帶有 AIX 和 Virtual I/O Server (VIOS) 的 IBM Power Systems 上實(shí)現(xiàn) NPIV 的經(jīng)驗(yàn)。已經(jīng)有一些出版物討論過使用 VIOS 配置 NPIV 的步驟,我在 參考資料 部分中提供了其中一部分步驟的鏈接。因此,在這里我將不再詳述創(chuàng)建虛擬 Fibre Channel (FC) 或準(zhǔn)備 NPIV 和虛擬 FC 環(huán)境的步驟。假設(shè)您已經(jīng)對(duì)此完全了解并具備了一切所需的知識(shí)。我將要介紹的是我在實(shí)際部署此技術(shù)過程中覺得有意思或是未見記載的知識(shí)。最終,這套系統(tǒng)的目標(biāo)是為了提供一個(gè)基礎(chǔ)架構(gòu)平臺(tái),以便承載多個(gè) SAP 應(yīng)用程序和一個(gè) DB2 數(shù)據(jù)庫同時(shí)運(yùn)行。
NPIV (N_Port ID Virtualization) 是一個(gè)行業(yè)標(biāo)準(zhǔn),它充許多個(gè)系統(tǒng)共享一個(gè)物理 Fibre Channel 端口。使用此項(xiàng)技術(shù)能將多個(gè)系統(tǒng)(本例中是 AIX LPAR)連接到一個(gè)物理光纖通道適配器的物理端口上。每個(gè)系統(tǒng) (LPAR) 都有與其自己虛擬 FC 適配器相對(duì)應(yīng)的一個(gè)惟一的全球端口名稱 (WWPN)。這意味這每個(gè) LPAR 可以以本地(natively)的方式連接到一個(gè) SAN 上的物理存儲(chǔ)。
從多個(gè)方面來說,這是非常有利的。首先,可以節(jié)約費(fèi)用。實(shí)現(xiàn)多個(gè) LPAR 共享一個(gè)光纖通道可以幫您節(jié)約購買多余適配器的費(fèi)用。
其次,使用 NPIV 可以減輕管理 VIOS 的負(fù)擔(dān)。與虛擬 SCSI (VSCSI) 不同,不需要先將 SAN 磁盤分配給 VIOS 再將其映射到 Virtual I/O client (VIOC) LPAR 中,而是會(huì)直接將存儲(chǔ)分配給客戶端上虛擬 FC 適配器的 WWPN。同時(shí),在每次將新磁盤映射到 LPAR/VIOS 上或解除 VIO 服務(wù)器上的磁盤映射時(shí)都不需要更新文檔。
I/O 性能可能是您選擇 VSCSI 上的 NPIV 的另一個(gè)原因。有了 NPIV,所有到磁盤的路徑均可以用 MPIO 激活,從而增加 SAN 存儲(chǔ)的總體帶寬和可用性。可以一次在多個(gè) VIO 服務(wù)器上實(shí)現(xiàn) I/O 加載的負(fù)載平衡。不再需要再修改客戶端 VSCSI hdisk 路徑優(yōu)先級(jí)來將 I/O 發(fā)送給替代的 VIO 服務(wù)器,因?yàn)槿绻枰脑,可以讓所?VIO 服務(wù)器支持所有 I/O。
還有一點(diǎn)是可以使用磁盤 “復(fù)制服務(wù)” 功能。很多現(xiàn)代存儲(chǔ)設(shè)備都為用戶提供了對(duì) SAN LUN 進(jìn)行 “閃存” 或 “快照” 的功能,以用于各種目的,如克隆系統(tǒng)、獲取備份等等。使用 VSCSI 對(duì)于實(shí)現(xiàn)這類功能可能是一個(gè)挑戰(zhàn)?梢詫(shí)現(xiàn),但要實(shí)現(xiàn)自動(dòng)處理會(huì)有點(diǎn)難。有些產(chǎn)品提供了一些工具,可從主機(jī)層而非存儲(chǔ)子系統(tǒng)中運(yùn)行。為了能使用此功能,客戶端 LPAR 必須將這些磁盤 “看成” 本地的設(shè)備。例如,AIX 系統(tǒng)可能需要檢測(cè)此磁盤,并將其看成是本地的 NetApp 磁盤,從而讓 NetApp “快照” 工具能起作用。如果它找不到本地的 NetApp 設(shè)備,而只是找到一個(gè) VSCSI 磁盤,那么它就無法與 NetApp 系統(tǒng)直接通信,從而導(dǎo)致該工具無法起作用或得不到支持。
使用 NPIV 最大的不便(我所知道的)就是必須要在所有的客戶端 LPAR 上安裝所需的 MPIO 設(shè)備驅(qū)動(dòng)器和/或主機(jī)附帶工具。這意味著如果有 100 個(gè) AIX LPAR 都使用了 NPIV 并連接到 IBM DS8300 磁盤,那么必須在這 100 個(gè) LPAR 上安裝并維護(hù) SDDPCM。反過來,如果實(shí)施了 VSCSI,只要在 VIOS 上安裝并維護(hù) SDDPCM 即可。要安裝的 VIOS 數(shù)量一定比客戶端少吧!一個(gè)特定的 Power 系統(tǒng)上通常只有二到四個(gè) VIO 服務(wù)器。
一般來說,我推薦在大多數(shù)大型企業(yè)網(wǎng)站上使用 NPIV,因?yàn)樗哂辛己玫撵`活性、管理性和伸縮性。盡管如此,VSCSI 仍占有一席之地,甚至在大型網(wǎng)站中。在某些情況下,最好是對(duì) rootvg 磁盤使用 VSCSI,并對(duì)所有非 rootvg(數(shù)據(jù))卷組使用 NPIV。例如,如果從使用 NPIV 的 SAN(rootvg 駐留在 SAN 磁盤)啟動(dòng),那么就需要安裝 MPIO 設(shè)備驅(qū)動(dòng)器以支持該存儲(chǔ)。在使用 MPIO 軟件的時(shí)候升級(jí)往往非常困難,而 SAN 啟動(dòng)也是如此。是有辦法可以解決此問題,但是如果能避免的話,您最好還是慎重考慮!
例如,如果您是一名客戶,有大量的 AIX LPAR 要從 HDS SAN 存儲(chǔ)啟動(dòng),那么我建議對(duì) rootvg 磁盤使用 VSCSI。這意味著需要在 VIOS 上安裝 HDLM (Hitachi Dynamic Link Manager, HDS MPIO) 軟件,還要將 rootvg 的 HDS LUN 分配給 VIOS 并從 VIOS 映射。其他所有數(shù)據(jù)(數(shù)據(jù)庫或應(yīng)用程序文件/代碼)的 LUNS 將通過 NPIV 和虛擬 FC 適配器駐留在現(xiàn)有的存儲(chǔ)上。同時(shí)還要將 HDLM 安裝在 LPAR 上,但只用于非 rootvg 磁盤。按這種方式實(shí)現(xiàn)意味著,當(dāng)需要升級(jí) LPAR 上的 HDLM 軟件時(shí),您不必?fù)?dān)心從 rootvg 到 HDS 存儲(chǔ)轉(zhuǎn)換的事,而只對(duì)軟件進(jìn)行升級(jí)。這只是一些借鑒!
環(huán)境
我所用于實(shí)現(xiàn) NPIV 的環(huán)境包括 POWER7 750 和 IBM XIV 存儲(chǔ)。客戶端 LPAR 都運(yùn)行 AIX 6.1 TL6 SP3。VIO 服務(wù)器都運(yùn)行版本 2.2.0.10 Fix Pack 24 Service Pack 1 (2.2.0.10-FP-24-SP-01)。750 配置有 6 個(gè) 8GB 光纖通道適配器(特征碼 5735)。每個(gè) 8GB FC 適配器都有兩個(gè)端口。每個(gè) VIO 服務(wù)器都分配 3 個(gè) FC 適配器。每個(gè) VIOS 的前兩個(gè)適配器用作磁盤,每個(gè) VIOS 的最后一個(gè) FC 適配器用于磁帶連接。
磁盤的 NPIV 和虛擬 FC
我在規(guī)劃階段有意識(shí)地給每個(gè)生產(chǎn) LPAR 配備四個(gè)虛擬 FC 適配器。將頭兩個(gè)虛擬 FC 適配器映射到第一個(gè) VIOS 的頭兩個(gè)虛擬 FC 端口,并將最后兩個(gè)虛擬 FC 適配器映射到第二個(gè) VIOS 的頭兩個(gè)物理 FC 端口。如下圖所示。
圖 1.SAN 和存儲(chǔ)的虛擬 FC 連接
(查看圖 1 。)
我還決定隔離不同物理 FC 適配器/端口上的其他 磁盤流量(例如,非關(guān)鍵的生產(chǎn)流量)。在上圖中,藍(lán)色線條/LUN 表示生產(chǎn)流量。此流量從 LPAR 上的虛擬適配器 fcs0 和 fcs1 映射到 vio1 上第一個(gè) FC 適配器上的物理端口 fcs0 和 fcs1。LPAR 上的虛擬 FC 適配器 fcs2 和 fcs3 映射到 vio2 上第一個(gè) FC 適配器的物理端口 fcs0 和 fcs1。
紅色線條表示所有非關(guān)鍵磁盤流量。例如,NIM 和 Tivoli Storage Manager LPAR 在每個(gè) VIOS 使用與生產(chǎn) LPAR 不同的 FC 適配器。虛擬 FC 適配器 fcs0 和 fcs1 映射到 vio1 中第二個(gè) FC 適配器的物理端口 fcs2 和 fcs3。虛擬 FC 適配器 fcs2 和 fcs3 映射到 vio2 中第二個(gè) FC 適配器的物理端口 fcs2 和 fcs3。
我們用來創(chuàng)建 VIO 服務(wù)器映射的 vfcmap 命令示例如下:
對(duì)于生產(chǎn)系統(tǒng)(例如 LPAR4):
- 將 LPAR4 vfchost0 適配器映射到 vio1 上的物理 FC 適配器 fcs0。
$ vfcmap –vadpater vfchost0 –fcp fcs0 |
- 將 LPAR4 vfchost1 適配器映射到 vio1 上的物理 FC 適配器 fcs1。
$ vfcmap –vadapter vfchost1 – fcp fcs1 |
- 將 LPAR4 vfchost0 適配器映射到 vio2 上的物理 FC 適配器 fcs0。
$ vfcmap –vadapter vfchost0 – fcp fcs0 |
- 將 LPAR4 vfchost1 適配器映射到 vio2 上的物理 FC 適配器 fcs1。
$ vfcmap –vadapter vfchost1 –fcp fcs1 |
對(duì)于非關(guān)鍵系統(tǒng)(例如 MIN1):
- 將 NIM1 vfchost3 適配器映射到 vio1 上的物理 FC 適配器 fcs2。
$ vfcmap –vadapter vfchost3 –fcp fcs2 |
- 將 NIM1 vfchost4 適配器映射到 vio1 上的物理 FC 適配器 fcs3。
$ vfcmap –vadapter vfchost4 – fcp fcs3 |
- 將 NIM1 vfchost3 適配器映射到 vio2 上的物理 FC 適配器 fcs2。
$ vfcmap –vadapter vfchost3 – fcp fcs2 |
- 將 NIM1 vfchost4 適配器映射到 vio2 上的物理 FC 適配器 fcs3。
$ vfcmap –vadapter vfchost4 –fcp fcs3 |
我在每個(gè) VIO 服務(wù)器上都使用了 map –all –npiv 來確認(rèn) vfchost 適配器到物理 FC 端口的映射是否正確(如下所示)。
vio1(生產(chǎn) LPAR):
Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost0 U8233.E8B.XXXXXXX-V1-C66 4 LPAR4 AIX
Status:LOGGED_IN
FC name:fcs0 FC loc code:U78A0.001.XXXXXXX-P1-C3-T1
Ports logged in:5
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs0 VFC client DRC:U8233.E8B.XXXXXXX-V6-C30-T1
Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost1 U8233.E8B.XXXXXXX-V1-C67 4 LPAR4 AIX
Status:LOGGED_IN
FC name:fcs1 FC loc code:U78A0.001.XXXXXXX-P1-C3-T2
Ports logged in:5
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs1 VFC client DRC:U8233.E8B.XXXXXXX-V6-C31-T1
|
vio1(非生產(chǎn) LPAR):
Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost3 U8233.E8B.XXXXXXX-V1-C30 3 nim1 AIX
Status:LOGGED_IN
FC name:fcs2 FC loc code:U5877.001.XXXXXXX-P1-C1-T1
Ports logged in:5
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs0 VFC client DRC:U8233.E8B.XXXXXXX-V3-C30-T1
Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost4 U8233.E8B.XXXXXXX-V1-C31 3 nim1 AIX
Status:LOGGED_IN
FC name:fcs3 FC loc code:U5877.001.XXXXXXX-P1-C1-T2
Ports logged in:5
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs1 VFC client DRC:U8233.E8B.XXXXXXX-V3-C31-T1
|
vio2(生產(chǎn) LPAR):
Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost0 U8233.E8B.XXXXXXX-V2-C66 4 LPAR4 AIX
Status:LOGGED_IN
FC name:fcs0 FC loc code:U5877.001.XXXXXXX-P1-C3-T1
Ports logged in:5
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs2 VFC client DRC:U8233.E8B.XXXXXXX-V6-C32-T1
Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost1 U8233.E8B.XXXXXXX-V2-C67 4 LPAR4 AIX
Status:LOGGED_IN
FC name:fcs1 FC loc code:U5877.001.XXXXXXX-P1-C3-T2
Ports logged in:5
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs3 VFC client DRC:U8233.E8B.XXXXXXX-V6-C33-T1
|
vio2(非生產(chǎn) LPAR):
Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost3 U8233.E8B.XXXXXXX-V2-C30 3 nim1 AIX
Status:LOGGED_IN
FC name:fcs2 FC loc code:U5877.001.XXXXXXX-P1-C4-T1
Ports logged in:5
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs2 VFC client DRC:U8233.E8B.XXXXXXX-V3-C32-T1
Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost4 U8233.E8B.XXXXXXX-V2-C31 3 nim1 AIX
Status:LOGGED_IN
FC name:fcs3 FC loc code:U5877.001.XXXXXXX-P1-C4-T2
Ports logged in:5 Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs3 VFC client DRC:U8233.E8B.XXXXXXX-V3-C33-T1
|
幸運(yùn)的是,當(dāng)我們使用 IBM XIV 存儲(chǔ)的時(shí)候,我們不需要安裝額外的設(shè)備驅(qū)動(dòng)程序來支持該磁盤。AIX 本地支持 XIV 存儲(chǔ)。然而我們還是要安裝 XIV 主機(jī)附件軟件包中的一些管理工具。它為我們提供了一些方便的工具,如 xiv_devlist(以下顯示了輸出內(nèi)容)。
# lsdev –Cc disk
hdisk0 Available 30-T1-01 MPIO 2810 XIV Disk
hdisk1 Available 30-T1-01 MPIO 2810 XIV Disk
hdisk2 Available 30-T1-01 MPIO 2810 XIV Disk
hdisk3 Available 30-T1-01 MPIO 2810 XIV Disk
# lslpp –l | grep xiv
xiv.hostattachment.tools 1.5.2.0 COMMITTED Support tools for XIV
connectivity
# xiv_devlist
Loading disk info...
XIV Devices
----------------------------------------------------------------------
Device Size Paths Vol Name Vol Id XIV Id XIV Host
----------------------------------------------------------------------
/dev/hdisk1 51.5GB 16/16 nim2_ rootvg 7 7803242 nim2
----------------------------------------------------------------------
/dev/hdisk2 51.5GB 16/16 nim2_ nimvg 8 7803242 nim2
----------------------------------------------------------------------
/dev/hdisk3 103.1GB 16/16 nim2_ imgvg 9 7803242 nim2
----------------------------------------------------------------------
Non-XIV Devices
---------------------
Device Size Paths
---------------------
|
如果你想在 AIX 上實(shí)現(xiàn) XIV 存儲(chǔ),我強(qiáng)烈推薦您看一下 Anthony Vandewert 博客 上關(guān)于此主題的內(nèi)容。
您可能注意到圖表中 VIO 服務(wù)器自己會(huì)從 750 中的內(nèi)部 SAS 驅(qū)動(dòng)程序啟動(dòng)。每個(gè) VIO 服務(wù)器均配置兩個(gè) SAS 驅(qū)動(dòng)程序和一個(gè)鏡像 rootvg。它們不會(huì)從 SAN 啟動(dòng)。
LPAR 配置文件
在 LPAR 構(gòu)建過程中,我們注意到,即使所啟動(dòng)的新 LPAR 中四個(gè)虛擬 FC 適配器都配置正確,fcsX 適配器名稱和插槽 id 順序還是錯(cuò)了 (fcs0=slot32, fcs1=slot33, fcs3=slot30, fcs4=slot31)。為了防止這種情況發(fā)生,我們?yōu)槊總(gè) LPAR 創(chuàng)建兩個(gè)配置文件。
第一個(gè)配置文件(即 normal)包含所有四個(gè)虛擬 FC 適配器的信息。第二個(gè)配置文件(即 wwpns)僅包含映射到 vio1 上頭兩個(gè)物理 FC 端口的虛擬 FC 適配器的信息。首先使用此配置文件啟動(dòng) LPAR,然后安裝 AIX,讓適配器順序正確 (fcs0=slot30, fcs1=slot31)。安裝 AIX 并啟動(dòng) LPAR 之后,我們將使用 normal 配置文件和所有四個(gè)虛擬 FC 適配器重新激活 LPAR。
每個(gè) AIX LPAR 有兩個(gè) LPAR 配置文件。示例如下所示。
圖 2.虛擬 FC 的 LPAR 配置文件
名為 normal 的配置文件包含 LPAR 所有必需的 Virtual I/O 設(shè)備(如下所示)。該配置文件用來在標(biāo)準(zhǔn)操作過程中激活 LPAR。
圖 3.安裝后使用所有 FC 適配器的配置文件
名為 wwpns 的配置文件僅包含 LPAR 的頭兩個(gè)虛擬 FC 設(shè)備(如下所示)。只有在需要重新安裝 AIX 操作系統(tǒng)的時(shí)候才用此配置文件來激活 LPAR。AIX 安裝成功后,就使用 LPAR normal 配置文件再次激活 LPAR。它會(huì)配置其余的虛擬 FC 適配器。
圖 4.只帶有頭兩個(gè)虛擬 FC 適配器的 LPAR
在構(gòu)建過程中,我們還需要收集重新安裝的 AIX LPAR 的 WWPN 列表。有兩種方法可以找到新 LPAR(例如,還未安裝操作系統(tǒng)的)上的虛擬 Fibre Channel 適配器的 WWPN。首先,從 HMC 檢查 LPAR 屬性(如下所示)。
圖 5.虛擬 FC 適配器 WWPNS
為了加快進(jìn)度,我們?cè)?HMC 命令行工具中使用 lssyscfg 命令來顯示 WWPN(如下所示)。
hscroot@hmc1:~> lssyscfg -r prof -m 750-1 -F virtual_fc_adapters --filter lpar_names=LPAR4
"""4/client/2/vio1/32/c0507603a2920084,c0507603a2920084/0"",
""5/client/3/vio2/32/c050760160ca0008,c050760160ca0009/0"""
|
現(xiàn)在擁有了每個(gè) LPAR 的 WWPN 列表。
# cat LPAR4_wwpns.txt
c0507603a292007c
c0507603a292007e
c0507603a2920078
c0507603a292007a
|
我們將這些 WWPN 提供給 SAN 管理員,以便讓他們能在 SAN 交換機(jī)上手工 “分配” LPAR 并為每一個(gè)分配存儲(chǔ)。為了加快進(jìn)度,我們使用 sed 將冒號(hào)插入 WWPN 中。這樣,SAN 管理員只要剪切復(fù)制 WWPN 即可,無需手動(dòng)插入冒號(hào)。
# cat LPAR4_wwpns | sed 's/../&:/g;s/ //'
c0:50:76:03:a2:92:00:7c
c0:50:76:03:a2:92:00:7e
c0:50:76:03:a2:92:00:78
c0:50:76:03:a2:92:00:7a
|
這里需要注意的是,如果您打算在啟用 NPIV 的系統(tǒng)上實(shí)現(xiàn) Live Partition Mobility (LPM),則要確保將兩個(gè) WWPN 分配給客戶端 LPAR 上的每一個(gè)虛擬 FC 適配器。請(qǐng)記住,創(chuàng)建的每個(gè)客戶端虛擬 FC 適配器都會(huì)生成一對(duì) WWPN(一主一從)。
用于磁帶機(jī)的虛擬 FC 適配器
Tivoli Storage Manager 是用來在新環(huán)境中備份并修復(fù)系統(tǒng)的備份軟件。Tivoli Storage Manager 使用 TS3310 磁帶庫以及磁盤存儲(chǔ)工具來備份客戶端數(shù)據(jù)。在該環(huán)境下,我們選擇使用虛擬 FC 適配器將磁帶庫連接到 Tivoli Storage Manager。它還能夠讓我們將磁帶設(shè)備分配給任意 LPAR,而無需將物理適配器從一個(gè) LPAR 移到另一個(gè),這種情況以后會(huì)越來越多。如前所述,給每個(gè) VIOS 分配了三個(gè)雙端口的 8GB FC 適配器。其中兩個(gè)適配器用于磁盤,第三個(gè)供磁帶獨(dú)占使用。
下圖顯示了每個(gè) VIOS 中的物理 FC 端口 fcs4 和 fcs5 將用于磁帶連接。還顯示了在 Tivoli Storage Manager LPAR 中這四個(gè)磁帶驅(qū)動(dòng)每一個(gè)都將分配給一個(gè)特定的虛擬 FC 適配器。
圖 6. 通過虛擬 FC 的磁帶驅(qū)動(dòng)連接
(查看圖 6 )。
Tivoli Storage Manager LPAR 初始配置為虛擬 FC 適配器僅連接到 XIV 磁盤。如下列 lspath 輸出所示,從 fcs0 到 fcs3 僅用于磁盤獨(dú)占訪問。
# lsdev -Cc adapter | grep fcs
fcs0 Available 30-T1 Virtual Fibre Channel Client Adapter
fcs1 Available 31-T1 Virtual Fibre Channel Client Adapter
fcs2 Available 32-T1 Virtual Fibre Channel Client Adapter
fcs3 Available 33-T1 Virtual Fibre Channel Client Adapter
# lspath
Enabled hdisk0
fscsi0
Enabled hdisk0 fscsi0
Enabled hdisk0 fscsi0
Enabled hdisk0 fscsi0
Enabled hdisk0
fscsi1
Enabled hdisk0 fscsi1
Enabled hdisk0 fscsi1
Enabled hdisk0 fscsi1
Enabled hdisk0
fscsi2
Enabled hdisk0 fscsi2
Enabled hdisk0 fscsi2
Enabled hdisk0 fscsi2
Enabled hdisk0
fscsi3
Enabled hdisk0 fscsi3
Enabled hdisk0 fscsi3
Enabled hdisk0 fscsi3
..etc.. for the other disks on the system
|
要連接到磁帶驅(qū)動(dòng)器,我們需要為 LPAR 配置另外四個(gè)的虛擬 FC 適配器。首先,確保物理適配器可用并且已通過光纖連接。在兩個(gè) VIOS 上,我們使用 lsnports 命令確定適配器的狀態(tài)及其 NPIV 功能。如下列輸出結(jié)果所示,物理配置器的 fcs4 和 fcs5 都可以使用,而且 NPIV 已準(zhǔn)備好。fabric 列顯示為 1。如果顯示為 0,那么適配器可能未連接到具有 NPIV 功能的 SAN。
$ lsnports
name physloc fabric tports aports swwpns awwpns
fcs0 U78A0.001.DNWK4W9-P1-C3-T1 1 64 52 2048 1988
fcs1 U78A0.001.DNWK4W9-P1-C3-T2 1 64 52 2048 1988
fcs2 U5877.001.0084548-P1-C1-T1 1 64 61 2048 2033
fcs3 U5877.001.0084548-P1-C1-T2 1 64 61 2048 2033
fcs4 U5877.001.0084548-P1-C2-T1 1 64 64 2048 2048
fcs5 U5877.001.0084548-P1-C2-T2 1 64 64 2048 2048
|
當(dāng)最初檢查兩個(gè) VIOS 上得適配器狀態(tài)時(shí),看到以下的 lsnports 輸出結(jié)果:
$ lsnports
name physloc fabric tports aports swwpns awwpns
fcs0 U78A0.001.DNWK4W9-P1-C3-T1 1 64 52 2048 1988
fcs1 U78A0.001.DNWK4W9-P1-C3-T2 1 64 52 2048 1988
fcs2 U5877.001.0084548-P1-C1-T1 1 64 61 2048 2033
fcs3 U5877.001.0084548-P1-C1-T2 1 64 61 2048 2033
fcs4 U5877.001.0084548-P1-C2-T1 0 64 64 2048 2048
|
如上所示,只發(fā)現(xiàn) fcs4 適配器;fcs4 的 fabric 值是 0,fcs5 丟失。這些問題都是與 SAN 的物理連接造成的。線纜被拔出并且/或者有回環(huán)適配器插入接口。錯(cuò)誤報(bào)告顯示 fcs4 連接錯(cuò)誤,而 fcs5 沒有。
$ errlog
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION
7BFEEA1F 0502104011 T H fcs4 LINK ERROR
|
端口物理連接到 SAN 交換機(jī)后,我就將 fcs4 條目從 ODM 中移除(如下所示),然后在 VIOS 上運(yùn)行 cfgmgr。
$ r oem
oem_setup_env
# rmdev -dRl
fcs4fcnet4 deleted
sfwcomm4 deleted
fscsi4 deleted
fcs4 deleted
# cfgmgr
# exit
$
|
然后會(huì)發(fā)現(xiàn) fcs4 和 fcs5,并且配置正確。
$ lsnports
name physloc fabric tports aports swwpns awwpns
fcs0 U78A0.001.DNWK4W9-P1-C3-T1 1 64 52 2048 1988
fcs1 U78A0.001.DNWK4W9-P1-C3-T2 1 64 52 2048 1988
fcs2 U5877.001.0084548-P1-C1-T1 1 64 61 2048 2033
fcs3 U5877.001.0084548-P1-C1-T2 1 64 61 2048 2033
fcs4 U5877.001.0084548-P1-C2-T1 1 64 64 2048 2048
fcs5 U5877.001.0084548-P1-C2-T2 1 64 64 2048 2048
|
Tivoli Storage Manager LPAR 中專門用于磁帶的虛擬 FC 適配器是 fcs4、fcs5、fcs6 和 fcs7。計(jì)劃將 tsm1 上的 fcs4 映射到 vio1 上的 fcs4,fcs5 映射到 vio1 上的 fcs5,fcs6 映射到 vio2 上的 fcs4,fcs7 映射到 vio2 上的 fcs5。
虛擬適配器插槽配置如下:
LPAR:tsm1 VIOS:vio1
U8233.E8B.06XXXXX-V4-C34-T1 > U8233.E8B.06XXXXX-V1-C60
U8233.E8B.06XXXXX-V4-C35-T1 > U8233.E8B.06XXXXX-V1-C61
LPAR:tsm1 VIOS:vio2
U8233.E8B.06XXXXX-V4-C36-T1 > U8233.E8B.06XXXXX-V2-C60
U8233.E8B.06XXXXX-V4-C37-T1 > U8233.E8B.06XXXXX-V2-C61
|
我們?cè)?vio1 上創(chuàng)建了兩個(gè)新的虛擬 FC 主機(jī) (vfchost) 適配器,在 vio2 上創(chuàng)建了兩個(gè)新的 vfchost 適配器。用新的適配器更新兩個(gè) VIOS 的配置文件(在 HMC 上),并在每個(gè) VIOS 上添加一個(gè) DLPAR 操作。在每個(gè) VIOS 上運(yùn)行 cfgdev 命令添加新 vfchost 適配器后,就需要將其映射到物理 FC 端口。
在每個(gè) VIOS 上使用 vfcmap 命令將物理端口映射到虛擬主機(jī)適配器,如下所示:
- 將 tsm1 vfchost60 適配器映射到 vio1 上的物理 FC 適配器 fcs4。
$ vfcmap –vadapter vfchost60 –fcp fcs4 |
- 將 tsm1 vfchost61 適配器映射到 vio1 上的物理 FC 適配器 fcs5。
$ vfcmap –vadapter vfchost61 – fcp fcs5 |
- 將 tsm1 vfchost60 適配器映射到 vio2 上的物理 FC 適配器 fcs4。
$ vfcmap –vadapter vfchost60 – fcp fcs4 |
- 將 tsm1 vfchost61 適配器映射到 vio2 上的物理 FC 適配器 fcs5。
$ vfcmap –vadapter vfchost61 –fcp fcs5 |
下一步使用 DLPAR (使用以下的 流程)來升級(jí)帶有四個(gè)新虛擬 FC 適配器的客戶端 LPAR。務(wù)必了解將虛擬 FC 適配器添加到客戶端 LPAR 的流程。如果操作不小心的話,那么客戶端 LPAR 的 WWPN 可能會(huì)丟失,這會(huì)導(dǎo)致與 SAN 存儲(chǔ)連接失敗。您可能還要回顧下 HMC 的 chsyscfg 命令,因?yàn)榭梢允褂么嗣顏硇薷?LPAR 的 WWPN。
在 LPAR 上運(yùn)行過 cfgmgr 之后,我們確定有四個(gè)新的虛擬 FC 適配器。我們確定已經(jīng)保存了 LPAR 當(dāng)前 配置,如流程中所提到的那樣。
# lsdev –Cc adapter grep fcs
fcs0 Available 30-T1 Virtual Fibre Channel Client Adapter
fcs1 Available 31-T1 Virtual Fibre Channel Client Adapter
fcs2 Available 32-T1 Virtual Fibre Channel Client Adapter
fcs3 Available 33-T1 Virtual Fibre Channel Client Adapter
fcs4 Available 34-T1 Virtual Fibre Channel Client Adapter
fcs5 Available 35-T1 Virtual Fibre Channel Client Adapter
fcs6 Available 36-T1 Virtual Fibre Channel Client Adapter
fcs7 Available 37-T1 Virtual Fibre Channel Client Adapter
|
在這兩個(gè) VIOS 上,我們都使用 lsmap –all –npiv 命令來確認(rèn) FC 適配器上從物理到虛擬的映射是否正確。還要查看每個(gè)適配器的lsmap 輸出結(jié)果中的 Status: LOGGED_IN 條目以確定客戶端 LPAR 是否成功登陸到SAN。
vio1:Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost60 U8233.E8B.06XXXXX-V1-C60
6 tsm1 AIX
Status:LOGGED_IN
FC name:fcs4 FC loc code:U5877.001.0084548-P1-C2-T1
Ports logged in:1
Flags:a<LOGGED_IN,STRIP_MERGE>VFC client name:fcs4
VFC client DRC:U8233.E8B.06XXXXX-V4-C34-T1
Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost61 U8233.E8B.06XXXXX-V1-C61
6 tsm1 AIX
Status:LOGGED_IN
FC name:fcs5 FC loc code:U5877.001.0084548-P1-C2-T2
Ports logged in:1
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs5
VFC client DRC:U8233.E8B.06XXXXX-V4-C35-T1
vio2:Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost60 U8233.E8B.06XXXXX-V2-C60
6 tsm1 AIX
Status:LOGGED_IN
FC name:fcs4 FC loc code:U5877.001.0084548-P1-C5-T1
Ports logged in:1
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs6 VFC client DRC:U8233.E8B.06XXXXX-V4-C36-T1
Name Physloc ClntID ClntName ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost61 U8233.E8B.06XXXXX-V2-C61 6 tsm1 AIX
Status:LOGGED_IN
FC name:fcs5
FC loc code:U5877.001.0084548-P1-C5-T2
Ports logged in:1
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs7 VFC client DRC:U8233.E8B.06XXXXX-V4-C37-T1
|
此時(shí)我們已經(jīng)能夠獲取新適配器的 WWPN。此信息用來將磁帶驅(qū)動(dòng)器分配到系統(tǒng)中。
# for i in 4 5 6 7
> do
> echo fcs$i
> lscfg -vpl fcs$i | grep Net
> echo
> done
fcs4
Network Address.............C0507603A2720087
fcs5
Network Address.............C0507603A272008B
fcs6
Network Address.............C0507603A272008C
fcs7
Network Address.............C0507603A272008D
|
分配 TS3310 驅(qū)動(dòng)程序之后再安裝 IBM Atape 設(shè)備驅(qū)動(dòng)程序。
# lslpp -l | grep -i atape
Atape.driver 12.2.4.0 COMMITTED IBM AIX Enhanced Tape and
|
將驅(qū)動(dòng)器分配給新的 WWPN 后,在Tivoli Storage Manager LPAR 上運(yùn)行 cfgmgr 來配置磁帶驅(qū)動(dòng)器。
# lsdev -Cc tape
# cfgmgr
# lsdev -Cc tape
rmt0 Available 34-T1-01-PRI IBM 3580 Ultrium Tape Drive (FCP)
rmt1 Available 34-T1-01-PRI IBM 3580 Ultrium Tape Drive (FCP)
rmt2 Available 35-T1-01-ALT IBM 3580 Ultrium Tape Drive (FCP)
rmt3 Available 35-T1-01-ALT IBM 3580 Ultrium Tape Drive (FCP)
rmt4 Available 36-T1-01-PRI IBM 3580 Ultrium Tape Drive (FCP)
rmt5 Available 36-T1-01-PRI IBM 3580 Ultrium Tape Drive (FCP)
rmt6 Available 37-T1-01-ALT IBM 3580 Ultrium Tape Drive (FCP)
rmt7 Available 37-T1-01-ALT IBM 3580 Ultrium Tape Drive (FCP)
smc0 Available 34-T1-01-PRI IBM 3576 Library Medium Changer (FCP)
smc1 Available 35-T1-01-ALT IBM 3576 Library Medium Changer (FCP)
smc2 Available 37-T1-01-ALT IBM 3576 Library Medium Changer (FCP)
|
現(xiàn)在 Tivoli Storage Manager 已經(jīng)可以使用新的磁帶驅(qū)動(dòng)器。
監(jiān)控虛擬 FC 適配器
很明顯,VIO 服務(wù)器上的 viostat 命令能夠監(jiān)控 vfchost 適配器上的 I/O 流量(如以下示例所示)。
$ viostat -adapter vfchost3
System configuration: lcpu=8 drives=1 ent=0.50 paths=4 vdisks=20 tapes=0
tty: tin tout avg-cpu:% user % sys % idle % iowait physc %
entc
0.0 0.2 0.0 0.2 99.8 0.0 0.0
0.4
Adapter:Kbps tps Kb_read Kb_wrtn
fcs1 2.5 0.4 199214 249268
Adapter:Kbps tps Kb_read Kb_wrtn
fcs2 0.0 0.0 0 0
Vadapter:Kbps tps bkread bkwrtn
vfchost4 0.0 0.0 0.0 0.0
Vadapter:Kbps tps bkread bkwrtn
vfchost6 0.0 0.0 0.0 0.0
Vadapter:Kbps tps bkread bkwrtn
vfchost5 0.0 0.0 0.0 0.0
Vadapter:Kbps tps bkread bkwrtn
vfchost0 0.0 0.0 0.0 0.0
Vadapter:Kbps tps bkread bkwrtn
vfchost3 0.0 0.0 0.0 0.0
Vadapter:Kbps tps bkread bkwrtn
vfchost2 0.0 0.0 0.0 0.0
Vadapter:Kbps tps bkread bkwrtn
vfchost1 0.0 0.0 0.0 0.0
|
我必須承認(rèn)使用該工具監(jiān)控這些設(shè)備上的 I/O 的成功率是有限的。但是我還不清楚為什么該工具不報(bào)告任何 vfchost 適配器的統(tǒng)計(jì)數(shù)據(jù)。也許跟我們運(yùn)行的 VIOS 級(jí)別有關(guān)?
幸運(yùn)的是,nmon 能獲取并報(bào)告客戶端 LPAR 上的虛擬 FC 適配器性能統(tǒng)計(jì)數(shù)據(jù)。這并不新鮮,因?yàn)?nmon 總能獲取 FC 適配器信息,但令人高興的是,nmon 能記錄虛擬和物理 FC 適配器的數(shù)據(jù)。
圖 7. 虛擬 FC 適配器使用情況的 nmon 數(shù)據(jù)
(查看圖 7 。)
可以在客戶端 LPAR 上使用 fcstat 命令來監(jiān)控適配器上緩存使用和溢出情況的性能統(tǒng)計(jì)數(shù)據(jù)。例如,以下輸出結(jié)果指示我們需要調(diào)整虛擬 FC 適配器上得某些設(shè)置。尤其需要調(diào)整 num_cmd_elems 和 max_xfer_size 這兩個(gè)屬性。
# fcstat fcs0 | grep -p DMA | grep -p
'FC SCSI'FC SCSI Adapter Driver Information
No DMA Resource Count:580
No Adapter Elements Count:0
No Command Resource Count:6093967
# fcstat fcs1 | grep -p DMA | grep -p 'FC SCSI'FC SCSI Adapter Driver Information
No DMA Resource Count:386
No Adapter Elements Count:0
No Command Resource Count:6132098
# fcstat fcs2 | grep -p DMA | grep -p 'FC SCSI'FC SCSI Adapter Driver Information
No DMA Resource Count:222
No Adapter Elements Count:0
No Command Resource Count:6336080
# fcstat fcs3 | grep -p DMA | grep -p 'FC SCSI'FC SCSI Adapter Driver Information
No DMA Resource Count:875
No Adapter Elements Count:0
No Command Resource Count:6425427
|
我們也在 VIO 服務(wù)器的物理適配器上發(fā)現(xiàn)了緩存問題(通過 fcstat 命令)。我們調(diào)整 VIO 服務(wù)器上的 FC 適配器以匹配客戶端 LPAR,例如 max_xfer_size=0x200000 和 num_cmd_elems=2048。
fcstat 命令將會(huì)對(duì)虛擬 FC 適配器的某些屬性報(bào) UNKNOWN 值。由于它是虛擬適配器,所以不包含有關(guān)物理適配器屬性的任何信息,如固件層信息或支持的端口速度。
# fcstat fcs0
FIBRE CHANNEL STATISTICS REPORT: fcs0
Device Type:FC Adapter (adapter/vdevice/IBM,vfc-client)
Serial Number:UNKNOWN
Option ROM Version:UNKNOWN
Firmware Version:UNKNOWN
World Wide Node Name:0xC0507603A202007c
World Wide Port Name:0xC0507603A202007e
FC-4 TYPES:Supported:0x0000010000000000000000000000000000000000000000000000000000000000
Active:0x0000010000000000000000000000000000000000000000000000000000000000
Class of Service:3
Port Speed (supported):UNKNOWN
Port Speed (running):8 GBIT
Port FC ID:0x5D061D
|
結(jié)束語
以上就是我要分享的關(guān)于 NPIV、Power Systems、Virtual I/O 和 AIX 的經(jīng)驗(yàn)。我希望您能喜歡這篇文章。當(dāng)然,俗話說解決問題的方法不止一個(gè)。所以,請(qǐng)隨時(shí)聯(lián)系我,分享您關(guān)于此技術(shù)的經(jīng)驗(yàn),我很愿意聆聽您的想法和經(jīng)驗(yàn)。
關(guān)于作者
![]()
Chris Gibson 是一位 AIX 系統(tǒng)專家,居住在澳大利亞墨爾本市。他是 IBM CATE(System p 平臺(tái)和 AIX 5L),同時(shí)也是 IBM Redbook “NIM from A to Z in AIX 5L” 的作者之一。
http://www.ibm.com/developerworks/cn/aix/library/au-NPIV/index.html