1. VIO 2.1 和 NPIV 简介

PowerVM 是 IBM 公司为运行在 Power Systems 上的 AIX、IBM i 和 Linux 操作系统提供的工业强度的虚拟化技术。NPIV 是 PowerVM 的 VIO 2.1 版本所支持的新功能 , 是 IBM Power 虚拟化技术发展的最新成果。本文主要对该特性的概念作简要的介绍,并通过对比以往相似特性以及注意事项 , 最后通过一个简单的范例带给读者一个初步的了解。

总体来讲,IBM Power 虚拟化是通过生成现实物理资源的替代物所谓虚拟资源(Virtual Resource) 来模拟与真实资源相同的功能和接口特性。总体来说虚拟化可以概括为以下几个方面:

  • 虚拟系统
  • 虚拟存储
  • 虚拟网络

虚拟存储技术允许不同的逻辑分区(LPAR)共享存储适配卡和存储资源,例如一个分区可以通过分区上的虚拟 SCSI 卡访问共享的 硬盘或光驱,整个过程对于操作系统来说就如真实的 SCSI 设备卡。VIO Server 2.1 版本将对物理设备适配卡的虚拟支持扩展到了光纤卡,通过 VIOS 上的一块支持 NPIV 特性的真实物理光纤适配卡,多个不同的分区可通过虚拟的光纤卡访问 SAN 网络的资源 , 从而简化多分区系统上的 SAN 资源管理 。通过使用 NPIV, 企业系统管理员可以很大程度上简化存储规划例如 (Zoning,LUN Masking) 的工作,对于需要运行多个访问 SAN 资源的业务来说,可以减少所需的适配卡的数量,降低采购和维护成本。如下图所示,客户端逻辑分区与虚拟 I/O 服务器逻辑分区上的虚拟光纤通道适配器之间总是存在一对一的关系。

图 1. 虚拟光纤通道

当前支持这一功能的硬件系统包括 IBM 基于 POWER6™ 的 520,550,560,570 等系列服务器,IBM PowerVM 的易捷版 (Express), 标准版 (Standard) 和企业版(Enterprise) 都包括此特性。支持的分区操作系统包括 AIX 5.3 ,AIX 6.1 ,IBM i 6.1.1 . Linux。

2. NPIV 的原理和特性

N_Port ID Virtualization (NPIV) 是业界通行的一个工业标准,主要目的是通过虚拟化光纤通道接口来简化 SAN 网络的架构 , 让虚拟环境下的服务器与 SAN 环境连接更加弹性和安全。NPIV 即为光纤信道中的一个协议,目的在于让一个实体的 N 端口可以虚拟出数个 N_Port ID。并且将光纤交换机上的任一 F_Port 关联到多个 N_Port ID, 从而使基于 Power 虚拟化平台的多个不同的分区系统可以共享一个光纤适配卡 (HBA)。其功能是由光纤信道 HBA 卡提供,但前端的虚拟平台以及后端的光纤信道交换机也要能支持。当前 IBM 推出了基于 Power6 的 P 系列服务器和刀片机都支持 NPIV 协议,相应的更多的相关光纤信道 HBA 卡产品也将在今后陆续到位。

2.1 VSCSI 与 NPIV 的异同

图 2. VSCSI 与 NPIV

对于共享存储资源的 vSCSI 模式来说,异构存储是由 VIOS 统一汇集成一个单一块存储池,然后再以通用 SCSI LUN 的形式分配给客户端的 LPAR 中。SCSI 模拟和 SCSI target 的扮演的工作都是由 VIOS 来执行的。与 VSCSI 不同的是,在 NPIV 的过程中,VIOS 所起的作用是根本不同的。VIOS 只提供功能便于适配器的共享,没有设备级抽象或模拟。而且不像 VSCSI 那样提供存储虚拟的功能 ,VIOS 只提供 NPIV 的一个捷径,以便客户端的 LPAR 通过 FCP 口连接到 SAN 网络。

2.2 Live Partition Mobility 与 NPIV

图 3. Live Partition Mobility 与 NPIV

Live Partition Mobility 是基于 POWER6™ 的 PowerVM 的另一个特性,它可以把一个处在运行状态(或停止状态)的 LPAR 从一个物理机器系统上转移到另一个物理机器系统上。整个过程对用户来说几乎是透明的,不需要中断 LPAR 上驻留的应用程序或操作系统。当 Live Partition Mobility 环境中使用到 NPIV 的相关功能时,需要考虑以下几点:

  • 每个客户端逻辑分区上的每个虚拟光纤通道适配器分别接收到一个唯一的 WWPN 对。客户端逻辑分区可以在任何时候使用一个 WWPN 来登录 SAN。当您将客户端逻辑分区移到其他受管系统时,将使用另一个 WWPN。
  • 拥有一个以上的虚拟光纤适配器的客户分区应该有相应的服务器端光纤适配器来映射到不同的光纤通道适配器端口。
  • 目的地 VIOS 分区应该拥有与源 VIOS 分区相同配置的光纤通道适配器。使用第二 WWPN 完成分区第一次移动工作,使用原来的 WWPN 如果需要将分区移动回来。
  • 冗余配置虚拟光纤通道适配器

使用冗余配置的虚拟光纤通道适配器可以避免发生物理适配器故障及虚拟 I/O 服务器故障。与虚拟 SCSI 冗余一样,可使用客户分区上的多路径 I/O(MPIO)和镜像来实现虚拟光纤通道冗余, 如下图所示,在使用多个虚拟 I/O 服务器逻辑分区的同时,使用客户端分区上的多路径 I/O(MPIO)和镜像来实现虚拟光纤通道冗余。

图 4. 冗余配置

3. NPIV 的系统要求

硬件

  • 8Gb 2-port 光纤卡 例如(feature code 5735— PCIe 8Gb Fibre Channel Adapter)
  • 支持 NPIV 特性光纤交换机(switch)
  • POWER6 硬件设备 520,550,570 … .
  • 易捷版,标准版,企业版 PowerVM

软件

固件级别 340_036 以上

  • 针对 HMC 管理系统的 HMC 版本 7.3.4 以上 或 IVM
  • FC host adapter driver
  • 针对 HMC 和 IVM 管理系统的虚拟 I/O 服务器版本 (VIOS) 2.1.0.1-FP21
  • AIX 5.3 TL9 SP2 以上
  • AIX 6.1 TL2 SP2 以上
  • IBM i V6.1.1 或更高版本
  • SUSE Linux® Enterprise Server 11 或更高版本

4. 实验环境软硬件介绍

本文通过一个简单实例演示如何在一台 P570 上配置虚拟光纤卡 , 来为其上的客户分区提供虚拟光纤通道,以下为该实验环境软硬件介绍。

1 . AIX 系统 —— 硬件

本文所用的硬件(P570)lpar 配置如下 :

  • 服务器端(TSM Server/MIN Server)
  • 四路处理器(3.5GHz)
  • 16 GB RAM
  • 8Gb 光纤卡 5735
  • IBM SAN 2498 B24 光纤交换机
  • 硬件管理控制台 (HMC) (7.3.4.0.1)

2 . AIX 系统—— 软件、维护级别与文件系统

为此系统安装的维护级别和软件为:具有技术级别(TL)1 的 AIX 6.1

4.1 简单范例

首先检查 SAN 光纤交换机是否支持 NPIV 特性,如果必要更新交换机微码,本例使用一台支持 NPIV 的 IBM 2498 B24 光纤交换机。使用 portcfgshow 命令检查光纤交换机是否支持 NPIV 特性

接着检查 Power6 机器的相关属性,确保该机器支持 NPIV 功能,本例通过 HMC 来显示一台机器的属性,选项“Virtual Fibre Channel Capable”显示为”True”, 代表该机器符合硬件要求, 如图 5 所示 :

图 5. HMC

在硬件控制台上为 VIOS 和客户端分区配置虚拟光纤卡,配置的过程与 VSCSI 卡的过程相似,然后在 VIOS 上执行 cfgdev 命令使系统识别新建的光纤卡,如图 6 所示:

图 6. 创建虚拟光纤卡

#cfgdev

一旦完成创建,可以通过查看 LPAR Profile 来检查所生成的 WWPN 码,选择管理 Profile, 编辑 Profile, 选择虚拟光纤卡的属性,显示生成的 WWPN 码, 如图 7 所示:

图 7. 查看 WWPN

在 VIOS 上执行 lsdev – dev vfchost* 命令查看虚拟光纤卡 , 列出所有的已定义的虚拟光纤卡 , 如清单 1 所示:

清单 1. 查看虚拟光纤卡

$ lsdev -dev vfchost*
name status description
vfchost0 Available Virtual FC Server Adapter

 

接着执行 lsdev 命令查看所有的物理光纤卡 , 列出所有的物理虚拟光纤卡,如清单 2 所示:

清单 2. 查看物理光纤卡

$ lsdev -dev fcs*
name status description
fcs0 Available 4Gb FC PCI Express Adapter (df1000fe)
fcs1 Available 4Gb FC PCI Express Adapter (df1000fe)
fcs2 Available 8Gb PCI Express Dual Port FC Adapter (df1000fl14108a03)
fcs3 Available 8Gb PCI Express Dual Port FC Adapter (df1000fl14108a03)

执行 lsnports 命令查看所有可以适用于 NPIV 的端口,如清单 3 所示:

清单 3. 查看 NPIV 端口

$ lsnports
name physloc fabric tports aports swwpns awwpns
fcs3 U7830.001.DMDYKYM-P1-C6-T2 1 64 63 2048 2046

然后执行 vfcmap 命令将虚拟卡映射到相应的物理卡上,如清单 4 所示:

清单 4. 虚拟卡映射物理卡

$ vfcmap – vadapter vfchost0 – fcp fcs3
vfchost0 changed

最后执行 lsmap -npiv -all 命令查看映射的结果,如清单 5 所示:

清单 5. 查看映射结果

$ lsmap -npiv -all
Name Physloc ClntID ClntName ClntOS
============= ================================== ====== ============== =======
vfchost0 U9117.MMA.122F170-V1-C31 6 AIX61 AIX 
Status:LOGGED_IN
FC name:fcs3 FC loc code:U789D.001.DQDYKYW-P1-C6-T2
Ports logged in:1
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs0 VFC client DRC:U9117.MMA.122F170-V3-C31-T1

结束语

通过本文,读者可以对 PowerVM 的新支持特性 NPIV 作个大致的理解,并以简单的图片实例演示一个配置虚拟光纤通道的过程。由于客户的环境的不同,该实例的配置过程仅供参考。