There are those cases when VMs need super fast storage in the cloud. Now Azure has an offering to get you that storage speed. With the introduction of the Lsv2-series of VMs, you can now get NVMe storage on your Azure VMs. Like with the other VM sizes, the more CPU that you purchase, the more storage you can attach to the VM. The size of the NVMe storage is assigned in 1.9TB chunks, with one 1.9TB chunk on the smallest machine (the L8s v2 VM) up to 19TB (19 1.9TB volumes) on the largest machine (the L80s v2 VM).
One big difference that you’ll see of these VMs is that this storage isn’t network attached. Because the storage isn’t network attached this means that the NVMe disks are local to the host, so if the VM moves to another host in the Azure Environment then the data will be gone. The same applies if you power down the VM and deallocate it (basically if you stop paying for it). As soon as the VM is deallocated any data stored on the NVMe disks is gone.
The big question for DBAs is; how do you use these for SQL Server?
Using these Lsv2-series, VMs is going to require some High Availability and Disaster Recovery planning to roll these VMs out. You’ll want to use Availability Zones (if they are in your region) so that you can keep two copies of the data in two different buildings within one region. You’ll also want to set up your database to span across regions as well so that if there’s a site failure, you don’t lose all of the data within the database (remember, on a failure of the VM, the data is gone). Settings this up will require either a Failover Cluster (using SIOS data keeper) or an Availability Group to that your data is stored in multiple data centers. Designing a solution for these new machines is going to require a decent understanding of the hardware that’s behind the machines so that you’ve got a good understanding of what’s happening under the covers with your machines (like the fact that your storage is deleted when you deallocate the machine). Thankfully the experts at Denny Cherry & Associates Consulting can help with designing these environments. Even though these VMs are brand new, we have already evaluated them with our customer’s workloads and have put them in place where it makes sense.
Azure has a feature called Constrained Cores where you can limit the number of cores presented to a VM. This feature gives you all the memory, storage, network bandwidth, etc. for a machine without the SQL Licensing cost of having all the CPUs that you don’t need. Constrained Cores is not available for the Lsv2-series VMs (yet), so you’ll need to do some right-sizing to make sure that you’re using the right size VM for your workload. But even without constrained cores, these VMs are going to be a game changer in the speed of storage for VMs.