diff --git a/website/content/docs/operations/stateful-workloads.mdx b/website/content/docs/operations/stateful-workloads.mdx index e5c7da089..7a10f3a83 100644 --- a/website/content/docs/operations/stateful-workloads.mdx +++ b/website/content/docs/operations/stateful-workloads.mdx @@ -141,22 +141,32 @@ NFS/CIFS volume from a NAS or a public cloud service such as AWS EFS. Therefore you can use host volumes for both local somewhat persistent storage and for highly persistent networked storage. -Because you need to declare host volumes in the Nomad agent's configuration -file, you must restart the Nomad client to reconfigure them. This makes host -volumes impractical if you frequently change your storage configuration. -Furthermore, it might require coordination between different -[personas](/nomad/docs/concepts/security#personas) to configure and consume -host volumes. For example, a Nomad Administrator must modify Nomad's -configuration file to add/update/remove host volumes to make them available for -consumption by Nomad Operators. Or, with networked host volumes, a Storage -Administrator will need to provision the volumes and make them available to the -Nomad clients. A System Administrator will then mount them on the Nomad clients. +Host volumes may be dynamic or static. Provision dynamic host volumes +with the [`volume create`](/nomad/docs/commands/volume/create) command or +API. [ACL policies](/nomad/docs/other-specifications/acl-policy#namespace-rules) +allow delegation of control for storage within a namespace to Nomad +Operators. The dynamic host volume [plugin +specification](/nomad/docs/concepts/plugins/storage/host-volumes) allows you to +develop plugins specific to your local storage environment. For example, in an +on-prem cluster you could write a plugin to perform LVM thin-provisioning. -Host volumes backed by local storage help persist data that is not critical, for -example an on-disk cache that can be rebuilt if needed. When backed by networked -storage such as NFS/CIFS-mounted volumes or distributed storage via -GlusterFS/Ceph, host volumes provide a quick option to consume highly available -and reliable storage. +You declare static host volumes in the Nomad agent's configuration file, and +you must restart the Nomad client to reconfigure them. This makes static host +volumes impractical if you frequently change your storage +configuration. Furthermore, it might require coordination between different +[personas](/nomad/docs/concepts/security#personas) to configure and consume host +volumes. For example, a Nomad Administrator must modify Nomad's configuration +file to add, update, and remove host volumes to make them available for consumption by +Nomad Operators. Or, with networked host volumes, a Storage Administrator +needs to provision the volumes and makes them available to the Nomad clients. A +System Administrator then mounts them on the Nomad clients. + +Host volumes backed by local storage help persist data that is not critical or +can be readily restored. For example, an on-disk cache that can be rebuilt, or a +clustered application where a single node can rebuild its state from the rest +of the cluster. When backed by networked storage such as NFS/CIFS-mounted +volumes or distributed storage with GlusterFS or Ceph, host volumes provide a quick +option to consume highly available and reliable storage. Refer to the [Stateful workloads with Nomad host volumes](/nomad/tutorials/stateful-workloads/stateful-workloads-host-volumes) @@ -205,8 +215,10 @@ choose the storage options that best addresses your Nomad storage requirements. | Storage option | Advantages | Disadvantages | Ideal for | |---|---|---|---| | CSI volumes | | | | -| Host volumes backed by local storage | | | | -| Host volumes backed by networked or clustered storage | | | | +| Dynamic host volumes backed by local storage | | | | +| Dynamic host volumes backed by networked or clustered storage | | | | +| Static host volumes backed by local storage | | | | +| Static host volumes backed by networked or clustered storage | | | | | Ephemeral disks | | | | ## Additional resources @@ -222,7 +234,7 @@ following resources: ### CSI -- [Nomad CSI plugin concepts](/nomad/docs/concepts/plugins/csi) +- [Nomad CSI plugin concepts](/nomad/docs/concepts/plugins/storage/csi) - [Nomad CSI tutorial](/nomad/tutorials/stateful-workloads/stateful-workloads-csi-volumes) - [Nomad CSI examples](https://github.com/hashicorp/nomad/tree/main/demo/csi) @@ -232,3 +244,8 @@ following resources: - [JuiceFS CSI with Nomad](https://juicefs.com/docs/csi/csi-in-nomad/) - [Hetzner CSI](https://github.com/hetznercloud/csi-driver/blob/main/docs/nomad/README.md) - [NFS CSI Plugin](https://gitlab.com/rocketduck/csi-plugin-nfs) + +### Dynamic Host Volumes + +- [Dynamic host volume plugins](/nomad/docs/concepts/plugins/storage/host-volumes) +- [Dynamic host volume tutorial](/nomad/tutorial/stateful-workloads/stateful-workloads-dynamic-host-volumes)