Skip to main content
Available on the Enterprise plan for supported runners. Contact sales to learn more.
Dual disk environments separate the VM system disk from the environment data disk. The system disk contains the operating system and runner-managed boot files. The data disk contains the workspace and development state that should survive VM replacement. Dual disk gives Enterprise environments a more resilient storage model for long-running development work, larger repositories, prebuilds, and agent workloads.

What dual disk preserves

The data disk stores development state across stops and starts:
  • Repository contents and uncommitted changes under /workspaces
  • Docker and containerd image layers used by Dev Containers
  • Dev Container build output stored by the container runtime
  • Runner-installed environment assets used during startup
When an environment stops, Ona can keep the data disk available for a fast restart. If the VM is later replaced, Ona can reattach the preserved disk or recreate it from a provider snapshot, depending on the runner and lifecycle state.

How it changes environment restarts

With a single disk, the VM and the environment’s data are tied to the same root disk lifecycle. With dual disk, the VM can be treated as replaceable compute while the environment data remains on a separate provider-managed disk.
Environment stateWhat happens with dual disk
RunningThe VM uses a system disk plus a separate data disk.
Stopped brieflyThe same VM or attached data disk can be reused for a faster restart.
Stopped longerThe data disk can be detached and later restored from a snapshot.
DeletedEnvironment data is permanently removed according to the normal environment deletion lifecycle.
Dual disk does not change how developers use environments. Files remain available at the usual paths, including /workspaces.

Prebuilds and warm pools

Dual disk works with prebuilds and warm pools. For dual disk prebuilds, the prebuild output is captured as a data disk snapshot. New environments then start from the runner’s normal system image plus a data disk created from that snapshot. This keeps prebuilt workspace state, dependencies, and container layers on the data disk while letting the runner use the current system image for the VM. For warm pools, each warm pool instance receives its own data disk from the prebuild snapshot. When a warm pool instance is claimed as a real environment, that data disk becomes the environment’s persistent data source.

Runner support

Dual disk is available for Enterprise customers on supported AWS and GCP runners. Existing runners may need to be upgraded before they can create dual disk environments.
  • For AWS runners, use the latest AWS runner infrastructure and runner version. See Upgrade runner.
  • For GCP runners, use the latest Terraform module and runner version. See Upgrade and delete runner.
GCP runners can also enable cross-zone restart for stopped dual disk environments. This allows a stopped environment to restart in another zone when the original zone has no VM capacity. See the GCP setup guide.

Relationship to persistent storage

Dual disk is an infrastructure-level improvement to persistent storage. It does not require developers to change where they store files, and it does not replace project-level features such as Dev Container image caching, prebuilds, or warm pools. Use those features together:
  • Use persistent storage for developer state across stops and starts.
  • Use dual disk for more resilient runner-managed storage.
  • Use prebuilds and warm pools to reduce startup time.
  • Use Dev Container image caching to avoid repeated image builds for the same configuration.

FAQ

No. Dual disk keeps the same in-environment paths, including /workspaces, so existing Dev Container configurations continue to work.
Not necessarily. Dual disk preserves environment data, not the identity of the VM. If Ona restarts the same stopped VM, the private IP can remain the same. If Ona replaces the VM and reattaches or restores the data disk, the VM may receive a new private IP.
No. Deleting an environment still permanently removes its environment data according to the normal deletion lifecycle.