This article explains how to deploy and configure an elastic storage area network (SAN).
Prerequisites
If you're using Azure PowerShell, use Install-Module -Name Az.ElasticSan -Scope CurrentUser -Repository PSGallery -Force -RequiredVersion 0.1.0 to install the preview module.
If you're using Azure CLI, install the latest version. For installation instructions, see How to install the Azure CLI.
Once you've installed the latest version, run az extension add -n elastic-san to install the extension for Elastic SAN.
Limitations
Currently, Elastic SAN (preview) is only available in the following regions with the following redundancies:
If your request for access to the preview is approved, register your subscription with Microsoft.ElasticSAN resource provider and the preview feature using the following command:
Sign in to the Azure portal and search for Elastic SAN.
Select + Create a new SAN
On the basics page, fill out the values.
Select the same region as your Azure virtual network and compute client.
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.
The following command creates an Elastic SAN that uses locally-redundant storage. To create one that uses zone-redundant storage, replace Premium_LRS with Premium_ZRS.
## Variables
$rgName = "yourResourceGroupName"
## Select the same availability zone as where you plan to host your workload
$zone = 1
## Select the same region as your Azure virtual network
$region = "yourRegion"
$sanName = "desiredSANName"
$volGroupName = "desiredVolumeGroupName"
$volName = "desiredVolumeName"
## Create the SAN, itself
New-AzElasticSAN -ResourceGroupName $rgName -Name $sanName -AvailabilityZone $zone -Location $region -BaseSizeTib 100 -ExtendedCapacitySizeTiB 20 -SkuName Premium_LRS
The following command creates an Elastic SAN that uses locally-redundant storage. To create one that uses zone-redundant storage, replace Premium_LRS with Premium_ZRS.
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.
The volume group name can't be changed once created.
Select Next : Volumes
## Create the volume group, this script only creates one.
New-AzElasticSanVolumeGroup -ResourceGroupName $rgName -ElasticSANName $sanName -Name $volGroupName
az elastic-san volume-group create --elastic-san-name $sanName -g $resourceGroupName -n $volumeGroupName
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.
In this article, we provide you the command to create a single volume. To create a batch of volumes, see Create multiple Elastic SAN volumes.
Important
The volume name is part of your volume's iSCSI Qualified Name, and can't be changed once created.
Replace volumeName with the name you'd like the volume to use, then run the following script:
## Create the volume, this command only creates one.
New-AzElasticSanVolume -ResourceGroupName $rgName -ElasticSanName $sanName -VolumeGroupName $volGroupName -Name $volName -sizeGiB 2000
Important
The volume name is part of your volume's iSCSI Qualified Name, and can't be changed once created.
Replace $volumeName with the name you'd like the volume to use, then run the following script: