Difference between LUN OS type and igroup OS type?What is LUN OS type?LUNS OS type or the LUN Multiprotocol Type specifies the OS of the host accessing the LUN, and based on thatit determines the layout of data on the LUN, the geometry used to access that data, and properly offsets theLUN to ensure it is properly aligned with upper layers of the file system. If you do not select the correct LUN OStype, it may result in a misaligned LUN and eventually lead to performance issues. This OS type property alsodetermines the minimum and maximum size of the LUN.The LUN Multiprotocol Type values are solaris, solaris_efi, windows, windows_gpt, windows_2008 , hpux, aix,linux, netware, xen, hyper_v, and vmware. When you create a LUN, you must specify the LUN type. Once theLUN is created, you cannot modify the LUN host operating system type.Note: Do not confuse LUN OS type with igroup OS type; always select the correct LUN OS type. For example –If you are manually creating a LUN for Windows 2008 OS using NetApp’s System Manager or through theONTAP console, make sure ‘windows_2008’ LUN OS type is selected, and igroup OS type of ‘windows’. In caseyou have selected ‘windows’ as LUN OS type for Windows 2008 and ‘windows’ for igroup OS type, this will leadto misaligned LUN.Following example shows LUN OS type selection menu during LUN creation via NetApp System Manager.
What is igroup OS type?Indicates the type of host operating system used by all of the initiators in the igroup. All initiators in an igroupmust be of the same ostype. The ostypes of initiators are solaris, windows, hpux, aix, netware, xen, hyper_v,vmware, and linux. You must select an ostype for the igroup.Following example shows igroup OS type: [Point to be noted here is – The menu selection of igroup OS typelooks similar to LUN OS type in once instance, but if you look carefully, igroup OS type selection is very genericand does not go into types of OS within the particular OS type as in the LUN OS type selection. For example – Ituses ‘windows’ property for all the flavours of windows]Igroup in itself is useless unless it is associated with a LUN, and that brings the next question –What is LUN mapping?LUN mapping in simplest of definition would be the process of associating a LUN with an igroup. When youmap the LUN to the igroup, you grant the initiators in the igroup access to the LUN. You must map a LUN to anigroup to make the LUN accessible to the host. Data ONTAP maintains a separate LUN map for each igroup tosupport a large number of hosts and to enforce access control.
Creating LUN and igroup though command line: [FYI: These days we rarely create LUNS this way; werather use System Manager or SnapDrive on the Host Side for provisioning SAN LUNs]Filer>lun setupNote: the "lun setup" will display prompts that lead you through the setup process; else you can manuallycreate them using absolute commands.# Create the LUNFiler>lun create -s 100m -t windows_2008 /vol/tradvol1/lun1# -t = LUN OS type# Create the igroup, you must obtain the nodes identifier (my home pc is: iqn.1991-05.com.microsoft:win2k8r2)Filer>igroup create -i -t windows win_hosts_group1 iqn.1991-05.com.microsoft:win2k8r2# -t = igroup OS type (This is more of a OS segregation object)# Map the LUN to the igroupFiler>lun map /vol/tradvol1/lun1 win_hosts_group1Some facts about LUN OS type and igroup OS type:LUN OS type cannot be changed once it is set as shown in the Figure below:
Whereas,igroup OS type is an editable field, in other words, this property can be edited even after the igroup creation.(This is B’cos it more of an OS masking for the initiators) as shown in figure below.The next obvious question would be – Is it disruptive?Well, I tested this on my Linux and windows hosts, during IO operations and nothing happened. So, basically itcan be changed. This also makes me believe that it is just an attribute to ensure that initiators are not amember of igroups of differing ostype, and possibly has no role in the underline SCSI operations. That said, it ismy opinion and not that of NetApp’s. Always consult the NetApp Technical Support if you are not 100 % sure.Most important of all:An initiator cannot be a member of igroups of differing ostype. For example, if you have an initiator thatbelongs to a windows igroup, you cannot add the same initiator to a linux igroup or vice versa. Also, a givenigroup can be used for FCP or iSCSI, but not both.
igroup example for clustered host:You can create multiple igroups to define which LUNs are available to your hosts in a cluster. For example, youcan use igroups to ensure that specific LUNs are visible to only one host in the cluster as shown in the chartbelow.The following table illustrates how four igroups give access to the LUNs for four different hosts accessing thestorage system. The clustered hosts (Host3 and Host4) are both members of the same igroup (aix-group2) andcan access the LUNs mapped to this igroup. The igroup named aix-group3 contains the WWPNs of Host4 tostore local information not intended to be seen by its partner.This document does not intend to cover how igroup is created for FC or iSCSI or how other igroup attributefunctions such as ALUA. There is already plenty of documentation available for that.Prepared by,firstname.lastname@example.org