-aoption, as it may cause unintended performance and functionality issues.
Volumes are properties of services that specify where and how a service stores its data.
You can use volumes to configure services to store their data in external storage systems, outside of the system instances. This allows data to be more easily backed up or migrated.
Volumes can also allow services to store different types of data in different locations. For example, a service might use two separate volumes, one for storing its logs and the other for storing all other data.
In this example, service A runs on instance 101. The service's Log volume stores data in a folder on the system instance and the service's Data volume stores data in an NFS mount.
Depending on how they are created and managed, volumes are separated into these groups:
- System-managed volumes are created and managed by the system. When you deploy the system, you can specify the volume driver and options that the system should use when creating these volumes.
After the system is deployed, you cannot change the configuration settings for these volumes.
- User-managed volumes can be added to services and job types after the system has been deployed. These are volumes that you manage; you need to create them on your system instances before you can configure a service or job to use them.NoteAs of release 1.3.0, none of the built-in services support adding user-managed volumes.
When configuring a volume, you specify the volume driver that it should use. The volume driver determines how and where data is stored.
Because services run in Docker containers on instances in the system, volume drivers are provided by Docker and other third-party developers, not by the system itself. For information about volume drivers you can use, see the applicable Docker or third-party developer's documentation.
By default, all services do not use volume drivers but instead use the bind-mount setting. With this setting, data for each service is stored within the system installation folder on each instance where the service runs.
For more information on volume drivers, see the Docker documentation.
- local: The default Docker volume driver
- local-persist: A Docker volume driver plugin available from https://github.com/CWSpear/local-persist
The Admin App shows this information about the Docker volumes used by jobs and services:
- Name: The unique identifier for the volume.
- Type: Either of these:
- System: The volume is managed automatically for you by the system.
- User: You need to manage the volume yourself.
- Capacity: Total storage space available in the volume.
- Used: Space used by the job or service.
- Pool: The volume category, as defined by the service or job that uses the volume.
For each volume, you can also view this information about the volume driver that controls how the volume stores data:
- Volume driver: The name of the volume driver.
- Option/Value: The command-line interface options used to create the volume, and their corresponding values. The available options and valid values for those options are determined by the volume driver.
Viewing job volumes
To view the volumes being used by a job:
In the Admin App, click the Jobs window.
On the Job Type page, click the job you want.
Click the Volumes tab.
Viewing service volumes
To view the volumes being used by a service:
In the Admin App, click the Services window.
Click the service you want.
Click the Volumes tab.