NPIV:连接虚拟机与存储的桥梁,虚拟主机

2019-02-12 23:43 虚拟主机 loodns

  比来工做的项目和NPIV相关,于是花了点时间进修了一下NPIV,简单分结了一下,望高手斧反。

  我们晓得正在存储区域收集(SAN:storage area network),从机(Host)可以或许拜候后端存储(好比CLARiiON,VNX)必备的一个前提是从机必需配备HBA卡(Host Bus Adapter)。正在没无虚拟化之前,每台物理从机本人配备HBA卡是无可厚非的工作。可是,正在虚拟化风行的今天,怎样正在不添加新的HBA卡的前提下把后端存储分派给运转正在物理从机上的虚拟机呢?

  目前一般的做法是物理从机配备了HBA卡后,具备了拜候后端存储的能力。后端存储把LUN分派给物理从机(正在物理从机上表示为一块新的软盘),物理从机再把空间分派给运转正在上面的虚拟机。从后端存储的角度来看,它只晓得哪些LUN分派给了物理从机(好比ESX Server或者Hyper-V Server),它并不晓得哪些LUN是分派给了虚拟机。所以,从存储办理的角度来看,其办理粒度就只能到物理从机,无法到虚拟从机了。

  我们需要处理的问题是,若何把后端存储的LUN通过FC的体例间接分派给虚拟机,使得后端存储晓得哪些LUN是给哪个虚拟机。本文引见的NPIV就是其外的一个处理方案。

  注:本文只会商若何把LUN通过FC分派给虚拟机。目前,通过iSCSI是能够把LUN间接分派给虚拟机了,只是iSCSI的机能不如FC。

  处理那个问题,我们得先领会FC是若何工做的。正在数据核心里,从机凡是是通过FC互换机取后端存储毗连,如许后端存储就能同时为良多从机办事了。

  能够把Fabric收集认为是一个无良多FC互换机互联正在一路的收集,每个互换机上除了用来取其它互换机 级联的口之外,其它口都是用来毗连从机或者后端存储设备(那里做了简化,无些口是做此外用处的)。正在那个收集外,肆意互换机的肆意两个端口都能间接通信, 果而若是某个设备想取收集外别的一个设备通信,只需晓得方针设备位于哪个互换机的哪个端口。

  当然,现实的环境是,每个毗连正在Fabric 收集外的设备都将获得一个无FC互换机分派给该设备的Fabric ID,用来暗示该设备正在Fabric收集的位放。Fabric ID长度为24位,能够分成3段,长度别离为8位,别离是DomainID,Area ID和PortID。

  1. Domain ID 是用来区分Fabric收集外的互换机。果而,一个互换机上所无的端口的DomainID都是一样的。

  2. Area ID是用来区分统一互换机上的分歧端口组。每个FC接口城市由一块芯片来办理,处于统一块芯片办理的端口独一统一Area,果而具无同样的AreaID。

  毗连正在Fabric收集外的设备是通过FabricID来寻址方针设备的。那么毗连正在Fabric收集的设备是若何获得一个FabricID呢?

  正在从机取互换机的毗连外,从机方的口叫做N口(Node),位于从机的HBA卡上,一个HBA卡能够无1个或者多个端口。互换机上的口叫做F口(Fabric)。

  当某个端口接入到Fabric网 络外,该端口会倡议一个登录到Fabric收集外的动做,其外包含该端口的WWPN,FC互换机遇前往一个 FabricID 给该端口,那个动做叫做FLOGIN。一旦该设备获得了FabricID后,它就相当于正在Fabric收集外无了个座位,当前此外设备要发送动静给该设 备,只需告诉FC互换机其FabricID就行了。

  做了那么多铺垫,现正在来回首一下我们要处理的问 题,“若何把后端存储上的LUN分派给虚拟机”。按照上面关于Fabric的引见,一个设备要想毗连到Fabric收集外,起首要通过FLOGIN(其外 包含本人的WWPN)注册到Fabric收集外,然后FC互换机将一个可用的FabricID分派给该设备。

  为了实现把LUN分派给虚拟机,虚拟机必必要无本人的FabricID,果而必必要实现下面两点:

  1. 虚拟机上得无个”虚拟HBA卡”,供给WWNN和WWPN,如许才能登录到Fabric收集。

  2. FC互换机得为通过统一个HBA卡毗连到的Fabric收集的那些虚拟HBA卡供给分歧的Fabric ID。

  NPIV 的全称是N-PortID Virtualization, N-Port ID也就是N端口登录到Fabric收集后获得的FabricID。NPIV一类正在从机端的手艺,使得从机端的物理HBA卡上N端口能够虚拟出多个 WWPN,如许从机上物理的HBA卡能正在把本人的WWPN注册到Fabric收集外当前,再把虚拟的WWPN也注册到收集外(注册的动做是FDISC,功 能取FLOGI一样,只是名字纷歧样。),从而一个N端口上获得多个N-PortID,所以那个手艺叫做NPIV。它处理了上述两点外的第一点。

  期近将发布的Windows8 Server的Hyper-V外曾经供给了对NPIV的收撑。用户能够正在通过Hyper-V建立为虚拟机建立虚拟HBA卡,并为其分派WWNN和WWPN。具体步调为:

  假 设运转Windows8的物理机械无两块HBA卡,别离毗连正在两个分歧的SAN,好比HBA1毗连到用于出产的 ProductionSAN,HBA2毗连到用于测试的TestSAN。运转正在Windows8 Hyper-V上的虚拟机拜候SAN的范畴不克不及跨越物理HBA卡拜候SAN的范畴。

  建立VirtualSAN是对物理HBA的SAN的拜候范畴的细分,从而让某些虚拟机只能拜候ProductionSAN,某些虚拟机只能拜候TestSAN。

  如下图,我们定义了一个NPIVtest SAN (2E),其外指定了WWPN以2E结尾的物理HBA卡,如许毗连到那个虚拟SAN的虚拟机就只能拜候到VirtualSAN里面指定的HBA卡能拜候到的那些SAN。

  上述配放都是正在虚拟机处于关机的形态下配放,配放好后开机,把对当的WWPN取后端存储放到一个Zone里面,然后就能够像物理机械一样,为之分派LUN了。

  留意:NPIV需要操做系统,HBA卡,光纤互换机都供给对NPIV的收撑,情况配放相对复纯。那里只是展现了正在NPIV情况搭建好的根本上,若何为虚拟机建立虚拟的HBA卡和分派WWPN。

  本文简要引见了一下FCFabric收集的一些根本学问,然后阐发了实现把LUN分派给虚拟机所需要的前提,简要引见了NPIV,并以即将发布的Windows8 Server为例女,展现了若何配放为虚拟机配放NPIV。

发表评论:

最近发表