Citrix
Include legacy content

Archive: Dell EqualLogic Configuration Causes sr-scan Errors and Orphaned Secure Shell Connections to the Storage Array

  • CTX123284
  • Created On  Dec 24, 2009
  • Updated On  Mar 10, 2012
  • 1 found this helpful
  • Article
  • Topic : Storage
This article is no longer maintained, its content refers to a discontinued product and may be out of date. Refer to the Discontinued Product Lifecycle or Active Citrix Product pages for more information on support schedules.

Symptoms

When issuing the xe sr-scan command for a Dell EqualLogic storage device connected using the XenServer Dell EqualLogic plugin, you receive one of the following error messages:

“There was an SR backend failure.
status: non-zero exit
stdout:
stderr: Traceback (most recent call last):
  File "/opt/xensource/sm/EQUALSR", line 1137, in ?
    SRCommand.run(EQUALSR, DRIVER_INFO)
  File "/opt/xensource/sm/SRCommand.py", line 150, in run
    ret = cmd.run(sr)
  File "/opt/xensource/sm/SRCommand.py", line 136, in run
    return sr.scan(self.params['sr_uuid'])
  File "/opt/xensource/sm/EQUALSR", line 292, in scan
    self._loadvdis()
  File "/opt/xensource/sm/EQUALSR", line 338, in _loadvdis
    vdi_deleted = desc_str.split(':')[1].replace("DELETED-","")
IndexError: list index out of range”

- Or -

When trying to attach to the EqualLogic Storage Repository (SR) this error appears in XenCenter:

“Plugging PBD for
The storage repository is not available
Check your settings and try again.”

Additionally, this condition can lead to XenServer attempting to reconnect to the array without gracefully closing existing SSH sessions. Dell EqualLogic only allows seven simultaneous active SSH sessions and if this limit is reached the filer does not allow any additional connections, potentially causing severe runtime issues for VMs requiring access to the EqualLogic array. Issuing ps –efaux on the host CLI can indicate if this limit has been reached by the following output—note that there are seven open SSH sessions with the storage array, therefore, the array cannot accept any additional client connections:

16190 ?        Ss   00:00:00   0   0  0.0  0.3 select                    /usr/bin/ssh xencon@172.16.248.190
16259 ?        Ss   00:00:00   0   0  0.0  0.3 select                    /usr/bin/ssh xencon@172.16.248.190
16335 ?        Ss   00:00:00   0   0  0.0  0.3 select                    /usr/bin/ssh xencon@172.16.248.190
16374 ?        Ss   00:00:00   0   0  0.0  0.3 select                    /usr/bin/ssh xencon@172.16.248.190
16416 ?        Ss   00:00:00   0   0  0.0  0.3 select                    /usr/bin/ssh xencon@172.16.248.190
16456 ?        Ss   00:00:00   0   0  0.0  0.3 select                    /usr/bin/ssh xencon@172.16.248.190
16495 ?        Ss   00:00:00   0   0  0.0  0.3 select                    /usr/bin/ssh xencon@172.16.248.190

Cause

The XenServer plug-in for Dell EqualLogic relies on specific name and description values for the volumes on the storage device. If either the name or description fields for the volumes are modified the plug-in is no longer able to identify those volumes on the storage device.

Depending on which volumes are renamed, the behavior can appear differently. For example, if the management volume on the EqualLogic is renamed, the SR might fail to connect completely. XenServer relies on the management volume to locate the rest of the VDIs on the filer. If this occurs, the following error message appear in XenCenter when attempting to attach to the SR:

“Plugging PBD for
The storage repository is not available
Check your settings and try again.”

If a single VDI volume is renamed, that specific VDI might not be available to the XenServer pool, but the rest of the volumes operate normally. If this occurs the following error appears when the host attempts to scan the SR:

“There was an SR backend failure.
status: non-zero exit
stdout:
stderr: Traceback (most recent call last):
  File "/opt/xensource/sm/EQUALSR", line 1137, in ?
    SRCommand.run(EQUALSR, DRIVER_INFO)
  File "/opt/xensource/sm/SRCommand.py", line 150, in run
    ret = cmd.run(sr)
  File "/opt/xensource/sm/SRCommand.py", line 136, in run
    return sr.scan(self.params['sr_uuid'])
  File "/opt/xensource/sm/EQUALSR", line 292, in scan
    self._loadvdis()
  File "/opt/xensource/sm/EQUALSR", line 338, in _loadvdis
    vdi_deleted = desc_str.split(':')[1].replace("DELETED-","")
IndexError: list index out of range”

Either of the above scenarios can result in orphaned SSH sessions which eventually causes all connectivity to the storage array to fail if the seven concurrent session limit is reached.

Resolution

Manually killing the PIDs associated with the orphaned Secure Shell (SSH) sessions can temporarily restore connectivity to the storage array. However, to permanently resolve the behavior, the volumes should be renamed to their original values for both the name and description field on the EqualLogic storage device, and the SR will begin to function normally again.

The name and description fields should follow the format below.

For the management volume:

Volume name: XenStorage[SR-UUID]MANAGEMENT
Description: [SR-UUID]

Where [SR-UUID] is the UUID for the SR as stored in XenServer. This value can be obtained by issuing the following command on the XenServer host:
xe sr-list type=equal

An example of a correctly formatted name and description value for the management volume can be seen in the following screen shot.

For a VDI volume:

Volume name: XenStorage[SR-UUID][VDI-UUID]
Description: UUID-[VDI-UUID]:DELETED-False

Where [SR-UUID] is the UUID for the SR as stored in XenServer. This value can be obtained by issuing the following command on the XenServer host:
xe sr-list type=equal

And where [VDI-UUID] is the UUID for the VDI as stored in XenServer. This value can be obtained by issuing this command in the XenServer host:
xe vdi-list

Note: The name field has a character limit; therefore the complete VDI UUID cannot fit in this field. The field allows the first 20 characters of the VDI UUID, which should be included. The complete UUID for the VDI should be entered into the description field for the volume, as shown below.

An example of a correctly formatted name and description value for a VDI volume can be seen in the following screen shot.


Share your comments or find out more about this topic

Citrix Forums

Languages

N/A

| Terms of Use | Privacy | Governance