Azure VM Storage
Disks used by VMs
- Operating system disk: In Azure, every virtual machine will have an operating system disk.
- Temporary disk: Each VM contains a temporary drive. The temporary disk provides short-term storage for applications and processes.
- Data disk: A data disk is a VHD that's attached to a virtual machine to store application data or other data we need to keep.
Performance tiers
- Standard Storage: It is backed by HDDs and deliver cost-effective storage while still being performant. It is ideal for development and testing, not-critical, and Infrequent access because the max throughput and IOPS per disk is 60MB/s and 500, respectively.
- Premium Storage: It is backed by SSDs, and deliver high-performance, low-latency disk support for VMs running I/O-intensive workloads. The maximum throughput and IOPS per disk are 250MB/s and 7500, respectively.
Types of the disk in Azure
- Unmanaged disks: It is the traditional type of disks that have been used by VMs. We can create our storage account and specify the storage account when you create the disk. The scalability targets of SA (20, 000 IOPS) are not exceeded.
- Managed disks: Managed disks handles the storage account creation/management. We do not have to care about scalability limits the storage account. Microsoft always recommends us to use Azure Managed Disks for new VMs.
Disk encryption
- Storage Service Encryption: Azure Storage Service Encryption provides encryption-at-rest and safeguards our data to meet our organizational security and compliance commitments. It is enabled by default for all Managed Disks, Snapshots, and Images in every region where managed disks are available.
- Azure Disk Encryption: Azure Disk Encryption allows you to encrypt the OS and Data disks used by an IaaS Virtual Machine. For Windows, the drives are encrypted using industry-standard BitLocker encryption technology. For Linux, the disks are encrypted using the DM-Crypt technology.
Virtual Machine Availability
- Availability Set: Availability Set is a logical grouping of VMs within a data center that allows Azure services to understand how our application is built to provide redundancy and availability. An availability set is composed of two additional groupings that protect against hardware failures and allow updates to be applied safely.
- Fault domains- It is a logical group of the underlying hardware that shares a common network switch and power source, similar to a rack within an on-premises datacenter.
- Update Domain: It is a logical group of the underlying hardware that will go under maintenance or be rebooted at the same time.
- Managed Disk fault domains: For VMs using Azure Managed Disks, VMs are aligned with managed disk fault domains when using a managed availability set. This alignment ensures that all the managed disks attached to a VM are within the same managed disk fault domain.
- Availability Zones: It is a physically separate zone within an Azure region. There are three Availability zones per supported within the Azure region. All availability zone has the same amount of power source, network, and cooling, and is separated from the other Availability Zones within the Azure region.
Storage Availability
- Azure Managed Disks
- Locally redundant storage (LRS): We will have three copies of the same data within the same facility. So, if there is a datacenter failure, then there is a high probability that we might lose the data.
- Storage account-based disks
- Locally redundant storage (LRS): It maintains three replicas with the facility.
- Zone redundant storage (ZRS): It maintains three replicas but across facilities.
- Geo-redundant storage (GRS): The replicas will be maintained in a paired region. For example - if our disk is in Central US, a copy will be kept in East US also.
- Read-access geo-redundant storage (RA-GRS): The copy will be available for read-only access in a different region.
Creating Availability Set
We will see here how Azure evenly distributes your virtual machines into different fault and update domains of that availability set.
Step 1: Click on New, then type in an Availability set, and press enter. Now, Click on Create.
Step 2: You are currently on the Availability set creation page. Fill in all the required details as shown in the figure below, and click on Create.
Step 3: Now Click on Go to resource to open the Availability set.
Step 4: Click on Virtual Machine. Any virtual machine that you have added to this Availability set will show here.
This is how you can make a web server farm tolerant of both unplanned outages and planned outages.