In the old days of physical servers, it was considered good practice (at least at the places I have worked at) for a server to always have at least two disks (volumes) no matter how simple an application was being hosted.
One disk for the Operating System (OS) and another for the Application. There were a number of reasons for this:
- If the Application killed its disk, by filling it up or hammering it with I/Os, you could usually still log on and see what was going on and the OS would be able to keep logging events to tell you what might have happened.
- It stopped the OS impacting the application's performance by contending for the I/Os available from a single volume.
- Backup/Restore could just worry about the Application Disk, as the OS could be re-built.
- The Application Disk could be managed (e.g. umounted) because this didn't affect the OS.
By default, cloud servers only have one disk. Which made me think about whether this multiple disk approach still made sense in the cloud? Considering the points above: (1), (3) and (4) probably still apply, but (2) less so as disks are virtual: mapped onto a storage subsystem the cloud vendor manages in ways I don't get to see.
So it appears that this best practice is still worth following in the cloud?
Or have I missed a reason why it is not as important to use multiple volumes in a cloud environment?