Overview
A datastore is the storage location where Ironcore Backup Solution (IBS) writes chunks and snapshots. Each datastore has its own deduplication pool, retention policy, access control, and verification schedule. This page describes the supported backends, how to provision a new datastore, and how to organise data with namespaces.Prerequisites
- Administrator role on the Polystack platform
- At least one of: local mount, networked filesystem, S3-compatible bucket, or LTO tape library
- Network reachability from the backup server to the backend
Backend Types
Local Filesystem
XFS, ext4, or ZFS on directly-attached storage. Highest write throughput
and lowest latency for the Primary DC site.
Replicated Filesystem
ZFS send/receive, GlusterFS, or a clustered POSIX filesystem. Survives
single-disk or single-node failure within the same site.
S3-Compatible Object Storage
Native S3 API. Use on-premises object stores or cloud providers for
elastic capacity and geographic redundancy.
LTO Tape Library
LTO-5 and newer for offline, compliance-grade archival. Managed by the
Tape Worker — see Tape and Object Storage.
Create a Local Datastore
- Deployment Console
- CLI
Enter datastore details
Set:
- Name:
ibs-primary - Type: Local Filesystem
- Path:
/mnt/backup/ibs-primary(must be empty)
Configure scheduled tasks
Define schedules for:
- Garbage Collection: weekly
- Verification: weekly
- Prune: daily
Set notification group
Attach the operational notification group so alerts dispatch to the
right channel.
Create an S3-Backed Datastore
S3-compatible datastores are ideal for the Backup site or for elastic archival.- Deployment Console
- CLI
Choose S3 type
Set:
- Name:
ibs-archival - Type: S3-compatible
- Endpoint:
https://s3.<your-domain>(or your provider’s endpoint) - Bucket:
polystack-backup-archival - Region:
default
Provide credentials
Enter the access key and secret key. The credentials are stored
encrypted in the backup server configuration.
Set throughput and request monitoring
Optionally set:
- Request count threshold — alert if requests exceed N per minute
- Bandwidth limit — cap egress in MiB/s
Configure schedules
Set garbage collection, verification, and prune schedules. S3 datastores
typically verify less often than local datastores due to cost considerations.
Namespaces
Namespaces partition a datastore into logical scopes while preserving cross-namespace deduplication. Use namespaces to separate environments, teams, or compliance scopes.- Deployment Console
- CLI
Assign access
From the namespace detail panel, click Permissions and grant the
appropriate roles to users and tokens.
Move Backup Groups Between Namespaces
Backup groups can be relocated between namespaces in the same datastore without re-uploading chunks. The move is atomic with per-group locking for data consistency.- Deployment Console
- CLI
Datastore Lifecycle Tasks
| Task | Default Frequency | Purpose |
|---|---|---|
| Garbage Collection | Weekly | Reclaims chunks no snapshot references |
| Verification | Weekly | Re-reads chunks and validates SHA-256 |
| Prune | Daily | Applies retention policy, removes outdated snapshots |
| Sync | Per-job schedule | Replicates to remote datastores |
Garbage collection runs in two phases: mark and sweep. The mark phase
enumerates referenced chunks; the sweep phase removes unreferenced chunks
older than a grace period (default 24 hours) to allow concurrent backup
jobs to complete without race conditions.
Capacity Monitoring
Usage Telemetry
The Dashboard exposes used bytes, deduplication ratio, projected fill date,
and write throughput per datastore.
Threshold Alerts
Configure free-space alerts at 80%, 90%, and 95% utilisation. Alerts
dispatch via the configured notification group.
S3 Cost Telemetry
For S3 datastores, request count and egress bandwidth are exposed for
cost monitoring.
Capacity Forecasting
The Statistics panel projects fill date based on a rolling 14-day growth
rate. Use this to plan expansion.
Troubleshooting
Datastore status is `offline`
Datastore status is `offline`
The backup server cannot reach the backend. For local datastores, check
the mount status. For S3 datastores, check credentials and endpoint
reachability.
Force a re-probe
Garbage collection is taking many hours
Garbage collection is taking many hours
Large datastores with many snapshots can take significant time to GC. Run
GC during off-hours. If unacceptable, partition the datastore by creating
a second datastore for new data.
Free space alerts firing unexpectedly
Free space alerts firing unexpectedly
Confirm the underlying filesystem reports correct free space. A failed
prune job may have left expired manifests in place — check Tasks for
prune failures.
S3 datastore high request count
S3 datastore high request count
Sync jobs that re-upload existing chunks generate excess S3 requests. Check
the deduplication hit rate on sync tasks. Consider increasing the chunk
cache size on the source datastore.
Next Steps
Retention Policies
Define retention windows applied to each datastore
Replication and Sync
Mirror datastores between Primary and Backup sites
Access Control
Grant per-datastore and per-namespace permissions
Infrastructure Sizing
Plan datastore capacity for incremental, full, and archival retention
