Mikrom persistent volumes are network-attached block devices backed by Ceph RBD (RADOS Block Device). Unlike the ephemeral root filesystem inside each microVM — which is discarded when the VM stops — volumes retain their contents across deployments, restarts, and app redeployments. You can attach a volume to any application microVM at a chosen mount point, take snapshots for point-in-time recovery, and move volumes between applications by detaching and re-attaching them.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mikronita/mikrom/llms.txt
Use this file to discover all available pages before exploring further.
Creating a Volume
Volumes are sized in MiB at creation time. The size cannot be changed after creation without snapshotting and restoring.| Flag | Description |
|---|---|
--name | Display name for the volume |
--size | Size in MiB (e.g. 10240 = 10 GiB) |
Listing Volumes
List all volumes in your active project:Attaching a Volume
Attach a volume to an application and specify the path inside the microVM where the block device should be mounted.Access Modes
The--mode flag controls how many VMs can access the volume simultaneously. The default is 0 (ReadWriteOnce).
| Mode | Value | Description |
|---|---|---|
| ReadWriteOnce (RWO) | 0 | Single VM read/write access (default) |
| ReadWriteMany (RWX) | 1 | Multiple VMs can read and write concurrently |
| ReadOnlyMany (ROX) | 2 | Multiple VMs can read; no VM can write |
If you try to attach a volume that is already attached to another application in RWO mode (
--mode 0), the operation will be rejected. Detach it from the current application first, or re-attach using RWX mode if concurrent access is acceptable for your workload.Detaching a Volume
Snapshots
Snapshots capture the exact byte-level state of a volume at a point in time. They are stored as Ceph RBD snapshots and are independent of the application that owns the volume.Create a snapshot
Restore a volume from a snapshot
Restoring overwrites the volume’s current contents with the snapshot state. The volume must be detached before a restore can proceed.List snapshots for a volume
Delete a specific snapshot
Deleting a Volume
--yes to skip the prompt in scripts.
Common Workflows
Migrating a volume to a new application
Migrating a volume to a new application
- Detach the volume from the current app:
- Attach it to the new app at the desired mount point:
Creating a pre-deployment checkpoint
Creating a pre-deployment checkpoint
Before a potentially destructive migration, snapshot your volume so you can restore quickly if something goes wrong:If the migration fails, restore the volume: