You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/migrate/tutorial-discover-hyper-v.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,7 @@ Before you start this tutorial, check you have these prerequisites in place.
43
43
44
44
**Requirement** | **Details**
45
45
--- | ---
46
-
**Hyper-V host** | Hyper-V hosts on which servers are located can be standalone, or in a cluster.<br/><br/> The host must be running Windows Server 2022, Windows Server 2019, or Windows Server 2016.<br/><br/> Verify inbound connections are allowed on WinRM port 5985 (HTTP), so that the appliance can connect to pull server metadata and performance data, using a Common Information Model (CIM) session.
46
+
**Hyper-V host** | Hyper-V hosts on which servers are located can be standalone, or in a cluster.<br/><br/> The host must be running Windows Server 2025, Windows Server 2022, Windows Server 2019, or Windows Server 2016.<br/><br/> Verify inbound connections are allowed on WinRM port 5985 (HTTP), so that the appliance can connect to pull server metadata and performance data, using a Common Information Model (CIM) session.
47
47
**Appliance deployment** | Hyper-V host needs resources to allocate a server for the appliance:<br/><br/> - 16 GB of RAM, 8 vCPUs, and around 80 GB of disk storage.<br/><br/> - An external virtual switch, and internet access on the appliance, directly or via a proxy.
48
48
**Servers** | All Windows and Linux OS versions are supported for discovery of configuration and performance metadata. <br /><br /> For application discovery on servers, all Windows and Linux OS versions are supported. Check the [OS versions supported for agentless dependency analysis](migrate-support-matrix-hyper-v.md#dependency-analysis-requirements-agentless).<br /><br /> To discover ASP.NET web apps running on IIS web server, check [supported Windows OS and IIS versions](migrate-support-matrix-vmware.md#web-apps-discovery-requirements). For discovery of installed applications and for agentless dependency analysis, Windows servers must have PowerShell version 2.0 or later installed.<br /><br /> To discover Java web apps running on Apache Tomcat web server, check [supported Linux OS and Tomcat versions](migrate-support-matrix-vmware.md#web-apps-discovery-requirements).
49
49
**SQL Server access** | To discover SQL Server instances and databases, the Windows or SQL Server account [requires these permissions](migrate-support-matrix-hyper-v.md#configure-the-custom-login-for-sql-server-discovery) for each SQL Server instance. You can use the [account provisioning utility](least-privilege-credentials.md) to create custom accounts or use any existing account that is a member of the sysadmin server role for simplicity.
Copy file name to clipboardExpand all lines: articles/storage/elastic-san/elastic-san-batch-create-sample.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,21 +4,21 @@ description: Azure PowerShell Script Sample - Learn how to create multiple Elast
4
4
author: roygara
5
5
ms.service: azure-elastic-san-storage
6
6
ms.topic: sample
7
-
ms.date: 05/31/2024
7
+
ms.date: 01/09/2026
8
8
ms.author: rogarana
9
9
ms.custom: devx-track-azurepowershell
10
10
# Customer intent: "As a cloud architect, I want to create multiple Elastic SAN volumes in a batch using a CSV file, so that I can streamline the volume provisioning process and improve efficiency in managing storage resources."
11
11
---
12
12
13
13
# Create multiple elastic SAN volumes in a batch
14
14
15
-
To simplify creating multiple volumes as a batch, you can use a .csv with pre-filled values to create as many volumes of varying sizes as you like.
15
+
The PowerShell script in this article simplifies creating multiple Azure Elastic SAN volumes as a batch. To use the script, make a .csv file with pre-filled values to create as many volumes of varying sizes as you want.
16
16
17
-
Format your .csv with five columns,**ResourceGroupName**, **ElasticSanName**, **VolumeGroupName**, **Name**, and **SizeGiB**. The following screenshot provides an example:
17
+
Format your .csv file with five columns:**ResourceGroupName**, **ElasticSanName**, **VolumeGroupName**, **Name**, and **SizeGiB**. The following screenshot provides an example:
18
18
19
19
:::image type="content" source="media/elastic-san-batch-create-sample/batch-elastic-san.png" alt-text="Screenshot of an example csv file, with example column names and values." lightbox="media/elastic-san-batch-create-sample/batch-elastic-san.png":::
20
20
21
-
Then you can use the following script to create your volumes.
21
+
Then, use the following script to create your volumes.
Copy file name to clipboardExpand all lines: articles/storage/elastic-san/elastic-san-best-practices.md
+28-26Lines changed: 28 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,48 +1,48 @@
1
1
---
2
-
title: Best practices for configuring an Elastic SAN
3
-
description: Learn about the best practices for getting optimal performance when configuring an Azure Elastic SAN.
2
+
title: Azure Elastic SAN configuration best practices
3
+
description: Learn best practices for optimizing Azure Elastic SAN performance. Get recommendations for client-side settings, MPIO, iSCSI configurations, and deployment sizing
4
4
author: roygara
5
5
ms.service: azure-elastic-san-storage
6
6
ms.topic: concept-article
7
-
ms.date: 11/17/2025
7
+
ms.date: 01/09/2026
8
8
ms.author: rogarana
9
9
ms.custom: sfi-image-nochange
10
10
# Customer intent: As a cloud infrastructure administrator, I want to implement best practices for configuring an Elastic SAN, so that I can achieve optimal performance and resource efficiency for my storage solutions in a cloud environment.
11
11
---
12
12
13
13
# Optimize the performance of your Elastic SAN
14
14
15
-
This article provides some general guidance on getting optimal performance with an environment that uses an Azure Elastic SAN.
15
+
This article provides guidance on how to get optimal performance with an environment that uses an Azure Elastic SAN.
16
16
17
17
## Client-side optimizations
18
18
19
19
### General recommendations
20
20
21
-
#### Windows & Linux Virtual Machines
21
+
#### Windows and Linux virtual machines
22
22
23
-
- For best performance, deploy your virtual machines (VM) and Elastic SAN in the same zone and the same region.
23
+
- For the best performance, deploy your virtual machines (VMs) and Elastic SAN in the same zone and the same region.
24
24
25
-
- VM storage I/O to Elastic SAN volumes uses VM network bandwidth, so traditional disk throughput limits on a VM don't apply to Elastic SAN volumes. Choose a VM that can provide sufficient bandwidth for production/VM-to-VM I/O and iSCSI I/O to attached Elastic SAN volumes. Generally, you should use Gen 5 (D / E / M series) VMs for the best performance.
25
+
- VM storage I/O to Elastic SAN volumes uses VM network bandwidth, so traditional disk throughput limits on a VM don't apply to Elastic SAN volumes. Choose a VM that can provide sufficient bandwidth for production/VM-to-VM I/O and iSCSI I/O to attached Elastic SAN volumes. Generally, you should use Gen 5 (D, E, or M series) VMs for the best performance.
26
26
27
-
- Enable **Accelerated Networking** on the VM during creation. To do it via Azure PowerShell or Azure CLI or to enable Accelerated Networking on existing VMs, see [Use Azure PowerShell to create a VM with Accelerated Networking](../../virtual-network/create-vm-accelerated-networking-powershell.md)
27
+
- Enable **Accelerated Networking** on the VM during creation. To learn how to enable it by using Azure PowerShell or Azure CLI, or to enable Accelerated Networking on existing VMs, see [Use Azure PowerShell to create a VM with Accelerated Networking](../../virtual-network/create-vm-accelerated-networking-powershell.md).
28
28
29
29
:::image type="content" source="media/elastic-san-best-practices/enable-accelerated-networking.png" alt-text="Screenshot of VM creation flow, enable accelerated networking highlighted." lightbox="media/elastic-san-best-practices/enable-accelerated-networking.png":::
30
30
31
-
-You must use 32 sessions per target volume for each volume to achieve its maximum IOPS and/or throughput limits. Use Multipath I/O (MPIO) on the client to manage these multiple sessions to each volume for load balancing. Scripts are available for [Windows](elastic-san-connect-windows.md), [Linux](elastic-san-connect-linux.md), or on the Connect to volume page for your volumes in the Azure portal, which uses 32 sessions by default. Windows software iSCSI initiator has a limit of maximum 256 sessions. If you need to connect more than eight volumes to a Windows VM, reduce the number of sessions to each volume as needed.
31
+
-To achieve maximum IOPS and throughput limits, use 32 sessions per target volume for each volume. Use Multipath I/O (MPIO) on the client to manage these multiple sessions to each volume for load balancing. Scripts are available for [Windows](elastic-san-connect-windows.md), [Linux](elastic-san-connect-linux.md), or on the Connect to volume page for your volumes in the Azure portal, which uses 32 sessions by default. Windows software iSCSI initiator has a limit of maximum 256 sessions. If you need to connect more than eight volumes to a Windows VM, reduce the number of sessions to each volume as needed.
32
32
33
33
#### Azure VMware Solution
34
34
35
35
- Deploy your Elastic SAN in the same region and availability zone as your Azure VMware Solution cluster
36
36
- Configure Private Endpoints before mounting your Elastic SAN volume as an external datastore
37
-
- If you plan for your environment to ever have 16 nodes in an Azure VMware Solution cluster, use one of the following configurations, depending on which hosts you have.
37
+
- If you plan for your environment to ever have 16 nodes in an Azure VMware Solution cluster, use one of the following configurations, depending on which hosts you have:
38
38
- AV36, AV36P, AV52 - Six iSCSI sessions over three Private Endpoints
39
39
- AV64 - Seven iSCSI sessions over seven Private Endpoints
40
-
- If your environment won't have 16 nodes, use one of the following configurations.
40
+
- If your environment won't have 16 nodes, use one of the following configurations:
41
41
- AV36, AV36P, AV52 - Eight iSCSI sessions over four Private Endpoints
42
42
- AV64 - Eight iSCSI sessions over eight Private Endpoints
43
43
44
44
> [!NOTE]
45
-
> When an Elastic SAN volume is attached to a cluster, it automatically attaches to all nodes. If you have 16 nodes and each node is configured to use eight iSCSI sessions that uses the maximum number of connections (128). Configuring your nodes to use seven iSCSI sessions ensures that if you need to attach an extra node (for maintenance) then you have available iSCSI sessions.
45
+
> When an Elastic SAN volume is attached to a cluster, it automatically attaches to all nodes. If you have 16 nodes and each node is configured to use eight iSCSI sessions, the configuration uses the maximum number of connections (128). Configuring your nodes to use seven iSCSI sessions ensures that if you need to attach an extra node (for maintenance) then you have available iSCSI sessions.
46
46
47
47
- Use eager zeroed thick provisioning when creating virtual disks
48
48
- Size ExpressRoute Gateway so that it can meet your throughput requirements
@@ -64,11 +64,11 @@ mpclaim -L -M 2
64
64
Set-MPIOSetting -NewDiskTimeout 30
65
65
```
66
66
67
-
For more information regarding MPIO cmdlets, see [MPIO reference](/powershell/module/mpio/).
67
+
For more information about MPIO cmdlets, see [MPIO reference](/powershell/module/mpio/).
68
68
69
69
#### Linux
70
70
71
-
Update /etc/multipath.conf file with the following commands:
71
+
Update the /etc/multipath.conf file by using the following commands:
72
72
73
73
```config
74
74
defaults {
@@ -100,10 +100,10 @@ Microsoft manages MPIO settings for Azure VMware Solution. Optimal values are se
100
100
Update the registry settings for iSCSI initiator on Windows.
101
101
102
102
1. Open Registry Editor:
103
-
1. Select Start, type regedit in the search box and press enter.
103
+
1. Select **Start**, type `regedit` in the search box, and press **Enter**.
1. Update the following settings. Right-click on each setting and select **Modify**. Change **Base** to **Decimal**, update the value and select **OK**.
106
+
1. Update the following settings. Right-click on each setting and select **Modify**. Change **Base** to **Decimal**, update the value, and select **OK**.
107
107
108
108
|Description |Parameter and value |
109
109
|---------|---------|
@@ -116,23 +116,24 @@ Update the registry settings for iSCSI initiator on Windows.
116
116
|Sets timeout value for WMI requests to 30 seconds |WMIRequestTimeout = 30 seconds |
117
117
|Sets timeout value for link down time to 30 seconds |LinkDownTime = 30 seconds |
118
118
119
-
**Note**: After updating registry settings for optimal performance, you must restart the VM for the changes to take effect. If the VM is not restarted, you will continue to use the default settings.
119
+
> [!NOTE]
120
+
> After updating registry settings for optimal performance, you must restart the VM for the changes to take effect. If you don't restart the VM, you will continue to use the default settings.
120
121
121
-
In cluster configurations, ensure iSCSI initiator names unique across all nodes that are sharing volumes. In Windows, you can update them via iSCSI Initiator app.
122
+
In cluster configurations, ensure iSCSI initiator names are unique across all nodes that are sharing volumes. In Windows, you can update them via the iSCSI Initiator app.
122
123
123
-
1. Select **Start**, search for **iSCSI Initiator** in the search box. This opens the iSCSI Initiator.
124
-
1. Select **Configuration** to see current initiator name.
124
+
1. Select **Start**, search for **iSCSI Initiator** in the search box. This action opens the iSCSI Initiator.
125
+
1. Select **Configuration** to see the current initiator name.
125
126
126
127
:::image type="content" source="media/elastic-san-best-practices/iscsi-initiator-config-widnows.png" alt-text="Screenshot of iSCSI Initiator configuration on Windows." lightbox="media/elastic-san-best-practices/iscsi-initiator-config-widnows.png":::
127
128
128
-
1. To modify it, select **Change**, enter new initiator name, and select OK.
129
+
1. To modify it, select **Change**, enter new initiator name, and select **OK**.
129
130
130
131
:::image type="content" source="media/elastic-san-best-practices/update-iscsi-initiator-name-windows.png" alt-text="Screenshot of updating the iSCSI Initiator Name on Windows." lightbox="media/elastic-san-best-practices/update-iscsi-initiator-name-windows.png":::
131
132
132
133
133
134
#### Linux
134
135
135
-
Update the following settings with recommended values in global iSCSI configuration file (iscsid.conf, generally found in /etc/iscsi directory) on the client before connecting any volumes to it. When a volume is connected, a node is created along with a configuration file specific to that node (for example on Ubuntu VMs, it can be found in the `/etc/iscsi/nodes/$volume_iqn/portal_hostname,$port` directory) inheriting the settings from global configuration file. If you already connected one or more volumes to the client before updating global configuration file, update the nodespecific configuration file for each volume directly or using the following command:
136
+
Update the following settings with recommended values in the global iSCSI configuration file (`iscsid.conf`, generally found in the `/etc/iscsi` directory) on the client before connecting any volumes to it. When you connect a volume, a node is created along with a configuration file specific to that node. For example, on Ubuntu VMs, you can find it in the `/etc/iscsi/nodes/$volume_iqn/portal_hostname,$port` directory. This configuration file inherits the settings from the global configuration file. If you already connected one or more volumes to the client before updating the global configuration file, update the node-specific configuration file for each volume directly or use the following command:
**Note**: After updating iSCSI configuration files, restart the VM to ensure the new settings are applied.
171
+
> [!NOTE]
172
+
> After updating iSCSI configuration files, restart the VM to ensure the new settings are applied.
171
173
172
-
In cluster configurations, ensure iSCSI initiator names are unique across all nodes that are sharing volumes. In Linux, modify /etc/iscsi/initiatorname.iscsi to update the initiator name.
174
+
In cluster configurations, ensure iSCSI initiator names are unique across all nodes that are sharing volumes. In Linux, modify `/etc/iscsi/initiatorname.iscsi` to update the initiator name.
173
175
:::image type="content" source="media/elastic-san-best-practices/update-iscsi-initiator-name-linux.png" alt-text="Screenshot updating the iSCSI Initiator Name on Linux." lightbox="media/elastic-san-best-practices/update-iscsi-initiator-name-linux.png":::
174
176
175
177
#### Azure VMware Solution
@@ -178,8 +180,8 @@ Microsoft manages iSCSI settings. Optimal values are set when you create a datas
178
180
179
181
## Elastic SAN optimizations
180
182
181
-
Before deploying an Elastic SAN, determining the optimal size of the Elastic SAN you deploy is necessary to achieving the right balance of performance for your workloads and cost. Use the following steps to determine the best sizing for you:
183
+
Before deploying an Elastic SAN, determine the optimal size for your deployment to achieve the right balance of performance for your workloads and cost. Use the following steps to determine the best sizing for you:
182
184
183
-
With your existing storage solution, select a time interval (day/week/quarter) to track performance. The best time interval is one that is a good snapshot of your applications/workloads. Over that time period, record the combined maximum IOPS and throughput for all workloads. If you use an interval higher than a minute, or if any of your workloads have bottlenecks with your current configuration, consider adding more base capacity to your Elastic SAN deployment. You should leave some headroom when determining your base capacity, to account for growth. The rest of your Elastic SAN's storage should use additional-capacity, to save on cost.
185
+
With your existing storage solution, select a time interval (day, week, or quarter) to track performance. The best time interval is one that provides a good snapshot of your applications and workloads. Over that time period, record the combined maximum IOPS and throughput for all workloads. If you use an interval higher than a minute, or if any of your workloads have bottlenecks with your current configuration, consider adding more base capacity to your Elastic SAN deployment. Leave some extra capacity when determining your base capacity to account for growth. Use additional-capacity storage for the rest of your Elastic SAN to save on cost.
184
186
185
187
For more information on performance, see [Elastic SAN and virtual machine performance](elastic-san-performance.md).
0 commit comments