|
| 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