VolumeMounts (data, default, index)

Hi Guys,

according to this VoulmeMounts document, do we need to have default volume if we have only one storageclass (ex.ssd).

if we still need default volume, what is the prefer capacity? same as the data volume or not?

You should always have a default volume for a number of reasons:

  • The Operator can quickly recover from a pod crash/failure, it contains cluster configuration data
  • The Operator can recover from a total outage without data loss, if contains all the other user data
  • Logs are preserved for support, it contains logging

If you use a default volume mount, there is no reason to have separate per-service mounts, unless you wish to make use of horizontal scaling (e.g. the number of IOPs scales with the number of volumes). So just use your SSD storage class for the default mount, it still contains all the data, indexes etc, with a relatively small amount of other stuff e.g. configuration and logs.

As for sizing, you will have to answer that one for yourself. You’ll need to work out what your data set size is, and multiply by the number of replicas. Then you’ll need to work out your index sizes etc. etc. Then add an overhead on for logging and future expansion. That’ll give you a rough estimate for sizing across the whole cluster. It’s an inexact science, so I’d recommend just utilizing monitoring and plan to dynamically expand storage when you start running low, just like any other production service. Monitoring being the key :smiley:

Hi @simon.murray, we had an almost identical question and hence top-posting on this one.

Your comments on sizing are clear. So keeping that aside, our question was, instead of having separate volumes for Default & Data, if we simply have a single volume for both, is there a downside?