Skip to content

Commit 5dd7a7d

Browse files
authored
Merge pull request #298293 from adarshv98/patch-2
Create elastic-san-troubleshoot.md
2 parents ee0655b + 612e3bf commit 5dd7a7d

File tree

2 files changed

+83
-1
lines changed

2 files changed

+83
-1
lines changed

articles/storage/elastic-san/TOC.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ items:
6464
href: elastic-san-configure-customer-managed-keys.md
6565
- name: Manage customer keys
6666
href: elastic-san-encryption-manage-customer-keys.md
67+
- name: Troubleshoot your Elastic SAN
68+
href: elastic-san-troubleshoot.md
6769
- name: Samples
6870
items:
6971
- name: Create elastic SAN volumes in a batch
70-
href: elastic-san-batch-create-sample.md
72+
href: elastic-san-batch-create-sample.md
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
title: Troubleshoot Azure Elastic SAN
3+
description: Troubleshoot issues with Azure Elastic SAN
4+
author: adarshv98
5+
ms.service: azure-elastic-san-storage
6+
ms.topic: how-to
7+
ms.date: 04/15/2025
8+
ms.author: rogarana
9+
---
10+
11+
# Troubleshoot Elastic SAN
12+
13+
This article lists common issues related to Azure Elastic SAN. It also provides possible causes and resolutions for these issues.
14+
15+
## Common Azure Elastic SAN errors
16+
17+
***Encountered get_iqns timeout error with Linux documentation script - Exception: Command took longer than 10 s***
18+
19+
- Install the latest Azure CLI, and follow the instructions that work for your Virtual Machine (VM) SKU.
20+
- Once you install the latest version, run az extension add -n elastic-san to install the extension for Elastic SAN.
21+
- Run the az login command and follow the steps that command generates to log in through your browser.
22+
- Rerun the Linux documentation script and check if the issue persists.
23+
24+
***Encountered login rejected error - iscsiadm: Cannot modify node.conn[0].iscsi.DataDigest. Invalid param name.***
25+
26+
- Ensure the private endpoint or service endpoint is configured correctly
27+
- Check if your volumes are connecting to Azure VMware Solution (AVS), as Cyclic Redundancy Check (CRC) isn't supported yet for AVS.
28+
- If not, check if your VM is running Fedora or its downstream Linux distributions like Red Hat Enterprise Linux, CentOS, or Rocky Linux that don't support data digests.
29+
- If either of the above scenarios is true, disable the CRC protection flag. You have to uncheck the box on portal and change the parameter for EnforceDataIntegrityCheckForIscsi (PowerShell)) or data-integrity-check (CLI) to false.
30+
31+
***Unable to connect to your Elastic SAN via service endpoints***
32+
33+
- [Enable](https://learn.microsoft.com/azure/storage/elastic-san/elastic-san-networking?tabs=azure-powershell#configure-public-network-access) Public Network Access on the SAN
34+
```powershell
35+
# Set the variable values.
36+
$RgName = "<ResourceGroupName>"
37+
$EsanName = "<ElasticSanName>"
38+
# Update the Elastic San.
39+
Update-AzElasticSan -Name $EsanName -ResourceGroupName $RgName -PublicNetworkAccess Enabled
40+
```
41+
- [Configure](https://learn.microsoft.com/azure/storage/elastic-san/elastic-san-networking?tabs=azure-powershell#configure-an-azure-storage-service-endpoint) service endpoints on the volume group
42+
```powershell
43+
# Define some variables
44+
$RgName = "<ResourceGroupName>"
45+
$VnetName = "<VnetName>"
46+
$SubnetName = "<SubnetName>"
47+
# Get the virtual network and subnet
48+
$Vnet = Get-AzVirtualNetwork -ResourceGroupName $RgName -Name $VnetName $Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $Vnet -Name $SubnetName
49+
# Enable the storage service endpoint
50+
$Vnet | Set-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $Subnet.AddressPrefix -ServiceEndpoint "Microsoft.Storage.Global" | Set-AzVirtualNetwork
51+
```
52+
53+
***Elastic SAN volume performance or latency isn't as expected***
54+
55+
- Check your SAN size and configuration via portal (SAN homepage -> Configuration blade) and ensure that the I/O per second (IOPS) and throughput numbers can handle the requirements of the workload
56+
- Check your VM throughput and IOPS limits and ensure that the VM can handle the workload requirements
57+
- Ensure that you're following the best practices outlined in this [document](https://learn.microsoft.com/azure/storage/elastic-san/elastic-san-best-practices).
58+
59+
60+
***Unable to establish connectivity from new nodes in a cluster***
61+
62+
- Identify which VMs are part of the cluster.
63+
- Check the number of sessions per node using `iscsicli sessionList` or `mpclaim -s -d` (for Windows) or sudo multipath -ll (for Linux) on each VM in the cluster and add up the total number of sessions
64+
- After doing so, if the # of sessions are 128 then you can disconnect the volumes via portal or using the script linked [here](https://github.com/Azure-Samples/azure-elastic-san/blob/main/PSH%20(Windows)%20Multi-Session%20Connect%20Scripts/ElasticSanDocScripts0523/disconnect.ps1) for Windows or [here](https://github.com/Azure-Samples/azure-elastic-san/blob/main/CLI%20(Linux)%20Multi-Session%20Connect%20Scripts/disconnect_for_documentation.py) for Linux.
65+
- Next, modify the NumSession parameter (Windows) or the num_of_sessions parameter (Linux) of the connect script from either from the portal or the [Windows](https://github.com/Azure-Samples/azure-elastic-san/blob/main/PSH%20(Windows)%20Multi-Session%20Connect%20Scripts/ElasticSanDocScripts0523/connect.ps1) or [Linux](https://github.com/Azure-Samples/azure-elastic-san/blob/main/CLI%20(Linux)%20Multi-Session%20Connect%20Scripts/connect_for_documentation.py) scripts. You need to ensure that the total number of sessions across volumes is less than 128.
66+
- Run the script on your VM. These values can also be entered during runtime of the script.
67+
68+
***Unable to connect to more than eight volumes to a Windows VM***
69+
70+
- To see the number of sessions on your Windows VM, run `iscsicli sessionList` or `mpclaim -s -d`. The maximum session limit is 255 for Windows VMs.
71+
- If you are at the session limit, then you can disconnect the volumes either via portal or using the script linked [here](https://github.com/Azure-Samples/azure-elastic-san/blob/main/PSH%20(Windows)%20Multi-Session%20Connect%20Scripts/ElasticSanDocScripts0523/disconnect.ps1).
72+
- Next, modify the $NumSession parameter of the connect script from either the portal or using the [Windows](https://github.com/Azure-Samples/azure-elastic-san/blob/main/PSH%20(Windows)%20Multi-Session%20Connect%20Scripts/ElasticSanDocScripts0523/connect.ps1) script. You need to ensure that the total number of sessions per volume attached to the VM is less than 255 sessions.
73+
- Run the script on your VM. These values can also be entered during runtime of the script.
74+
75+
## Next steps
76+
- [Deploy an Elastic SAN](https://learn.microsoft.com/azure/storage/elastic-san/elastic-san-create)
77+
- [Connect to Windows](https://learn.microsoft.com/azure/storage/elastic-san/elastic-san-connect-windows)
78+
- [Connect to Linux](https://learn.microsoft.com/azure/storage/elastic-san/elastic-san-connect-linux)
79+
- [Connect to Azure VMware Solution](https://learn.microsoft.com/azure/azure-vmware/configure-azure-elastic-san?toc=/azure/storage/elastic-san/toc.json)
80+

0 commit comments

Comments
 (0)