Hi,

Currently, Mesos supports both local persistent volumes as well as external
persistent volumes. However, both of them are not ideal.

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 design tries to
tell a coherent story for supporting storage in Mesos.

https://docs.google.com/document/d/125YWqg_5BB5OY9a6M7LZcby5RSqBwo2PZzpVLuxYXh4/edit?usp=sharing

Please feel free to reply this thread or comment on the doc if you have any
comments or suggestions! Thanks!

- Jie

Reply via email to