Local persistent volumes do not support offering physical or logical block devices directly. Also, frameworks do not have choices to select filesystems for their local persistent volumes. There are also some usability problem with the local persistent volumes. Mesos does support multiple local disks. However, it’s a big burden for operators to configure each agent properly to be able to leverage this feature.
External persistent volumes support in Mesos currently bypasses the resource management part. In other words, using an external persistent volume does not go through the usual offer cycle. Mesos doesn’t track resources associated with the external volumes. This makes quota control, reservation, fair sharing almost impossible to implement. Also, the current interface Mesos uses to interact with volume providers is the Docker Volume Driver interface (DVDI), which is very specific to operations on a particular agent.
The main problem I see currently is that we don’t have a coherent story for storage. Yes, we have some primitives in Mesos that can support some stateful services, but this is far from ideal. Some of them are just the stop gap solution (e.g., the external volume support). This epic tries to tell a coherent story for supporting storage in Mesos.