Azure Elastic SAN – Now in Preview!

⚠ Please note – Elastic SAN is a Preview Service – so expect changes and updates!

As you may be aware, Azure Elastic SAN is now in Public Preview. Elastic SAN aims to solve the challenge of workload optimization and integration between large scale databases and performance-intensive mission-critical applications. The Elastic SAN Preview simplifies deployment, scaling, management, and configuration of a SAN, whilst also offering the familiar Azure interfaces and scalability features. With Elastic SAN you can support large scale IO-intensive workloads, and databases including SQL and MariaDB.

✅ You can read more about Elastic SAN here: https://learn.microsoft.com/en-gb/azure/storage/elastic-san/elastic-san-introduction 


Why Use Elastic SAN?

Elastic SAN brings a range of benefits to your environment:

  • iSCSI Protocol – A widely used storage connectivity option, providing standardised connectivity to a range of compute options.
  • Consolidation – Elastic SAN allows you to consolidate multiple storage appliances or products into a centralised Azure solution.
  • Migration – Applications and Services that rely on iSCSI connectivity can be migrated into Azure without the need for rearchitecting how they access backend storage.
  • Pay as you grow – Deploy and pay for the Storage you need now, and add additional Elastic SANs or capacity later.
  • Cost Optimization – Consolidate and/or migrate applications that are forcing you to keep legacy hardware in place.
  • Performance – Scale and plan for the performance you require, with the ability to change this as required.
  • PAAS – Allows you the benefits of not managing any hardware, system updates, or SAN software with a Platform as a Service based SAN.
  • CI/CD/Infrastructure as Code – Use the same practices and tooling to deploy Elastic SAN, as you are using for existing Cloud Environments.

✅ Based on my own experience – a huge benefit that Elastic SAN will bring, is around migration of applications that rely on iSCSI hardware. Elastic SAN provides an opportunity to migrate these workloads to Azure, without having to do extensive application rearchitecting. For example, instead of migrating an application off a legacy storage system, which would require application changes, Elastic SAN can provide an application with iSCSI storage, exactly like it would have in an on-premises data centre today.


Core Elements

The Core element of Azure Elastic SAN are as follows:

  • Elastic SAN:
    • This is the Elastic SAN entity itself – when setting up the Elastic SAN we need to specify elements like name, location, redundancy, zones, and storage amounts.
  • Volume Groups:
    • Volume Groups allow the management of Volumes at scale through logical grouping.
    • Network rules are inherited by Volumes within Volume Groups. (So these are important when exposing multiple volumes to the same application resources for example).
  • Volumes:
    • Volumes are the actual storage volumes (which exist within a Volume Group, and are a partition of the Elastic SAN total capacity) .
    • Volumes can be accessed via iSCSI, on devices that are within networks that a Service Endpoint has been setup for (Which is done at the Volume Group level).

The diagram below, from the Microsoft Learn page for Elastic SAN, helps to outline these concepts further:

Elastic SAN Resources


Setup

Setting up Elastic SAN is a simple process. We start by creating the Elastic SAN itself:

Creating Elastic SAN

For testing, I am also just going to use a 2TB size:

Elastic SAN Setup

Next, we setup Volume Groups:

Elastic SAN Setup

Next, it’s the test Volume we need to create:

After the validation is passed we can create the Elastic SAN:

Elastic SAN creation validation

Once completed, the Elastic SAN is ready for us to start using:

Elastic SAN Overview

✅ Once the deployment completes – we can move onto testing and accessing the Elastic SAN Storage.


Creating the Service Endpoint

Before we can start testing Elastic SAN, and accessing the storage, we need to ensure that Network Endpoints are setup. This is is done via the Volume Groups:

When you click on “Not configured (0 subnets)”, you will be presented with the following screen:

Click on “Create” and then you will be able to select a VNET and Subnets to enable the Service Endpoint on:

Once enabled, Click on “Save” – this will allow devices on that Subnet to access the Elastic SAN:

You’ll then see that the Volume Group shows that a Subnet is configured:

We are now ready to start testing Elastic SAN!


Testing & Storage Access

✅ I’m going to run a simple test for this Blog Post, whereby I’ll test connectivity from a Windows Server VM running in Azure.

Connecting to a volume is simple, and commands to access and mount the storage are provided within the Azure Portal. To start, browse to and select the Volume you wish to connect to, and select “Connect”:

You will then be presented with the commands needed to mount the iSCSI Storage. Note: the Microsoft Internet SCSI (iSCSI) Service will need to be running, and set to automatic – see here. Enabling the service is easy when using the PowerShell below:

# Start MsiSCSI Service
Start-Service -Name MSiSCSI
# Set MsiSCSI Service to Automatic
Set-Service -Name MSiSCSI -StartupType Automatic

When these commands have been run, you will see the Storage shown as “MSFT Virtual HD”:

✅ Once a Volume has been created using the new iSCSI Disk, the Storage is ready for use!


Further Reading

Skip to content