Shared storage underlies most enterprise VM deployments because it is an established technology that administrators are familiar with and because it good job of protecting data. However, shared storage is also very expensive to scale. This paper describes Capo1 , a transparent and persistent block request proxy for virtual machine disk images. Capo reduces the load on shared storage by using local disks as persistent caches, using multicastbased preloading to broadcast read results across a cluster, and by imposing differential durability – dividing a VM’s file system into regions of varying writeback frequency. We motivate the system’s design through the analysis of a week-long trace of 55 production virtual desktops and then describe and evaluate our implementation. Capo is particularly well suited for virtual desktop deployments, in which large numbers of VMs boot from a small number of “gold master” images and are refreshed on a periodic basis.
Mohammad Shamma, Dutch T. Meyer, Jake Wires, Maria