There used to be great solutions like StorageOS (now Ondat) or Portworx (both Cluster of storages) for Swarm, but they stopped supporting Swarm and focused on Kubernetes.
Viable options:
- HA NFS - usually provided by enterprise grade storages or cloud providers
- Gluster - Distributed store cluster. Engine Volume Plugins exist. Not sure how active maintained, last release was July 2025.
- Ceph - , Distributed store cluster, Engine Volume Plugins exist. From what I heared it requires more resources than Gluster.
With Gluster and Ceph you will want to have at least a dedicated 10Gpbs dedicated network for the storage, better 40Gbps+, unless performance is irrelevant.
Here is a topic from the past Looking for storage in docker swarm. Things didn’t change for better since.