Q. Is it OK to place data and other workloads on the C: drive in an Azure VM?
A. An Azure VM has two drives by default:
- C:\ - This is the OS drive and is stored on Azure Storage which is a durable, resilient storage with data replicated at least 3 times (6 if geo-redundancy is enabled). The C:\ drive has to have at least read caching enabled and by default has read and write caching enabled
- D:\ - This is a temporary drive that is stored on the local node hosting the VM and is considered non-persistent and its content could be lost at any time so no data should be placed on D that is not expendable
It is also possible to add additional data disks (the maximum number depending on the size and series of the VM) and each disk has fully configurable caching which can be none, read or read and write. Additionally for standard Azure Storage each disk has a 500 IOPS limit (including the OS disk) and it is for this reason it is preferable to not place additional data (and also because of caching requirements for certain types of data, i.e. no caching desired) on the C:\ drive as it is important to save those 500 IOPS for the OS and not force the OS to compete for IOPS with other workloads. Any additional data should be placed on one or more data drives which enables segregation of IOPS requirements. Failure to ensure the OS has the necessary IOPS may result in the VM restarting. Note that Basic VMs have 300 IOPS per disk.