74 lines
2.7 KiB
Plaintext
74 lines
2.7 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: ephemeral_disk Block - Job Specification
|
|
description: |-
|
|
The "ephemeral_disk" block describes the ephemeral disk requirements of the
|
|
group. Ephemeral disks can be marked as sticky and support live data
|
|
migrations.
|
|
---
|
|
|
|
# `ephemeral_disk` Block
|
|
|
|
<Placement groups={['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.
|
|
|
|
```hcl
|
|
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. Enabling `migrate`
|
|
automatically enables `sticky` as well. During data migration, the task will
|
|
block starting until the data migration has completed. Migration is atomic and
|
|
any partially migrated data will be removed 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
|
|
the `local/` and `alloc/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:
|
|
|
|
```hcl
|
|
ephemeral_disk {
|
|
sticky = true
|
|
}
|
|
```
|
|
|
|
[resources]: /nomad/docs/job-specification/resources 'Nomad resources Job Specification'
|
|
[filesystem internals]: /nomad/docs/concepts/filesystem#templates-artifacts-and-dispatch-payloads 'Filesystem internals documentation'
|
|
[logs documentation]: /nomad/docs/job-specification/logs 'Nomad logs Job Specification'
|