Nomad
ephemeral_disk Block
Placement | job -> group -> ephemeral_disk |
The ephemeral_disk
block describes the ephemeral disk requirements of the
group. Ephemeral disks can be marked as sticky and support live data migrations.
All tasks in this group will share the same ephemeral disk.
job "docs" {
group "example" {
ephemeral_disk {
migrate = true
size = 500
sticky = true
}
}
}
The ephemeral disk can be referenced under alloc/data/
. More information can
be found in the filesystem internals.
Each job's logs will be written to ephemeral disk space. See the logs documentation for more information.
ephemeral_disk
Parameters
migrate
(bool: false)
- This specifies that the Nomad client should make a best-effort attempt to migrate the data from the previous allocation, even if the previous allocation was on another client. Enablingmigrate
automatically enablessticky
as well. During data migration, the task will block starting until the data migration has completed.Successful migration requires that the clients can reach each other directly over the Nomad HTTP port. Any failure of the transfer will result in data loss, so this feature is only suitable for data that can be recreated at the destination (for example, cache data). Migration is atomic and any partially migrated data will be removed from the destination if an error is encountered. Note that data migration will not take place if a client garbage collects a failed allocation or if the allocation has been intentionally stopped via
nomad alloc stop
, because the original allocation has already been removed.size
(int: 300)
- Specifies the size of the ephemeral disk in MB. The current Nomad ephemeral storage implementation does not enforce this limit; however, it is used during job placement.sticky
(bool: false)
- Specifies that Nomad should make a best-effort attempt to place the updated allocation on the same machine. This will move thelocal/
andalloc/data
directories to the new allocation.
ephemeral_disk
Examples
The following examples only show the ephemeral_disk
blocks. Remember that the
ephemeral_disk
block is only valid in the placements listed above.
Sticky Volumes
This example shows enabling sticky volumes with Nomad using ephemeral disks:
ephemeral_disk {
sticky = true
}