Persistent Storage
Block storage volumes that persist independently of virtual machines, providing reliable and scalable storage for your workloads.
Overview
Persistent Storage in Xelon HQ provides high-performance block storage volumes that can be attached to your virtual machines. Unlike ephemeral VM disks, persistent storage volumes exist independently of any VM, allowing you to detach, reattach, and retain your data across VM lifecycles.
Persistent volumes survive VM deletion, can be moved between VMs, and support live capacity expansion without downtime.
Creating a Persistent Storage Volume
Navigate to Persistent Storage
Open the Kubernetes section in the left sidebar and select Persistent Storage Beta.
Create a new volume
Click the Create button in the top-right corner. A creation page will appear.
Configure the volume
Provide the following details:
| Field | Description |
|---|---|
| Persistent Storage Name | A descriptive name for the volume (lowercase letters, numbers, and hyphens only). |
| Volume Size, Gb | The initial capacity in gigabytes (minimum 5 GB, maximum 1000 GB). You can extend this later but cannot shrink it. |
| Tenant / Cloud | Select the tenant and cloud location where the volume will be provisioned. |
| Apply to... | Optionally select a virtual machine to attach the volume to immediately. |
Confirm creation
Click Deploy Persistent Storage to provision the volume.
Attaching to a Virtual Machine
A persistent volume must be attached to a VM before it can be used. Each volume can be attached to one VM at a time.
Select the volume
From the Persistent Storage list, click on the volume you want to attach.
Attach to VM
Click the Edit link next to the Attached to field and select the target virtual machine from the dropdown. The VM must be in the same cloud location as the volume.
Mount inside the VM
Once attached, log in to the VM and mount the block device. For Linux VMs, use standard tools such as fdisk, mkfs, and mount to format and mount the disk.
Persistent volumes can only be attached to VMs within the same cloud location. If you need to move data between locations, consider using Object Storage or backup/restore workflows.
Detaching from a Virtual Machine
Before detaching, ensure any applications using the volume have been stopped and the filesystem has been unmounted inside the VM.
Unmount the filesystem
Inside the VM, run umount /mount/path to safely unmount the volume.
Detach the volume
In the Xelon HQ portal, open the volume details, click the Edit link next to the Attached to field, clear the selection, and confirm. The volume will become available for reattachment.
Extending Storage Capacity
You can increase the size of a persistent volume at any time. Capacity extension does not require detaching the volume.
Open volume details
Navigate to the volume and click to open its detail view.
Extend the volume
Click the Edit link next to the Volume Size field, enter the new size (must be larger than the current size), and confirm. The additional capacity will be available immediately at the block level.
Resize the filesystem
Inside the VM, resize the filesystem to use the new capacity. For ext4 filesystems, run resize2fs /dev/sdX. For XFS, use xfs_growfs /mount/path.
Volume sizes can only be increased, not decreased. Plan your initial sizing accordingly.
Viewing Storage Details
Click on any volume in the list to view its details, including:
- Current size and usage status
- Attached VM (if any)
- Cloud location
- Creation date
- Volume identifier for API operations
Deleting a Volume
Deleting a persistent volume permanently destroys all data stored on it. This action cannot be undone. Ensure you have backups before proceeding.
To delete a volume, it must first be detached from any VM. Open the volume details and click Destroy. Confirm the deletion when prompted.
Use Cases
| Use Case | Description | Recommended Size |
|---|---|---|
| Databases | Store database files (PostgreSQL, MySQL, MongoDB) on persistent volumes for data durability independent of the VM. | 50 GB+ |
| File storage | Shared application data, media assets, or user-uploaded content that must persist across deployments. | 100 GB+ |
| Application logs | Centralize log storage on a dedicated volume to prevent VM root disk exhaustion. | 20 GB+ |
| Development environments | Maintain project files on a volume that can be attached to different VMs as needed. | 10 GB+ |