MSA Storage
1819927 Members
3043 Online
109607 Solutions
New Discussion

add initiator to host

 
Chanklish
Frequent Advisor

add initiator to host

mpio.pnghello

I have an msa 1060 with controller A and B and 16GB fiber

Controller A is working well , i tried to add the B initiatior but i am getting this error :

The mappings of the initiator are inconsistent with the mappings of the host. Therefore, the initiator cannot be added to the host. 

it doesnt show as mapped , what to do ? initiator.pnginitiator2.png

28 REPLIES 28
Cali
Honored Contributor

Re: add initiator to host

Be sure, that the Mapping LUN ID for a Volume is the same for both Ports.
Example:
Vol1 > initiator0001 > LUN 01
Vol1 > initiator0001B > LUN 01

Vol2 > initiator0001 > LUN 02
Vol2 > initiator0001B > LUN02

Not sure, why you see 3x MSA 1060 in MPIO.

Cali

 

ACP IT Solutions AGI'm not an HPE employee, so I can be wrong.
Chanklish
Frequent Advisor

Re: add initiator to host

hello

1- I added those 3 msa .. i am not sure of how to add the device/vendor id 
2- i did not understand the mapping LUN ID - i have 2 physical servers connected to the MSA 
server 1 to controller A1 and B1 and server 2 to controller A2 and B2
i have 1 host and 2 volumes 
initiator 3.pnginitiator 4.pnginitiator 5.png

Cali
Honored Contributor

Re: add initiator to host

I think you do it in reverse.

The Initiator is your Host, not the Storage.

So:

Server 1 is the first Host and has 2 Initiators (initiator0001, initiator 0001B), this is FC Port #1 and #2 connected to MSA A1, B1

Server 2 is the second Host and has 2 Initiators (initiator0002, initiator 0002B), this is FC Port #1 and #2 connected to MSA A2, B2

Now map your Volume Quorum with LUN 1 to Server 1 and Server 2 (add them both in the Mapping Table)

And map Volume Virtual with LUN 2 to Server to Server 1 and Server 2 (add them both in the Mapping Table)

In the End, Server 1 and 2 see Quorum as LUN1 and Virtual as LUN2.

I'm not sure about the initiator naming, best is to first rename "initiator0001" to "Server 1 Port 1" in the MSA GUI as an example.
Use Powershell "Get-InitiatorPort" to check the WWN to the Naming.

Cali

ACP IT Solutions AGI'm not an HPE employee, so I can be wrong.
Chanklish
Frequent Advisor

Re: add initiator to host

server 1 is connected to A1 and B1
server 2 is connected to A2 and B2

how to do the below ? i am not able to add the initiator (b1 and b2 to the host named storage )

Now map your Volume Quorum with LUN 1 to Server 1 and Server 2 (add them both in the Mapping Table)

And map Volume Virtual with LUN 2 to Server to Server 1 and Server 2 (add them both in the Mapping Table)

In the End, Server 1 and 2 see Quorum as LUN1 and Virtual as LUN2.

 

Chanklish
Frequent Advisor

Re: add initiator to host

hello ? any advise ?

Cali
Honored Contributor

Re: add initiator to host

You should delete the Hosts and restart from scratch.

See: Document - HPE MSA 1060/2060/2062 Storage Management Guide | HPE Support 

Admin [above link is no longer valid, please visit https://support.hpe.com/connect/s/  to find the latest info ]

Page 75
Removing initiators from a host

This action is disabled if:
The selected initiator is the only one attached to the host.
You must delete the host to free up in the initiator.

So, delete the Host (Storage), recreate Host "Server 1", add Initiator 1 and Initiator 2 (see above), create Host "Server 2", add Initiator 2 and Initiator 4.

Create a Host Group "Server", add both Hosts.

Map Volume 1 to Group Server with LUN 1.

Map Volume 2 to Group Server with LUN 2.

Finish.

Cali

ACP IT Solutions AGI'm not an HPE employee, so I can be wrong.
Chanklish
Frequent Advisor

Re: add initiator to host

this doesn't sound logical to me 

I have to redo everything if i connected a new controller ?! the initiators of controller B physically connected but cannot be added

maybe we are having a problem with language as english is my third language 

what is a LUN exactly in my case ?
what is the Group Server ?

i am using this msa in a 2 node failover cluster .. is this data safe ?!

thank you

Cali
Honored Contributor

Re: add initiator to host

The LUN ID is like a SCSI ID, every Volume has one unique LUN ID.

A Windows or ESX Cluster is a Group of Server and you present the Volume not only 1 of them, you do it to this whole Group.

You can do Mapping also with Single Servers, but it is easy and prohibit mistakes to use a Group.

ACP IT Solutions AGI'm not an HPE employee, so I can be wrong.
Chanklish
Frequent Advisor

Re: add initiator to host

this sounds too complicated to me or i am not able to understand you 

the msa is already working , i can stop it but what would happen to the data ? and how to add them again in the mpio ?

JonPaul
HPE Pro

Re: add initiator to host

Hi @Chanklish 
The MSA controller will not attach volumes to LUN numbers when a new Initiator is added to a host.  There are a number of scenarios where there could be conflicts to LUN mapping which when handed to a process could end up causing great damage.
Therefore you need to identically attach/map all the volumes to InitiatorB BEFORE you add the initiator to the Host. Once Initator0001 and Initiator0001B are identical with respect to LUN mappings they can be combined into a single host.  
If you can do this Offline, you can do as @Cali  stated and start over with the Attach of Volumes with BOTH initiators in the Host.  It looks like making the Attach/maps identical will be a fairly easy process.
MPIO looks correct, although one of your entries may have too many spaces between "HPE" and "MSA..." there should be 5 spaces.

I work for HPE
HPE Support Center offers support for your HPE services and products when and how you need it. Get started with HPE Support Center today.
[Any personal opinions expressed are mine, and not official statements on behalf of Hewlett Packard Enterprise]
Chanklish
Frequent Advisor

Re: add initiator to host

so i have to move all the data from the msa , delete all and start again ?

Very bad system

Cali
Honored Contributor

Re: add initiator to host

No, Data and Volume stay safe, at it is.
You only need to change the Mapping (Attach to the Server).
Do, as I say.
Create the two Hosts (Server) with every two Initiators (FC Ports on the Host), add both Hosts to a Host Group.
Then map both Volumes to the Group, Volume 1 as LUN1 and Volume 2 as LUN2.

ACP IT Solutions AGI'm not an HPE employee, so I can be wrong.
Chanklish
Frequent Advisor

Re: add initiator to host

hello Cali 

you have been a tremendous help 

how to do the below ( how to map them )

Then map both Volumes to the Group, Volume 1 as LUN1 and Volume 2 as LUN2.

Cali
Honored Contributor

Re: add initiator to host

Here are some Screenshots:
(I skip the Host Group)
Host = Server
Initiator = FC Port on the Server HBA, it is not the Port on the MSA

 

MSA Gen6 Add Host.pngMSA Gen6 Add Host 2.pngMSA Gen6 Add Host 3.pngMSA Gen6 Attach Host 3.png

Cali

ACP IT Solutions AGI'm not an HPE employee, so I can be wrong.
Chanklish
Frequent Advisor

Re: add initiator to host

Hello 

So i did exactly what you advised , but i still dont have any redundancy or mapping 

redundancy error : 

 

A failure of Controller A will impact connectivity to this host. You must physically connect this host through a port on Controller B.

 

Mapping error :

 

A failure of Controller {A} will impact connectivity to this host. You must physically connect this host through a port on Controller {B}.

redundancy.png

 

initiator 6.png

Cali
Honored Contributor

Re: add initiator to host

And Server 1 (Storage) is connected to A1 & B1, Server 2 (StorageB) to A2 & B2?
Watch out, one Controller is reverse!
That's the last point for me than I'm out.

Cali

MSA 2060 Back.png

Cali

ACP IT Solutions AGI'm not an HPE employee, so I can be wrong.
Chanklish
Frequent Advisor

Re: add initiator to host

Hello

Yes one server is connected to A1 and B1 and one server to A2 and B2 , i rechecked them and it is correct

JonPaul
HPE Pro

Re: add initiator to host

@Chanklish  what are you seeing from the host side?
In Device Manager are the MSA 2060 LUNs being shown as multipath devices?
Are there multiple PATHs to the device shown in the Device Properties?  I think that is under the MPIO tab
There is a way in the CLI to show the ports that the initiators are connected to:
CLI>  set cli-parameters api                 {This will change the output to XML}
CLI> show initiators
Each initiator will report 'host-port-bits-a' and 'host-port-bits-b' which is a bitmap of the ports which the initiator has logged into.  1 == port 1, 2== port 2, 3 == ports 1 and 2 {requires SAN attach}
If the host (Device Manager) shows multiple paths and each host shows a connection on the A controller and a connection on the B port then the WebUI may be stating inaccurate information in regards to the 'Redundancy'. 

I work for HPE
HPE Support Center offers support for your HPE services and products when and how you need it. Get started with HPE Support Center today.
[Any personal opinions expressed are mine, and not official statements on behalf of Hewlett Packard Enterprise]
JonPaul
HPE Pro

Re: add initiator to host

@Chanklish As I should have noted earlier, please run a set of your logs through the MSA Health Check 
https://www.hpe.com/storage/MSAHealthCheck
This also has a LUN mapping check and will let you know of new firmware availability.

I work for HPE
HPE Support Center offers support for your HPE services and products when and how you need it. Get started with HPE Support Center today.
[Any personal opinions expressed are mine, and not official statements on behalf of Hewlett Packard Enterprise]
Chanklish
Frequent Advisor

Re: add initiator to host

hello Jon 

thank you for the support

this is the msa health check , all looks ok ( http is enabled is not an issue to our standards ) https://msa.ext.hpe.com/ViewLog.aspx?ti=1643269356341

# show initiators
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RESPONSE VERSION="L100" REQUEST="show initiators">
<COMP G="0" P="1"/>  <OBJECT basetype="initiator" name="initiator" oid="1" format="rows">
    <PROPERTY name="durable-id" key="true" type="string" size="10" draw="false" sort="string" display-name="Durable ID">I2</PROPERTY>
    <PROPERTY name="nickname" type="string" size="255" draw="true" sort="string" display-name="Nickname">initiator0001</PROPERTY>
    <PROPERTY name="discovered" type="string" size="10" draw="true" sort="string" display-name="Discovered">Yes</PROPERTY>
    <PROPERTY name="mapped" type="string" size="6" draw="true" sort="string" display-name="Mapped">Yes</PROPERTY>
    <PROPERTY name="profile" type="string" size="10" draw="true" sort="string" display-name="Profile">Standard</PROPERTY>
    <PROPERTY name="profile-numeric" type="uint32" size="10" draw="true" sort="string" display-name="Profile">0</PROPERTY>
    <PROPERTY name="host-bus-type" type="string" size="10" draw="true" sort="string" display-name="Host Type">FC</PROPERTY>
    <PROPERTY name="host-bus-type-numeric" type="uint32" size="10" draw="true" sort="string" display-name="Host Type">6</PROPERTY>
    <PROPERTY name="id" key="true" type="string" size="224" draw="true" sort="string" display-name="ID">51402ec01728b110</PROPERTY>
    <PROPERTY name="url" key="true" type="string" size="224" draw="false" sort="string" display-name="URL">/initiators/51402ec01728b110</PROPERTY>
    <PROPERTY name="host-id" type="string" size="32" draw="false" sort="string" display-name="Host ID">00c0ff647bfa000093a43c6101010000</PROPERTY>
    <PROPERTY name="host-key" type="string" size="10" draw="false" sort="string" display-name="Host Key">H0</PROPERTY>
    <PROPERTY name="host-port-bits-a" type="uint32" size="8" draw="true" sort="integer" display-name="Host Port Bits Ctlr A">2</PROPERTY>
    <PROPERTY name="host-port-bits-b" type="uint32" size="8" draw="true" sort="integer" display-name="Host Port Bits Ctlr B">0</PROPERTY>
  </OBJECT>
<COMP G="0" P="2"/>  <OBJECT basetype="initiator" name="initiator" oid="2" format="rows">
    <PROPERTY name="durable-id" key="true" type="string" size="10" draw="false" sort="string" display-name="Durable ID">I1</PROPERTY>
    <PROPERTY name="nickname" type="string" size="255" draw="true" sort="string" display-name="Nickname">initiator0001B</PROPERTY>
    <PROPERTY name="discovered" type="string" size="10" draw="true" sort="string" display-name="Discovered">Yes</PROPERTY>
    <PROPERTY name="mapped" type="string" size="6" draw="true" sort="string" display-name="Mapped">Yes</PROPERTY>
    <PROPERTY name="profile" type="string" size="10" draw="true" sort="string" display-name="Profile">Standard</PROPERTY>
    <PROPERTY name="profile-numeric" type="uint32" size="10" draw="true" sort="string" display-name="Profile">0</PROPERTY>
    <PROPERTY name="host-bus-type" type="string" size="10" draw="true" sort="string" display-name="Host Type">FC</PROPERTY>
    <PROPERTY name="host-bus-type-numeric" type="uint32" size="10" draw="true" sort="string" display-name="Host Type">6</PROPERTY>
    <PROPERTY name="id" key="true" type="string" size="224" draw="true" sort="string" display-name="ID">51402ec01728b156</PROPERTY>
    <PROPERTY name="url" key="true" type="string" size="224" draw="false" sort="string" display-name="URL">/initiators/51402ec01728b156</PROPERTY>
    <PROPERTY name="host-id" type="string" size="32" draw="false" sort="string" display-name="Host ID">00c0ff647bfa0000d418f16101010000</PROPERTY>
    <PROPERTY name="host-key" type="string" size="10" draw="false" sort="string" display-name="Host Key">H1</PROPERTY>
    <PROPERTY name="host-port-bits-a" type="uint32" size="8" draw="true" sort="integer" display-name="Host Port Bits Ctlr A">0</PROPERTY>
    <PROPERTY name="host-port-bits-b" type="uint32" size="8" draw="true" sort="integer" display-name="Host Port Bits Ctlr B">1</PROPERTY>
  </OBJECT>
<COMP G="0" P="3"/>  <OBJECT basetype="initiator" name="initiator" oid="3" format="rows">
    <PROPERTY name="durable-id" key="true" type="string" size="10" draw="false" sort="string" display-name="Durable ID">I3</PROPERTY>
    <PROPERTY name="nickname" type="string" size="255" draw="true" sort="string" display-name="Nickname">initiator0002</PROPERTY>
    <PROPERTY name="discovered" type="string" size="10" draw="true" sort="string" display-name="Discovered">Yes</PROPERTY>
    <PROPERTY name="mapped" type="string" size="6" draw="true" sort="string" display-name="Mapped">Yes</PROPERTY>
    <PROPERTY name="profile" type="string" size="10" draw="true" sort="string" display-name="Profile">Standard</PROPERTY>
    <PROPERTY name="profile-numeric" type="uint32" size="10" draw="true" sort="string" display-name="Profile">0</PROPERTY>
    <PROPERTY name="host-bus-type" type="string" size="10" draw="true" sort="string" display-name="Host Type">FC</PROPERTY>
    <PROPERTY name="host-bus-type-numeric" type="uint32" size="10" draw="true" sort="string" display-name="Host Type">6</PROPERTY>
    <PROPERTY name="id" key="true" type="string" size="224" draw="true" sort="string" display-name="ID">51402ec01728b154</PROPERTY>
    <PROPERTY name="url" key="true" type="string" size="224" draw="false" sort="string" display-name="URL">/initiators/51402ec01728b154</PROPERTY>
    <PROPERTY name="host-id" type="string" size="32" draw="false" sort="string" display-name="Host ID">00c0ff647bfa000093a43c6101010000</PROPERTY>
    <PROPERTY name="host-key" type="string" size="10" draw="false" sort="string" display-name="Host Key">H0</PROPERTY>
    <PROPERTY name="host-port-bits-a" type="uint32" size="8" draw="true" sort="integer" display-name="Host Port Bits Ctlr A">1</PROPERTY>
    <PROPERTY name="host-port-bits-b"  </OBJECT>
<COMP G="0" P="4"/>  <OBJECT basetype="initiator" name="initiator" oid="4" format="rows">
    <PROPERTY name="durable-id" key="true" type="string" size="10" draw="false" sort="string" display-name="Durable ID">I0</PROPERTY>
    <PROPERTY name="nickname" type="string" size="255" draw="true" sort="string" display-name="Nickname">initiator0002B</PROPERTY>
    <PROPERTY name="discovered" type="string" size="10" draw="true" sort="string" display-name="Discovered">Yes</PROPERTY>
    <PROPERTY name="mapped" type="string" size="6" draw="true" sort="string" display-name="Mapped">Yes</PROPERTY>
    <PROPERTY name="profile" type="string" size="10" draw="true" sort="string" display-name="Profile">Standard</PROPERTY>
    <PROPERTY name="profile-numeric" type="uint32" size="10" draw="true" sort="string" display-name="Profile">0</PROPERTY>
    <PROPERTY name="host-bus-type" type="string" size="10" draw="true" sort="string" display-name="Host Type">FC</PROPERTY>
    <PROPERTY name="host-bus-type-numeric" type="uint32" size="10" draw="true" sort="string" display-name="Host Type">6</PROPERTY>
    <PROPERTY name="id" key="true" type="string" size="224" draw="true" sort="string" display-name="ID">51402ec01728b112</PROPERTY>
    <PROPERTY name="url" key="true" type="string" size="224" draw="false" sort="string" display-name="URL">/initiators/51402ec01728b112</PROPERTY>
    <PROPERTY name="host-id" type="string" size="32" draw="false" sort="string" display-name="Host ID">00c0ff647bfa0000d418f16101010000</PROPERTY>
    <PROPERTY name="host-key" type="string" size="10" draw="false" sort="string" display-name="Host Key">H1</PROPERTY>
    <PROPERTY name="host-port-bits-a" type="uint32" size="8" draw="true" sort="integer" display-name="Host Port Bits Ctlr A">0</PROPERTY>
    <PROPERTY name="host-port-bits-b" type="uint32" size="8" draw="true" sort="integer" display-name="Host Port Bits Ctlr B">2</PROPERTY>
  </OBJECT>
<COMP G="0" P="5"/>  <OBJECT basetype="status" name="status" oid="5">
    <PROPERTY name="response-type" type="string" size="12" draw="false" sort="nosort" display-name="Response Type">Success</PROPERTY>
    <PROPERTY name="response-type-numeric" type="uint32" size="12" draw="false" sort="nosort" display-name="Response Type">0</PROPERTY>
    <PROPERTY name="response" type="string" size="180" draw="true" sort="nosort" display-name="Response">Command completed successfully. (2022-01-27 08:56:33)</PROPERTY>
    <PROPERTY name="return-code" type="sint32" size="15" draw="false" sort="nosort" display-name="Return Code">0</PROPERTY>
    <PROPERTY name="component-id" type="string" size="80" draw="false" sort="nosort" display-name="Component ID"></PROPERTY>
    <PROPERTY name="time-stamp" type="string" size="25" draw="false" sort="datetime" display-name="Time">2022-01-27 08:56:33</PROPERTY>
    <PROPERTY name="time-stamp-numeric" type="uint32" size="25" draw="false" sort="datetime" display-name="Time">1643273793</PROPERTY>
  </OBJECT>

 

device manager.pngmpio multi.png

Cali
Honored Contributor

Re: add initiator to host

In the beginning, I write:

I'm not sure about the initiator naming, best is to first rename "initiator0001" to "Server 1 Port 1" in the MSA GUI as an example.
Use Powershell "Get-InitiatorPort" to check the WWN to the Naming.

What I can see here is, that 001 & 002b looks equal and 002 & 001b looks equal.
But The one Host include 001 & 001b and the other 002 & 002b.

Can you please verify, with powershell, that the WWN of the Initiators is assigned the right Host (Storage & StorageB).
It's unclear for us and you, without good Naming.
You should also change the Naming of "Storage" and "StorageB" to "YourServerName", as in my Screenshots.

Sorry, I'm not sure anymore. The XML looks different to the Screenshots.

Cali

ACP IT Solutions AGI'm not an HPE employee, so I can be wrong.
Chanklish
Frequent Advisor

Re: add initiator to host

I think there is something different in my config

Host "Storage" is has initiators A1 and A2 .. but A1 is connected to one physical server and A2 is connected to another physical server ( 2 fibre cables coming from 2 servers to controller A in the MSA )

Same for "StorageB" it has initiators B1 and B2 .. but B1 is connected to one physical server and B2 is connected to another physical server ( 2 fibre cables coming from 2 servers to controller B in the MSA ) - 2 physical servers each has a card with 2 FC ports

 


PS C:\Windows\system32> Get-InitiatorPort

InstanceName NodeAddress PortAddress ConnectionType
------------ ----------- ----------- --------------
PCI\VEN_1077&DEV_2261&SUBSYS_00FA1590&REV_01\4&ca6644&0&0010_0 51402ec01728b155 51402ec01728b154 Fibre Channel
PCI\VEN_1077&DEV_2261&SUBSYS_00FA1590&REV_01\4&ca6644&0&0110_0 51402ec01728b157 51402ec01728b156 Fibre Channel

 

 

these are the id of the initiators

 
ID: 51402ec01728b110 Nickname:
initiator0001
 
ID: 51402ec01728b156 Nickname:
initiator0001B
 
ID: 51402ec01728b154 Nickname:
initiator0002
 
ID: 51402ec01728b112 Nickname:
initiator0002B

 

Cali
Honored Contributor

Re: add initiator to host

Your Naming makes it difficult.
This is how it should be:

Host "Storage" = Server 1

Server 1 include
ID: 51402ec01728b154 Nickname:
initiator0002
ID: 51402ec01728b156 Nickname:
initiator0001B
and is connected to A1 & B1

Host "StorageB" = Server 2

Server 2 include
ID: 51402ec01728b110 Nickname:
initiator0001
ID: 51402ec01728b112 Nickname:
initiator0002B
and is connected to A2 & B2

 

 

ACP IT Solutions AGI'm not an HPE employee, so I can be wrong.
Chanklish
Frequent Advisor

Re: add initiator to host

it is not possible to do so without removal of all initiators 

i tried to remove A2 and add B1 but i get same error (couldnt add the iniator with the same error)

guess I'm forced to redo everything