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.