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:
Australia East - LRS
Brazil South - LRS
Canada Central - LRS
Central US - LRS
East Asia - LRS
East US - LRS
East US 2 - LRS
France Central - LRS & ZRS
Germany West Central - LRS
India Central - LRS
Japan East - LRS
Korea Central - LRS
North Europe - LRS & ZRS
Norway East - LRS
South Africa North - LRS
South Central US - LRS
Southeast Asia - LRS
Sweden Central - LRS
Switzerland North - LRS
UAE North - LRS
UK South - LRS
West Europe - LRS & ZRS
West US 2 - LRS & ZRS
West US 3 - LRS
Elastic SAN is also available in the following regions, but without Availability Zone support:
Canada East - LRS
Japan West - LRS
North Central US - LRS
To enable these regions, run the following command to register the necessary feature flag:
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. One set creates an elastic SAN with autoscaling (preview) enabled, and the other creates an elastic SAN with autoscaling disabled. 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.
<AutoScalePolicyEnforcement>
The setting that determines whether or not autoscaling is enabled for the Elastic SAN. This value is optional but if passed in, must be 'Enabled' or 'Disabled'
<UnusedSizeTiB>
The capacity (in TiB) on your Elastic SAN that you want to keep free and unused. If you use more space than this amount, the scale-up operation is automatically triggered, increasing the size of your SAN. This parameter is optional but is required to enable autoscaling.
<IncreaseCapacityUnitByTiB>
This parameter sets the TiB of additional capacity units that your SAN scales up by when autoscale gets triggered. This parameter is optional but is required to enable autoscaling.
<CapacityUnitScaleUpLimit>
This parameter sets the maximum capacity (size) that your SAN can grow to using autoscaling. Your SAN won't automatically scale past this size. This parameter is optional but is required to enable autoscaling.
The following command creates an Elastic SAN that uses locally redundant storage without autoscaling enabled.
Use one of these sets of sample code to create an Elastic SAN that uses locally redundant storage or zone-redundant storage. One set creates an elastic SAN with autoscaling (preview) enabled, and the other creates an elastic SAN with autoscaling disabled. 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.
<AutoScalePolicyEnforcement>
The setting that determines whether or not autoscaling is enabled for the Elastic SAN. This value is optional but if passed in, must be 'Enabled' or 'Disabled'
<UnusedSizeTiB>
The capacity (in TiB) on your Elastic SAN that you want to keep free and unused. If you use more space than this amount, the scale-up operation is automatically triggered, increasing the size of your SAN. This parameter is optional but is required to enable autoscaling.
<IncreaseCapacityUnitByTiB>
This parameter sets the TiB of additional capacity units that your SAN scales up by when autoscale gets triggered. This parameter is optional but is required to enable autoscaling.
<CapacityUnitScaleUpLimit>
This parameter sets the maximum capacity (size) that your SAN can grow to using autoscaling. Your SAN won't automatically scale past this size. This parameter is optional but is required to enable autoscaling.
The following command creates an Elastic SAN that uses locally redundant storage without autoscaling enabled.
# 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 locally redundant storage with autoscaling enabled.
# Define some variables.
RgName="<ResourceGroupName>"
EsanName="<ElasticSanName>"
EsanVgName="<ElasticSanVolumeGroupName>"
VolumeName="<VolumeName>"
Location="<Location>"
Zone=<Zone>
AutoScalePolicyEnforcement="Enabled"
UnusedSizeTiB="<UnusedSizeTiB>"
IncreaseCapacityUnitByTiB="<IncreaseCapacityUnitByTiB>"
CapacityUnitScaleUpLimit="<CapacityUnitScaleUpLimit>"
# 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 --auto-scale-policy-enforcement $AutoScalePolicyEnforcement --unused-size-tib $UnusedSizeTiB --increase-capacity-unit-by-tib $IncreaseCapacityUnitByTiB --capacity-unit-scale-up-limit $CapacityUnitScaleUpLimitTiB
The following command creates an Elastic SAN that uses zone-redundant storage, with autoscaling disabled.
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.