70 lines
2.4 KiB
Plaintext
70 lines
2.4 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][].
|
|
|
|
## `ephemeral_disk` Parameters
|
|
|
|
- `migrate` `(bool: false)` - When `sticky` is true, this specifies that the
|
|
Nomad client should make a best-effort attempt to migrate the data from a
|
|
remote machine if placement cannot be made on the original node. 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'
|