ONTAP Discussions

Lun mapping to two igroups with two different HBA's


It's been a while since last time when I worked on FC. 
I have 2 nodes HA, in cmod, the host has two HBAs and connect to to different switches, 2 FC ports on each node are connected to two diff switches.


Lets say i have a linux host with two HBA's ports, then I should create wo igroups 

igroup create -f -t linux host1_hba0 [Qlogic WWPN Port 1]

igroup create -f -t linux host1_hba1 [Qlogic WWPN Port 2]


assuming I have a lun: /vol/vol1/lun1

the question is, should I map the lun to these two igroup's:

lun map /vol/vol1/lun1 igroup_host1_hba0
lun map /vol/vol/1/lun1 igroup_host1_hba1






It is enough and easier to manage with one igroup for host.




You can create one igroup with two HBA adresses and map your lun to this igroup. You don't need to do this twice. 


You don't need to create 2 igroups for two HBA's. Create an igroup and add two HBA wwpn's to that igroup and map lun to that igroup.


Please create alias for host wwpns on storage side. it is the easy way for identification.


fcp wwpn-alias set  Host1_HBA1 <wwpn_HBA1>

fcp wwpn-alias set  Host1_HBA2 <wwpn_HBA2>


Create igroup and add fcp-alias of two HBA's to the igroup


igroup create -f -t linux host1_igrp

igroup add host1_igrp1 Host1_HBA1

igroup add host1_igrp1 Host1_HBA2



 lun map /vol/vol1/lun1 igroup_host1_igrp


This is the best procedure to follow.



Great! Thanks and everyone else here. 


A follow-up question. In case like this, should I create portsets, and if yes, what commands would look like?




A port set consists of a group of FC target ports. You bind a port set to an igroup, to make the LUN available only on a subset of the storage system's target ports. Any host in the igroup can access the LUNs only by connecting to the target ports in the port set.
If an igroup is not bound to a port set, the LUNs mapped to the igroup are available on all of the storage system’s FC target ports. The igroup controls which initiators LUNs are exported to. The port set limits the target ports on which those initiators have access.
You use port sets for LUNs that are accessed by FC hosts only. You cannot use port sets for LUNs accessed by iSCSI hosts.
Note: You don't need portset here, because you are having only 2 FC ports. If you want the commands to create portset, please find below.


portset create portset4 filerA:4b

portset add portset_name 3a

igroup bind igroup_name portset_name


If this solution resolved your issue, please mark it as resolution and give kudos



Thanks  ! Please stay with me for one more question.



To make the question  to  be more comolicated. What if I need to create a boot lun for all hosts. the folllowing is what I am thinking:
- I should seperate the boot lun from any other data luns by using different LIF and path.
- I should create the other LIF, say lif_boot for boot path, and lif_data for data path. These two LIFs will be created on the same physical FC port, 3a and 3c respectively.
   node-1-fc-3a-lifboot, node-1-fc-3a-lifdata                 node-2-fc-3a-lifboot,node-2-fc-3a-lifdata
   node-1-fc-3c-lifboot, node-1-fc-3c-lifdata                  node-2-fc-3c-lifboot,node-2-fc-3c-lifdata
- then the followong will be the zoning:
       host1-hba1-boot_npiv_wwpn, node-1-fc-3a-lifboot, node-2-fc-3c-lifboot
       host1-hba1-data_npiv_wwpn, node-1-fc-3a-lifdata, node-2-fc-3c-lifdata
      host1-hba2-boot_npiv_wwpn, node-1-fc-3c-lifboot, node-2-fc-3c-lifboot
     host1-hba2-data_npiv_wwpn, node-1-fc-3c-lifdata, node-2-fc-3c-lifdata

Please correct me, if any one of above thoughts sounds don't make sense, and anything wrong. Thanks!


If you are using different VSERVERS for boot lun and data lun go for different lifs. If you you are using same VSERVER for both boot and data luns different lifs are not required using same interfaces. 


What would be your recommendation about using two diffrent SVM's for BOOT LUNs and DATA LUNs or using a single SVM?


In the case of using the same SVM, should my previous steps look good to you?


Appreciate your help.


No need to use different SVM's for boot lun and data lun. If you are using same SVM and creating seperate lif's on same ports doesn't make sense to me. Use single lif for both boot lun and data lun.


OK. It will be then no portset, single lif on a single FC physical port, and single SVM for FCP, since there are not too many hosts here.


What if I have about 10-20 AIX severs, and 10-20 linux servers. In your recommendation,
 Using two LIFs on a single FC port to separate two different type of platforms. Would that work, or should it be necessary? Any benefits by doing that, or make the thing more complicated in your opinion?



Create a failover group for lifs on 2 nodes. If you are using a single SVM with different lifs with same FC ports is not required. You are making it more complex 🙂


a failover group for lifs in FC environment is not needed. Correct?


Yes, for FC failover groups are not required 🙂 ........ got confused with your bunch of questions 😛