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:
creating
→created
- Restore a volume from a snapshot:
creating
→restoring
→created
- Fork a volume to another host/region:
creating
→enabling_remote_export
→hydrating
→created
- Extend a volume:
creating
→extending
→created
- Destroy a volume:
creating
→scheduling_destroy
→pending_destroy
- Migrate a volume to a new host (performed by Fly.io): source volume
created
→pending_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.