Volume states

This table explains the possible states for a Fly Volume. A volume may only be in one state at a time.

creating Initial state for a new volume.
created Volume is in a stable state with no on-going operations.
extending The volume is being extended.
restoring The volume is being restored from a snapshot.
enabling_remote_export The volume fork process is initializing.
hydrating The volume is being forked (copied) and is actively hydrating. The volume can be mounted.
recovering The volume is being recovered from the pending_destroy state.
scheduling_destroy The volume is being deleted.
pending_destroy The volume is soft deleted.

Transitions and states during actions on volumes

  • Create a volume: creatingcreated
  • Restore a volume from a snapshot: creatingrestoringcreated
  • Fork a volume to another host/region: creatingenabling_remote_exporthydratingcreated
  • Extend a volume: creatingextendingcreated
  • Destroy a volume: creatingscheduling_destroypending_destroy
  • Migrate a volume to a new host (performed by Fly.io): source volume createdpending_destroy; destination volume [Fork a volume transitions]

Volumes are soft deleted before being destroyed

We always soft delete volumes before destroying them permanently, so that we can recover them if needed. Soft-deleted volumes are in the pending_destroy state.

When you destroy a volume (whether by flyctl commands or the Machines API), the volume stays in the pending_destroy state for 24 hours before being permanently deleted.

When we destroy a volume during migration to a new host, the volume stays in the pending_destroy state for 1 week before being permanently deleted.