This article explains how to deploy and configure an elastic storage area network (SAN). If you're interested in Azure Elastic SAN, or have any feedback you'd like to provide, fill out this optional survey.
Once you've installed the latest version, run az extension add -n elastic-san to install the extension for Elastic SAN.
Limitations
The following list contains the regions Elastic SAN is currently available in, and which regions support both zone-redundant storage (ZRS) and locally redundant storage (LRS), or only LRS:
Sign in to the Azure portal and search for Elastic SAN.
Select + Create a new SAN
On the basics page, fill in the appropriate values.
Elastic SAN name must be between 3 and 24 characters long. The name can only contain lowercase letters, numbers, hyphens and underscores, and must begin and end with a letter or a number. Each hyphen and underscore must be preceded and followed by an alphanumeric character.
For best performance, your SAN should be in the same zone as your VM.
Specify the amount of base capacity you require, and any additional capacity, then select next.
Increasing your SAN's base size will also increase its IOPS and bandwidth. Increasing additional capacity only increase its total size (base+additional) but won't increase IOPS or bandwidth, however, it's cheaper than increasing base.
Select Next : Volume groups.
Use one of these sets of sample code to create an Elastic SAN that uses locally redundant storage or zone-redundant storage. Replace all placeholder text with your own values and use the same variables in all of the examples in this article:
Placeholder
Description
<ResourceGroupName>
The name of the resource group where the resources will be deployed.
<ElasticSanName>
The name of the Elastic SAN to be created. The Elastic SAN name must be between 3 and 24 characters long. The name can only contain lowercase letters, numbers, hyphens and underscores, and must begin and end with a letter or a number. Each hyphen and underscore must be preceded and followed by an alphanumeric character.
<ElasticSanVolumeGroupName>
The name of the Elastic SAN Volume Group to be created.
<VolumeName>
The name of the Elastic SAN Volume to be created.
<Location>
The region where the new resources will be created.
<Zone>
The availability zone where the Elastic SAN will be created. Specify the same availability zone as the zone that will host your workload. Use only if the Elastic SAN will use locally redundant storage. Must be a zone supported in the target location such as 1, 2, or 3.
The following command creates an Elastic SAN that uses locally redundant storage.
Use one of these sets of sample code to create an Elastic SAN that uses locally redundant storage or zone-redundant storage. Replace all placeholder text with your own values and use the same variables in all of the examples in this article:
Placeholder
Description
<ResourceGroupName>
The name of the resource group where the resources will be deployed.
<ElasticSanName>
The name of the Elastic SAN to be created. The Elastic SAN name must be between 3 and 24 characters long. The name can only contain lowercase letters, numbers, hyphens and underscores, and must begin and end with a letter or a number. Each hyphen and underscore must be preceded and followed by an alphanumeric character.
<ElasticSanVolumeGroupName>
The name of the Elastic SAN Volume Group to be created.
<VolumeName>
The name of the Elastic SAN Volume to be created.
<Location>
The region where the new resources will be created.
<Zone>
The availability zone where the Elastic SAN will be created. Specify the same availability zone as the zone that will host your workload. Use only if the Elastic SAN uses locally redundant storage. Must be a zone supported in the target location such as 1, 2, or 3.
The following command creates an Elastic SAN that uses locally redundant storage.
# Define some variables.
RgName="<ResourceGroupName>"
EsanName="<ElasticSanName>"
EsanVgName="<ElasticSanVolumeGroupName>"
VolumeName="<VolumeName>"
Location="<Location>"
Zone=<Zone>
# Connect to Azure
az login
# Create an Elastic SAN
az elastic-san create -n $EsanName -g $RgName -l $Location --base-size-tib 100 --extended-capacity-size-tib 20 --sku "{name:Premium_LRS,tier:Premium}" --availability-zones $Zone
The following command creates an Elastic SAN that uses zone-redundant storage.
Now that you've configured the basic settings and provisioned your storage, you can create volume groups. Volume groups are a tool for managing volumes at scale. Any settings or configurations applied to a volume group apply to all volumes associated with that volume group.
Select + Create volume group and name your volume group.
The name must be between 3 and 63 characters long. The name can only contain lowercase letters, numbers and hyphens, and must begin and end with a letter or a number. Each hyphen must be preceded and followed by an alphanumeric character. The volume group name can't be changed once created.
Select Next : Volumes
The following sample command creates an Elastic SAN volume group in the Elastic SAN you created previously. Use the same variables and values you defined when you created the Elastic SAN.
# Create the volume group, this script only creates one.
New-AzElasticSanVolumeGroup -ResourceGroupName $RgName -ElasticSANName $EsanName -Name $EsanVgName
The following sample command creates an Elastic SAN volume group in the Elastic SAN you created previously. Use the same variables and values you defined when you created the Elastic SAN.
az elastic-san volume-group create --elastic-san-name $EsanName -g $RgName -n $EsanVgName
Create volumes
Now that you've configured the SAN itself, and created at least one volume group, you can create volumes.
Volumes are usable partitions of the SAN's total capacity, you must allocate a portion of that total capacity as a volume in order to use it. Only the actual volumes themselves can be mounted and used, not volume groups.
Create volumes by entering a name, selecting an appropriate volume group, and entering the capacity you'd like to allocate for your volume.
The volume name is part of your volume's iSCSI Qualified Name, and can't be changed once created.
Select Review + create and deploy your SAN.
The following sample command creates a single volume in the Elastic SAN volume group you created previously. To create a batch of volumes, see Create multiple Elastic SAN volumes. Use the same variables and values you defined when you created the Elastic SAN.
Important
The volume name is part of your volume's iSCSI Qualified Name, and can't be changed once created.
Use the same variables, then run the following script:
# Create the volume, this command only creates one.
New-AzElasticSanVolume -ResourceGroupName $RgName -ElasticSanName $EsanName -VolumeGroupName $EsanVgName -Name $VolumeName -sizeGiB 2000
Important
The volume name is part of your volume's iSCSI Qualified Name, and can't be changed once created.
The following sample command creates an Elastic SAN volume in the Elastic SAN volume group you created previously. Use the same variables and values you defined when you created the Elastic SAN.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback.