Use enterprise backup vendors alongside the native Polystack backup — agentless and agent-based options for compliance and application-aware protection.
In addition to the Polystack Native Backup for block storage volumes, the Polystack Platform
is fully open to enterprise third-party backup solutions. Customers who need
application-aware protection, long-term off-site retention, regulatory archive depths,
or a single backup pane across multi-cloud and on-premises infrastructure can plug in
the backup vendor of their choice.Third-party backup tools integrate with Polystack through OpenStack-compatible APIs and snapshot
mechanisms — no proprietary backend changes are required.
Polystack Native Backup is the recommended starting point for most workloads. Adopt a
third-party solution when you need capabilities Polystack Native Backup doesn’t cover —
such as application-consistent quiescing for databases, indexed file-level recovery
across thousands of guests, or cross-cluster / cross-cloud lifecycle policies.
For most general-purpose workloads, the native backup is sufficient. Third-party tools
shine when you have complex application stacks, multi-cluster fleets, or audit/archive
requirements that need a dedicated backup product.
Third-party backup tools integrate with Polystack in one of two architectural patterns.
Agentless
The backup tool talks to OpenStack APIs (Block Storage, Image, Compute) and reads VM
disks via snapshots. No software is installed inside the guest. Best for
standardized fleets and snapshot-consistent backups.
With Agent
A small agent runs inside each guest VM. The backup tool coordinates with the agent
to quiesce applications, capture file-level metadata, and stream changed data.
Best for application-aware and granular file-level recovery.
Agentless backup uses OpenStack snapshot APIs to read VM disks. The backup tool calls
the platform, asks for a snapshot, reads the snapshot’s data through standard storage APIs,
and stores it in its own catalog.
The backup tool authenticates with Polystack Identity and lists projects, instances,
and volumes the backup user can see.
Snapshot
The tool calls Polystack Block Storage to take a snapshot of the target volume. The
snapshot is crash-consistent (the same as a power-off + power-on).
Read snapshot
The tool streams the snapshot data through the storage API and stores it in its
own backup repository (object storage, NAS, dedup appliance, tape, etc.).
Catalog and retain
The tool indexes the backup, applies the retention policy, and is ready to
restore when needed.
Crash-consistent only by default — a snapshot captures disk state without
flushing application buffers. Databases may need replay on restore.
Limited application awareness — without an agent, the backup tool cannot quiesce
Microsoft SQL, Oracle, Exchange, or similar transactional applications cleanly.
File-level restore needs extra work — the backup tool must mount and parse the
guest filesystem to expose individual files (most agentless tools do support this).
Vendors that integrate with OpenStack APIs (agentless)
Recommended — Commvault has explicit, link-backed documentation for the four
capabilities most commonly required of a third-party backup integration:
deep VM-provisioning integration, rule-based auto-enrollment of newly created VMs,
schedule + retention count, and on-demand backup. The full per-capability matrix
is below the table.
Vendor
Polystack-native
Notes
Commvault IntelliSnap
Yes
VM Groups with rule-based selection (project, name pattern, power state); schedule + retention on assigned Server Backup Plan; on-demand backup per VM Group
Deeply integrated into VM provisioning so newly created VMs are protected automatically
VM Group with rule-based content (Project / Instance name pattern / Power state) — every new VM matching the rule is picked up on the next backup cycle
Other strong agentless choices: Trilio and Storware also ship rule-based
policy engines that pick up newly created VMs, but their public docs are slightly
less explicit about “auto-enroll on VM create” enforcement. See their accordions
below for the exact docs.
Commvault — VM Group + Server Backup Plan (recommended)
Commvault organizes Polystack VMs into VM Groups with rule-based content selection.
The schedule + retention live on the Server Backup Plan assigned to the group.Available VM-Group rule types:
Project — every VM in a chosen project
Instance name or pattern — name Contains operator
Power state — On / Off / Other
Browse / Instance — explicit single-VM selection
Retention count — configured on the Server Backup Plan as Days-Based
Retention (keep backups for N days) or as the number of snapshots to retain
for IntelliSnap. Secondary copies have separate retention counts for monthly-full
and yearly-full tiers.On-demand backup — yes. The Performing Backups page documents the manual
backup action that can be triggered against any VM Group or instance independent
of the schedule.
Workload Policies — admins define schedule + retention and assign policies to projects.
Workloads — group VMs to be backed up together with one of those policies.
Retention count — configured as the retention parameter on the policy
(e.g. --hourly interval=1,retention=30,snapshot_type=incremental keeps 30
snapshots; default for hourly is 30, incremental). For one-off jobs the syntax is
--manual retention=<count>,retention_days_to_keep=<days>.On-demand backup — yes. From the Workloads page in the dashboard, you can
trigger a snapshot manually for any workload at any time, independent of the
scheduled policy.For fully automatic discovery of newly created VMs, confirm the exact behavior in
the current Trilio release notes — public docs describe policy-driven workload
backup, not turnkey auto-enrollment of every new VM.
Storware’s SLA Policy combines schedule (daily / weekly / etc.) and retention
in one policy. New VMs matching the policy’s project / tag selector are picked up
on the next protection cycle. Full and incremental backups both supported.Retention count — configured per policy as a count of backups to keep, or as
a time window. Storware moved retention from backup destination to the policy
itself, so different policies can have different retention without changing the
backup target.On-demand backup — yes. The Storware OpenStack plugin dashboard exposes a
direct backup action per VM, independent of the SLA Policy schedule.
Agent-based backup runs a small piece of software inside each guest VM. The agent
coordinates with the backup tool over the network to capture data with
application-aware consistency and full file-level granularity.
A backup agent package is installed inside the guest OS (Linux .deb / .rpm,
Windows .msi). The agent registers with the backup server.
Quiesce the application
Before each backup, the agent calls application hooks (VSS on Windows, scripts on
Linux) to flush database buffers, lock log writers, and ensure the on-disk state
is consistent.
Stream changed data
The agent identifies changed blocks or files since the last backup and streams
them to the backup server over the network.
Catalog with file-level index
The backup tool catalogs every file, registry key, or database object captured —
enabling granular restore by name, not just full-volume restore.
Microsoft SQL, Oracle, MySQL, PostgreSQL, Exchange, Active Directory, SAP, and
other transactional apps are backed up cleanly with no replay needed at restore.
Granular file-level restore
Recover a single email, table row, registry key, or document from a backup —
without restoring the whole volume.
Cross-platform consistency
The same backup tool protects VMs on Polystack, on-prem hypervisors, public clouds,
and physical machines — one console, one policy framework.
In-guest encryption + dedup
Source-side deduplication and encryption reduce network traffic and protect
backup data in transit and at rest.
Many production environments use both approaches together:
Agentless for the bulk of the fleet — fast snapshot-based backups of stateless
workloads, web tiers, and standard application servers.
With-agent for specific high-value VMs — databases, mail servers, ERP/SAP,
domain controllers, and any workload where a few minutes of replay-on-restore is
unacceptable.
A single backup tool typically supports both modes from the same console — pick the
backup method per workload class via policy, not per-tool.
Pick agentless. Snapshot-based backups are fast, fleet-wide, and good enough
for stateless or session-replicated workloads.
Database VMs (SQL, Oracle, MySQL, PostgreSQL)
Pick with-agent. Application-aware quiescing prevents database replay or
corruption on restore. Trilio also offers app-aware workload types for databases
via in-guest helper scripts.
Microsoft Exchange / SharePoint / SQL Always-On
Pick with-agent. VSS integration is essential. Veeam, Commvault, and Veritas
all have strong Exchange and SQL Always-On support.
Hardened or appliance VMs (no shell access)
Pick agentless. You cannot install an agent into a sealed appliance image.
Snapshot-based backup is the only viable option.
Pick whatever your audit framework prefers — most enterprise backup vendors
offer immutable retention, write-once tiers, and audit reporting designed for
these frameworks.
Multi-cluster, multi-cloud fleet under one console
Pick agentless for the Polystack side and use the same vendor’s connectors
for AWS / Azure / GCP / on-prem. Veeam, Commvault, Cohesity, Trilio, and Veritas
all support multi-cloud.
Create a dedicated user in Polystack Identity with read access to all projects you
want backed up. Grant the minimum roles required by the vendor (typically
member plus volume:create_snapshot on Block Storage).
Allow OpenStack API access from the backup server
Ensure the backup tool can reach Polystack’s Identity, Compute, Block Storage, and
Image API endpoints. Open required network paths, configure TLS trust, and (for
agent-based mode) ensure guest VMs can reach the backup server on its data port.
Configure the vendor's Polystack connector
Each vendor ships an Polystack connector module. Point it at your Polystack Identity
endpoint, supply the service account credentials, and select the projects to
discover.
For Trilio, this is the Workload Manager Dashboard panel. For Veeam and
Commvault, it’s a connector wizard inside the vendor console.
Define protection policies
Create backup policies — typically by tag, project, or VM list. Most vendors
let you specify schedule, retention, target repository, and (for agent-based)
application-quiesce settings.
Verify the first backup and restore
Run a test backup of a single VM, then perform a test restore to a new VM in a
sandbox project. Confirm boot, network, and application functionality before
enabling the policy fleet-wide.
The test VM restores successfully and applications start cleanly.
Always test restores on a regular cadence — quarterly at minimum. A backup you
cannot restore is not a backup.
Polystack exposes OpenStack-compatible cloud APIs that every modern backup vendor expects:
API
Used for
Identity
Authentication, project scoping, role-based access for the backup service account
Compute
List instances, query state, attach/detach volumes, snapshot instances
Block Storage
Create/list/delete volume snapshots, mount snapshots for backup reads
Image
List images, create/delete snapshot-type images
Object Storage
Direct backup target for native and many third-party tools
For low-level integration, Polystack also exposes:
File-level read of snapshots through the File-Level Restore
service — useful for backup tools that want to verify snapshot contents or build
a file index.
Standard storage protocols — RBD for storage running on Software-Defined-Storage, NFS, iSCSI, and
Fibre Channel for external arrays — so backup tools that prefer direct storage
access can also integrate.
Volume backup with full + incremental modes — the built-in option
File-Level Restore
Recover individual files from a snapshot without a full restore
Was this page helpful?
⌘I
{"docsConfig":{"theme":"linden","$schema":"https://mintlify.com/docs.json","name":"Polystack Documentation","description":"Build, operate, and support Polystack infrastructure with documentation for cloud, edge computing, data center solutions, storage, networking, monitoring, and disaster recovery.","colors":{"primary":"#bf9667","light":"#bf9667","dark":"#bf9667"},"logo":{"light":"https://mintcdn.com/polystacktechnologies-b4a63d39/7MzVcvnTNyuWsbDT/images/PolyStack%20Light.png?fit=max\u0026auto=format\u0026n=7MzVcvnTNyuWsbDT\u0026q=85\u0026s=8c9bd42a5a4bf5df589db9b6a4b8edb0","dark":"https://mintcdn.com/polystacktechnologies-b4a63d39/7MzVcvnTNyuWsbDT/images/PolyStack%20Light.png?fit=max\u0026auto=format\u0026n=7MzVcvnTNyuWsbDT\u0026q=85\u0026s=8c9bd42a5a4bf5df589db9b6a4b8edb0"},"favicon":"https://mintcdn.com/polystacktechnologies-b4a63d39/XboG4ftz5HWv75lm/images/polystack-favicon.png?fit=max\u0026auto=format\u0026n=XboG4ftz5HWv75lm\u0026q=85\u0026s=44c4215058144d1616099829c1c13294","appearance":{"default":"light","strict":true},"navbar":{"links":[{"href":"mailto:sales@polystack.tech","label":"Contact Sales"},{"href":"https://polystack.tech/support/","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://polystack.tech"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/polystack-technologies","website":"https://polystack.tech/"},"links":[{"header":"Contact","items":[{"label":"1612, Logix City Center Office Tower, Sector-32 Noida, UP-201301, India","href":"https://polystack.tech/contact-us"}]},{"header":"Solutions","items":[{"label":"Edge Computing","href":"https://polystack.tech/products/edge-computing"},{"label":"DataCenter Solutions","href":"https://polystack.tech/products/datacenter-solutions"},{"label":"IronFlex HCI","href":"https://polystack.tech/ironflex-hci"},{"label":"IronPeak Servers","href":"https://polystack.tech/ironpeak-servers"},{"label":"Workstations","href":"https://polystack.tech/workstations"}]},{"header":"Products","items":[{"label":"VIDS","href":"https://polystack.tech/industry-solutions/atms-nhai/vids"},{"label":"ATCC","href":"https://polystack.tech/industry-solutions/atms-nhai/atcc"},{"label":"AVCC","href":"https://polystack.tech/industry-solutions/atms-nhai/avcc"}]},{"header":"Company","items":[{"label":"Technical Assistance","href":"https://polystack.tech/support/technical-assistance-center"},{"label":"Support","href":"https://polystack.tech/support"},{"label":"Partners","href":"https://polystack.tech/partners/channel-partners"},{"label":"Career","href":"https://polystack.tech/career"},{"label":"About Us","href":"https://polystack.tech/about-us"},{"label":"Contact Us","href":"https://polystack.tech/contact-us"}]}]},"icons":{"library":"fontawesome"},"contextual":{"options":["copy"],"display":"header"},"interaction":{"drilldown":true},"styling":{"latex":false},"background":{"color":{"light":"#fdfcfa","dark":"#0e0d0e"}},"navigation":{"global":{"anchors":[{"anchor":"Admin Guide","icon":"shield-halved","href":"/admin-guide"},{"anchor":"User Guide","icon":"book-open","href":"/user-guide"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"polystacktechnologies-b4a63d39","hasAudioNarration":false,"actualSubdomain":"polystacktechnologies-b4a63d39","customDomains":["docs.polystack.tech"],"gitSource":{"type":"github","owner":"ankur-kumar87","repo":"docs-polystack","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6abd41a4be6e4dbb7dc763aa","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"Admin Guide","count":143},{"language":"default","tag":"Other Services","count":140},{"language":"default","tag":"Core Services","count":140},{"language":"default","tag":"User Guide","count":116},{"language":"default","tag":"Compute","count":31},{"language":"default","tag":"Block Storage","count":25},{"language":"default","tag":"Images","count":20},{"language":"default","tag":"Networking","count":20},{"language":"default","tag":"Ironcore Backup Solution","count":18},{"language":"default","tag":"Identity \u0026 Access","count":17}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":".card{border-width:2px!important}.nav-logo{height:2.75rem!important;max-width:14rem!important}.partner-attribution{display:inline-flex;align-items:center;gap:1rem;width:auto;max-width:100%;margin:1.25rem 0 1.75rem;padding:0.85rem 1rem;border:1px solid rgba(191, 150, 103, 0.35);border-radius:0.85rem;background:linear-gradient(135deg, rgba(191, 150, 103, 0.08), rgba(255, 255, 255, 0.9));color:#242424;text-decoration:none;box-shadow:0 10px 30px rgba(36, 36, 36, 0.05)}.partner-attribution:hover{border-color:#bf9667;text-decoration:none}.partner-attribution__eyebrow{font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#8f6f4a}.partner-attribution img{width:200px;height:auto}.partner-attribution__copy{padding-left:1rem;border-left:1px solid rgba(191, 150, 103, 0.35);font-size:0.92rem;color:#4a4a4a}@media (max-width: 640px){.partner-attribution{align-items:flex-start;flex-direction:column}.partner-attribution__copy{padding-left:0;border-left:0}}"}],"page":{"pagePath":"services/storage/third-party-backup","slug":"/services/storage/third-party-backup","pageMetadata":{"title":"Third-Party Backup Support","description":"Use enterprise backup vendors alongside the native Polystack backup — agentless and agent-based options for compliance and application-aware protection.","sidebarTitle":"Third-Party Backup","href":"/services/storage/third-party-backup"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Use enterprise backup vendors alongside the native Polystack backup — agentless and agent-based options for compliance and application-aware protection.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,hr:`hr`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,Check,Heading,Info,Note,Step,Steps,Table,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Check)_missingMdxReference(`Check`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsxs(_components.p,{children:[`In addition to the `,_jsx(_components.strong,{children:`Polystack Native Backup`}),` for block storage volumes, the Polystack Platform\nis fully open to enterprise third-party backup solutions. Customers who need\napplication-aware protection, long-term off-site retention, regulatory archive depths,\nor a single backup pane across multi-cloud and on-premises infrastructure can plug in\nthe backup vendor of their choice.`]}),`\n`,_jsx(_components.p,{children:`Third-party backup tools integrate with Polystack through OpenStack-compatible APIs and snapshot\nmechanisms — no proprietary backend changes are required.`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Polystack Native Backup is the recommended starting point for most workloads. Adopt a\nthird-party solution when you need capabilities Polystack Native Backup doesn’t cover —\nsuch as application-consistent quiescing for databases, indexed file-level recovery\nacross thousands of guests, or cross-cluster / cross-cloud lifecycle policies.`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`native-vs-third-party-backup`,children:`Native vs Third-Party Backup`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Concern`}),_jsx(_components.th,{children:`Polystack Native Backup`}),_jsx(_components.th,{children:`Third-Party Backup`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Volume-level full + incremental backup`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Restore to original or new volume`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Off-cluster retention`})}),_jsx(_components.td,{children:`Yes (S3/NFS/SMB targets)`}),_jsx(_components.td,{children:`Yes (vendor-managed)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Application-aware backup (DB quiesce)`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Yes (with agent)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Indexed file-level search across many VMs`})}),_jsx(_components.td,{children:`Limited`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Multi-cluster / multi-cloud catalog`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Long-term archive (years, tape, glacier)`})}),_jsx(_components.td,{children:`Limited`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Per-VM auto-enrollment via tags / policies`})}),_jsx(_components.td,{children:`Manual scheduling`}),_jsx(_components.td,{children:`Yes (most vendors)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Compliance certifications (SOC2, HIPAA archive)`})}),_jsx(_components.td,{children:`Underlying storage`}),_jsx(_components.td,{children:`Vendor-supplied`})]})]})]}),`\n`,_jsx(_components.p,{children:`For most general-purpose workloads, the native backup is sufficient. Third-party tools\nshine when you have complex application stacks, multi-cluster fleets, or audit/archive\nrequirements that need a dedicated backup product.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`two-integration-approaches`,children:`Two Integration Approaches`}),`\n`,_jsx(_components.p,{children:`Third-party backup tools integrate with Polystack in one of two architectural patterns.`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Agentless`,icon:`server`,color:`#bf9667`,children:_jsxs(_components.p,{children:[`The backup tool talks to OpenStack APIs (Block Storage, Image, Compute) and reads VM\ndisks via snapshots. `,_jsx(_components.strong,{children:`No software is installed inside the guest.`}),` Best for\nstandardized fleets and snapshot-consistent backups.`]})}),_jsx(Card,{title:`With Agent`,icon:`microchip`,color:`#bf9667`,children:_jsx(_components.p,{children:`A small agent runs inside each guest VM. The backup tool coordinates with the agent\nto quiesce applications, capture file-level metadata, and stream changed data.\nBest for application-aware and granular file-level recovery.`})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`agentless-backup`,children:`Agentless Backup`}),`\n`,_jsx(_components.p,{children:`Agentless backup uses OpenStack snapshot APIs to read VM disks. The backup tool calls\nthe platform, asks for a snapshot, reads the snapshot’s data through standard storage APIs,\nand stores it in its own catalog.`}),`\n`,_jsx(Heading,{level:`3`,id:`how-agentless-backup-works`,children:`How agentless backup works`}),`\n`,_jsxs(Steps,{titleSize:`h3`,children:[_jsx(Step,{title:`Discovery`,icon:`magnifying-glass`,id:`discovery`,children:_jsx(_components.p,{children:`The backup tool authenticates with Polystack Identity and lists projects, instances,\nand volumes the backup user can see.`})}),_jsx(Step,{title:`Snapshot`,icon:`camera`,id:`snapshot`,children:_jsx(_components.p,{children:`The tool calls Polystack Block Storage to take a snapshot of the target volume. The\nsnapshot is crash-consistent (the same as a power-off + power-on).`})}),_jsx(Step,{title:`Read snapshot`,icon:`download`,id:`read-snapshot`,children:_jsx(_components.p,{children:`The tool streams the snapshot data through the storage API and stores it in its\nown backup repository (object storage, NAS, dedup appliance, tape, etc.).`})}),_jsx(Step,{title:`Catalog and retain`,icon:`box-archive`,id:`catalog-and-retain`,children:_jsx(_components.p,{children:`The tool indexes the backup, applies the retention policy, and is ready to\nrestore when needed.`})})]}),`\n`,_jsx(Heading,{level:`3`,id:`strengths-of-agentless`,children:`Strengths of agentless`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`No guest footprint`,icon:`check`,color:`#bf9667`,children:_jsx(_components.p,{children:`Nothing runs inside the VM — no extra package to install, patch, or troubleshoot.\nWorks for any guest OS, including hardened or appliance images.`})}),_jsx(Card,{title:`Fleet-wide auto-discovery`,icon:`layer-group`,color:`#bf9667`,children:_jsx(_components.p,{children:`The backup tool sees every VM through the OpenStack API. New VMs are picked up\nautomatically by tag-based or project-based policies.`})}),_jsx(Card,{title:`Lower operational overhead`,icon:`users`,color:`#bf9667`,children:_jsx(_components.p,{children:`No agent rollouts, no agent-version drift across the fleet. Upgrades happen on\nthe backup-tool side only.`})}),_jsx(Card,{title:`Snapshot-fast`,icon:`bolt`,color:`#bf9667`,children:_jsx(_components.p,{children:`Backup windows are short — the snapshot takes seconds, and reading happens\nasynchronously without locking the running VM.`})})]}),`\n`,_jsx(Heading,{level:`3`,id:`limitations-of-agentless`,children:`Limitations of agentless`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Crash-consistent only`}),` by default — a snapshot captures disk state without\nflushing application buffers. Databases may need replay on restore.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Limited application awareness`}),` — without an agent, the backup tool cannot quiesce\nMicrosoft SQL, Oracle, Exchange, or similar transactional applications cleanly.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`File-level restore needs extra work`}),` — the backup tool must mount and parse the\nguest filesystem to expose individual files (most agentless tools do support this).`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`vendors-that-integrate-with-openstack-apis-agentless`,children:`Vendors that integrate with OpenStack APIs (agentless)`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Recommended — Commvault`}),` has explicit, link-backed documentation for the four\ncapabilities most commonly required of a third-party backup integration:\ndeep VM-provisioning integration, rule-based auto-enrollment of newly created VMs,\nschedule + retention count, and on-demand backup. The full per-capability matrix\nis below the table.`]})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Vendor`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Polystack-native`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Commvault IntelliSnap`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`Yes`}),_jsx(_components.td,{children:`VM Groups with rule-based selection (project, name pattern, power state); schedule + retention on assigned Server Backup Plan; on-demand backup per VM Group`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Trilio`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`Yes`}),_jsx(_components.td,{children:`Workload Manager dashboard plugin, policy-based protection (hourly / daily / weekly / monthly / yearly), workload-level restores`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Storware vProtect`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`Yes`}),_jsx(_components.td,{children:`Dashboard plugin, SLA Policy with schedule + retention per policy, full and incremental`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Veeam`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`Yes`}),_jsx(_components.td,{children:`Cluster-level API integration, image-based backup, GFS retention schemes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Cohesity`})}),_jsx(_components.td,{style:{textAlign:`center`},children:`Partial`}),_jsx(_components.td,{children:`Protection Policy with min 12 h interval + retention; Extended Retention for longer cycles`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`commvault-capability-matrix-with-dedicated-urls`,children:`Commvault capability matrix (with dedicated URLs)`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`#`}),_jsx(_components.th,{children:`Capability`}),_jsx(_components.th,{children:`Commvault feature`}),_jsx(_components.th,{children:`Reference`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`1`})}),_jsx(_components.td,{children:`Third-party backup software named with OEM documentation`}),_jsx(_components.td,{children:`Commvault IntelliSnap (agentless) and Commvault (with-agent)`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://documentation.commvault.com/saas/openstack.html`,children:`Commvault for Polystack — overview`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`2`})}),_jsx(_components.td,{children:`Deeply integrated into VM provisioning so newly created VMs are protected automatically`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`VM Group`}),` with rule-based content (Project / Instance name pattern / Power state) — every new VM matching the rule is picked up on the next backup cycle`]}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://documentation.commvault.com/saas/adding_vm_group_for_openstack.html`,children:`Adding a VM Group for Polystack`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`3a`})}),_jsx(_components.td,{children:`Backup scheduling`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Server Backup Plan`}),` controls the schedule (granularity from minutes to weekly / monthly / yearly via secondary copies)`]}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://documentation.commvault.com/2024e/software/performing_backups_for_openstack_instances_or_vm_groups.html`,children:`Performing Backups`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`3b`})}),_jsx(_components.td,{children:`Backup retention counts`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Days-Based Retention`}),` (keep N days) or count-based for IntelliSnap; secondary copies have separate counts for monthly-full / yearly-full`]}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://documentation.commvault.com/v11/commcell-console/days_based_retention.html`,children:`Days-Based Retention`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`3c`})}),_jsx(_components.td,{children:`On-demand backup from the same workflow`}),_jsx(_components.td,{children:`Manual backup action triggered against any VM Group or instance, independent of the schedule`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://documentation.commvault.com/2024e/software/performing_backups_for_openstack_instances_or_vm_groups.html`,children:`Performing Backups (on-demand)`})})]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Other strong agentless choices: `,_jsx(_components.strong,{children:`Trilio`}),` and `,_jsx(_components.strong,{children:`Storware`}),` also ship rule-based\npolicy engines that pick up newly created VMs, but their public docs are slightly\nless explicit about “auto-enroll on VM create” enforcement. See their accordions\nbelow for the exact docs.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`schedule-+-retention-reference-docs-agentless`,children:`Schedule + retention reference docs (agentless)`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Commvault — VM Group + Server Backup Plan (recommended)`,icon:`server`,defaultOpen:true,id:`commvault-vm-group-server-backup-plan-recommended`,children:[_jsxs(_components.p,{children:[`Commvault organizes Polystack VMs into `,_jsx(_components.strong,{children:`VM Groups`}),` with rule-based content selection.\nThe schedule + retention live on the `,_jsx(_components.strong,{children:`Server Backup Plan`}),` assigned to the group.`]}),_jsx(_components.p,{children:`Available VM-Group rule types:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Project`}),` — every VM in a chosen project`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Instance name or pattern`}),` — name `,_jsx(_components.code,{children:`Contains`}),` operator`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Power state`}),` — On / Off / Other`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Browse / Instance`}),` — explicit single-VM selection`]}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retention count`}),` — configured on the Server Backup Plan as `,_jsx(_components.strong,{children:`Days-Based\nRetention`}),` (keep backups for N days) or as the `,_jsx(_components.strong,{children:`number of snapshots to retain`}),`\nfor IntelliSnap. Secondary copies have separate retention counts for monthly-full\nand yearly-full tiers.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`On-demand backup`}),` — yes. The Performing Backups page documents the manual\nbackup action that can be triggered against any VM Group or instance independent\nof the schedule.`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://documentation.commvault.com/saas/openstack.html`,children:`Commvault for Polystack (overview)`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://documentation.commvault.com/saas/adding_vm_group_for_openstack.html`,children:`Adding a VM Group for Polystack`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://documentation.commvault.com/2024e/software/performing_backups_for_openstack_instances_or_vm_groups.html`,children:`Performing Backups (on-demand)`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://documentation.commvault.com/v11/commcell-console/days_based_retention.html`,children:`Days-Based Retention`})}),`\n`]})]}),_jsxs(Accordion,{title:`Trilio — Workload Policies, Schedulers, Workloads`,icon:`shield`,id:`trilio-workload-policies-schedulers-workloads`,children:[_jsx(_components.p,{children:`Trilio’s protection model has two parts:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Workload Policies`}),` — admins define schedule + retention and assign policies to projects.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Workloads`}),` — group VMs to be backed up together with one of those policies.`]}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retention count`}),` — configured as the `,_jsx(_components.code,{children:`retention`}),` parameter on the policy\n(e.g. `,_jsx(_components.code,{children:`--hourly interval=1,retention=30,snapshot_type=incremental`}),` keeps 30\nsnapshots; default for hourly is 30, incremental). For one-off jobs the syntax is\n`,_jsx(_components.code,{children:`--manual retention=\u003ccount>,retention_days_to_keep=\u003cdays>`}),`.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`On-demand backup`}),` — yes. From the `,_jsx(_components.strong,{children:`Workloads`}),` page in the dashboard, you can\ntrigger a snapshot manually for any workload at any time, independent of the\nscheduled policy.`]}),_jsxs(_components.p,{children:[`For `,_jsx(_components.em,{children:`fully automatic`}),` discovery of newly created VMs, confirm the exact behavior in\nthe current Trilio release notes — public docs describe policy-driven workload\nbackup, not turnkey auto-enrollment of every new VM.`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.trilio.io/openstack/admin-guide/workload-policies`,children:`Workload Policies`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.trilio.io/openstack/user-guide/schedulers`,children:`Schedulers`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.trilio.io/openstack/user-guide/workloads`,children:`Workloads`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.trilio.io/openstack/user-guide/snapshots`,children:`Snapshots (on-demand)`})}),`\n`]})]}),_jsxs(Accordion,{title:`Storware vProtect — SLA Policy`,icon:`tag`,id:`storware-vprotect-sla-policy`,children:[_jsxs(_components.p,{children:[`Storware’s `,_jsx(_components.strong,{children:`SLA Policy`}),` combines schedule (daily / weekly / etc.) and retention\nin one policy. New VMs matching the policy’s project / tag selector are picked up\non the next protection cycle. Full and incremental backups both supported.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retention count`}),` — configured per policy as a count of backups to keep, or as\na time window. Storware moved retention from backup destination to the policy\nitself, so different policies can have different retention without changing the\nbackup target.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`On-demand backup`}),` — yes. The Storware OpenStack plugin dashboard exposes a\ndirect backup action per VM, independent of the SLA Policy schedule.`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.storware.eu/protecting-virtual-machines/virtual-machines/openstack`,children:`Storware Polystack integration docs`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://storware.eu/solutions/virtual-machine-backup-and-recovery/openstack-backup-and-recovery/`,children:`Solution overview`})}),`\n`]})]}),_jsxs(Accordion,{title:`Veeam — Backup Retention + GFS Schedules`,icon:`rotate-right`,id:`veeam-backup-retention-gfs-schedules`,children:[_jsx(_components.p,{children:`Veeam uses a job-level schedule combined with retention policies; GFS\n(Grandfather-Father-Son) schemes give you long-term tiered retention.`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://helpcenter.veeam.com/docs/vbr/userguide/sch_backup_retention.html`,children:`Backup Retention`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://helpcenter.veeam.com/docs/vbr/userguide/sch_retention_policy.html`,children:`Retention Policies`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://helpcenter.veeam.com/docs/vbr/userguide/sch_backup_job_create_gfs.html`,children:`GFS Policy Schedules`})}),`\n`]})]}),_jsxs(Accordion,{title:`Cohesity — Protection Policies + Extended Retention`,icon:`layer-group`,id:`cohesity-protection-policies-extended-retention`,children:[_jsx(_components.p,{children:`Cohesity Protection Policies define backup interval (minimum 12 h) and primary\nretention; Extended Retention adds longer hourly / daily / weekly / monthly /\nyearly snapshots beyond the primary policy.`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.cohesity.com/baas/data-protect/policies.htm`,children:`Policies`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.cohesity.com/baas/data-protect/extended-retention.htm`,children:`Extended Retention`})}),`\n`]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`with-agent-backup`,children:`With-Agent Backup`}),`\n`,_jsx(_components.p,{children:`Agent-based backup runs a small piece of software inside each guest VM. The agent\ncoordinates with the backup tool over the network to capture data with\napplication-aware consistency and full file-level granularity.`}),`\n`,_jsx(Heading,{level:`3`,id:`how-agent-based-backup-works`,children:`How agent-based backup works`}),`\n`,_jsxs(Steps,{titleSize:`h3`,children:[_jsx(Step,{title:`Install the agent`,icon:`download`,id:`install-the-agent`,children:_jsx(_components.p,{children:`A backup agent package is installed inside the guest OS (Linux .deb / .rpm,\nWindows .msi). The agent registers with the backup server.`})}),_jsx(Step,{title:`Quiesce the application`,icon:`pause`,id:`quiesce-the-application`,children:_jsx(_components.p,{children:`Before each backup, the agent calls application hooks (VSS on Windows, scripts on\nLinux) to flush database buffers, lock log writers, and ensure the on-disk state\nis consistent.`})}),_jsx(Step,{title:`Stream changed data`,icon:`upload`,id:`stream-changed-data`,children:_jsx(_components.p,{children:`The agent identifies changed blocks or files since the last backup and streams\nthem to the backup server over the network.`})}),_jsx(Step,{title:`Catalog with file-level index`,icon:`list`,id:`catalog-with-file-level-index`,children:_jsx(_components.p,{children:`The backup tool catalogs every file, registry key, or database object captured —\nenabling granular restore by name, not just full-volume restore.`})})]}),`\n`,_jsx(Heading,{level:`3`,id:`strengths-of-with-agent`,children:`Strengths of with-agent`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Application-consistent backup`,icon:`database`,color:`#bf9667`,children:_jsx(_components.p,{children:`Microsoft SQL, Oracle, MySQL, PostgreSQL, Exchange, Active Directory, SAP, and\nother transactional apps are backed up cleanly with no replay needed at restore.`})}),_jsx(Card,{title:`Granular file-level restore`,icon:`file`,color:`#bf9667`,children:_jsx(_components.p,{children:`Recover a single email, table row, registry key, or document from a backup —\nwithout restoring the whole volume.`})}),_jsx(Card,{title:`Cross-platform consistency`,icon:`globe`,color:`#bf9667`,children:_jsx(_components.p,{children:`The same backup tool protects VMs on Polystack, on-prem hypervisors, public clouds,\nand physical machines — one console, one policy framework.`})}),_jsx(Card,{title:`In-guest encryption + dedup`,icon:`shield`,color:`#bf9667`,children:_jsx(_components.p,{children:`Source-side deduplication and encryption reduce network traffic and protect\nbackup data in transit and at rest.`})})]}),`\n`,_jsx(Heading,{level:`3`,id:`limitations-of-with-agent`,children:`Limitations of with-agent`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Operational overhead`}),` — agent installation, version upgrades, and patching across\nthe fleet require lifecycle management.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Guest OS coupling`}),` — agents are OS-specific (Linux distro, Windows version) and\nmay not be available for some appliance images or hardened guests.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`In-guest resource use`}),` — the agent consumes a small amount of guest CPU, memory,\nand network capacity during backup windows.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Doesn’t protect non-running VMs`}),` — if the VM is powered off, the agent isn’t\nrunning, so the backup tool falls back to agentless or snapshot mode.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`vendors-that-support-agent-based-backup-on-polystack-guests`,children:`Vendors that support agent-based backup on Polystack guests`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Vendor`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Veritas NetBackup`})}),_jsx(_components.td,{children:`Comprehensive enterprise agent suite; very strong app-aware coverage (SQL, Oracle, Exchange, SAP). Schedule + retention live on the policy`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Commvault`})}),_jsx(_components.td,{children:`Agent-based or agentless. Schedule + retention managed on the assigned Server Backup Plan`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Veeam`})}),_jsx(_components.td,{children:`Veeam Agent for Linux / Windows. Often paired with the agentless plugin`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Acronis Cyber Protect`})}),_jsx(_components.td,{children:`Agent + cloud catalog. Strong endpoint + workload protection. Backup Plan defines schedule and retention together`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Bacula Enterprise`})}),_jsx(_components.td,{children:`Open-source-rooted agent, Polystack-aware module available. Per-Job File/Job Retention + per-Pool Volume Retention`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`IBM Storage Protect`})}),_jsx(_components.td,{children:`Enterprise agent for large heterogeneous fleets (formerly IBM Spectrum Protect). Retention defined in Management Class within a Policy Domain`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`schedule-+-retention-reference-docs-with-agent`,children:`Schedule + retention reference docs (with-agent)`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Veritas NetBackup — Policy schedules + Retention Periods`,icon:`shield`,id:`veritas-netbackup-policy-schedules-retention-periods`,children:[_jsx(_components.p,{children:`Schedule + retention live on the NetBackup policy.`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.veritas.com/support/en_US/doc/147269993-149461653-0/index`,children:`Admin Guide for Polystack`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.veritas.com/support/en_US/doc/147269993-165972820-0/v148941437-165972820`,children:`Edit a protection (schedules)`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.veritas.com/support/en_US/doc/18716246-126559472-0/v40229538-126559472`,children:`Retention Periods`})}),`\n`]})]}),_jsxs(Accordion,{title:`Commvault — Server Backup Plan + Days-Based Retention`,icon:`server`,id:`commvault-server-backup-plan-days-based-retention`,children:[_jsx(_components.p,{children:`Schedule + retention are managed on the Server Backup Plan assigned to a VM Group.`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://documentation.commvault.com/saas/adding_vm_group_for_openstack.html`,children:`Adding a VM Group for Polystack`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://documentation.commvault.com/v11/commcell-console/days_based_retention.html`,children:`Days-Based Retention`})}),`\n`]})]}),_jsx(Accordion,{title:`Veeam — Backup Retention + Retention Policies`,icon:`rotate-right`,id:`veeam-backup-retention-retention-policies`,children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://helpcenter.veeam.com/docs/vbr/userguide/sch_backup_retention.html`,children:`Backup Retention`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://helpcenter.veeam.com/docs/vbr/userguide/sch_retention_policy.html`,children:`Retention Policies`})}),`\n`]})}),_jsxs(Accordion,{title:`Acronis Cyber Protect — Backup Plan schedule + retention`,icon:`cloud`,id:`acronis-cyber-protect-backup-plan-schedule-retention`,children:[_jsx(_components.p,{children:`Schedule and retention live in the Backup Plan together.`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://kb.acronis.com/content/59296`,children:`Set up backup schedule`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://kb.acronis.com/content/68304`,children:`Retention rules — how \u0026 when they work`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://kb.acronis.com/content/12366`,children:`Retention of Backups`})}),`\n`]})]}),_jsxs(Accordion,{title:`Bacula Enterprise — Schedules + Retentions`,icon:`gear`,id:`bacula-enterprise-schedules-retentions`,children:[_jsx(_components.p,{children:`Bacula uses per-Job File/Job Retention and per-Pool Volume Retention.`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.baculasystems.com/BEPlanningAndPreparation/BackupPolicy/SchedulesAndRetentions/index.html`,children:`Schedules and Retentions`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.baculasystems.com/BEPlanningAndPreparation/BackupPolicy/Configuration/RetentionPeriod/index.html`,children:`Retention Period Configuration`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.baculasystems.com/BEDedicatedBackupSolutions/Virtualization/Hypervisors/openstack/BackupAndRestoreStrategies/index.html`,children:`Polystack Backup \u0026 Restore Strategies`})}),`\n`]})]}),_jsxs(Accordion,{title:`IBM Storage Protect — Policy Domain + Management Class`,icon:`database`,id:`ibm-storage-protect-policy-domain-management-class`,children:[_jsxs(_components.p,{children:[`Retention is defined in a `,_jsx(_components.strong,{children:`Management Class`}),` within a `,_jsx(_components.strong,{children:`Policy Domain`}),`.`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.ibm.com/docs/en/storage-protect/8.1.25?topic=commands-define-objectdomain-define-policy-domain-object-clients`,children:`Define Policy Domain`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.ibm.com/products/storage-protect`,children:`Storage Protect product page`})}),`\n`]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`hybrid-agentless-+-agent`,children:`Hybrid: Agentless + Agent`}),`\n`,_jsxs(_components.p,{children:[`Many production environments use `,_jsx(_components.strong,{children:`both`}),` approaches together:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Agentless`}),` for the bulk of the fleet — fast snapshot-based backups of stateless\nworkloads, web tiers, and standard application servers.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`With-agent`}),` for specific high-value VMs — databases, mail servers, ERP/SAP,\ndomain controllers, and any workload where a few minutes of replay-on-restore is\nunacceptable.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`A single backup tool typically supports both modes from the same console — pick the\nbackup method per workload class via policy, not per-tool.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`choosing-the-right-approach`,children:`Choosing the Right Approach`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Standard application servers and web tiers`,icon:`server`,id:`standard-application-servers-and-web-tiers`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Pick agentless.`}),` Snapshot-based backups are fast, fleet-wide, and good enough\nfor stateless or session-replicated workloads.`]})}),_jsx(Accordion,{title:`Database VMs (SQL, Oracle, MySQL, PostgreSQL)`,icon:`database`,id:`database-vms-sql-oracle-mysql-postgresql`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Pick with-agent.`}),` Application-aware quiescing prevents database replay or\ncorruption on restore. Trilio also offers app-aware workload types for databases\nvia in-guest helper scripts.`]})}),_jsx(Accordion,{title:`Microsoft Exchange / SharePoint / SQL Always-On`,icon:`envelope`,id:`microsoft-exchange-sharepoint-sql-always-on`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Pick with-agent.`}),` VSS integration is essential. Veeam, Commvault, and Veritas\nall have strong Exchange and SQL Always-On support.`]})}),_jsx(Accordion,{title:`Hardened or appliance VMs (no shell access)`,icon:`lock`,id:`hardened-or-appliance-vms-no-shell-access`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Pick agentless.`}),` You cannot install an agent into a sealed appliance image.\nSnapshot-based backup is the only viable option.`]})}),_jsx(Accordion,{title:`Long-term compliance archive (HIPAA, SOC2, financial)`,icon:`box-archive`,id:`long-term-compliance-archive-hipaa-soc2-financial`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Pick whatever your audit framework prefers`}),` — most enterprise backup vendors\noffer immutable retention, write-once tiers, and audit reporting designed for\nthese frameworks.`]})}),_jsx(Accordion,{title:`Multi-cluster, multi-cloud fleet under one console`,icon:`globe`,id:`multi-cluster-multi-cloud-fleet-under-one-console`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Pick agentless`}),` for the Polystack side and use the same vendor’s connectors\nfor AWS / Azure / GCP / on-prem. Veeam, Commvault, Cohesity, Trilio, and Veritas\nall support multi-cloud.`]})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-integrate-a-third-party-backup-tool`,children:`How to Integrate a Third-Party Backup Tool`}),`\n`,_jsxs(Steps,{titleSize:`h3`,children:[_jsx(Step,{title:`Provision a backup service account`,icon:`user`,id:`provision-a-backup-service-account`,children:_jsxs(_components.p,{children:[`Create a dedicated user in Polystack Identity with read access to all projects you\nwant backed up. Grant the minimum roles required by the vendor (typically\n`,_jsx(_components.code,{children:`member`}),` plus `,_jsx(_components.code,{children:`volume:create_snapshot`}),` on Block Storage).`]})}),_jsx(Step,{title:`Allow OpenStack API access from the backup server`,icon:`network-wired`,id:`allow-openstack-api-access-from-the-backup-server`,children:_jsx(_components.p,{children:`Ensure the backup tool can reach Polystack’s Identity, Compute, Block Storage, and\nImage API endpoints. Open required network paths, configure TLS trust, and (for\nagent-based mode) ensure guest VMs can reach the backup server on its data port.`})}),_jsxs(Step,{title:`Configure the vendor's Polystack connector`,icon:`plug`,id:`configure-the-vendors-polystack-connector`,children:[_jsx(_components.p,{children:`Each vendor ships an Polystack connector module. Point it at your Polystack Identity\nendpoint, supply the service account credentials, and select the projects to\ndiscover.`}),_jsx(Info,{children:_jsxs(_components.p,{children:[`For Trilio, this is the `,_jsx(_components.strong,{children:`Workload Manager`}),` Dashboard panel. For Veeam and\nCommvault, it’s a connector wizard inside the vendor console.`]})})]}),_jsx(Step,{title:`Define protection policies`,icon:`shield`,id:`define-protection-policies`,children:_jsx(_components.p,{children:`Create backup policies — typically by tag, project, or VM list. Most vendors\nlet you specify schedule, retention, target repository, and (for agent-based)\napplication-quiesce settings.`})}),_jsxs(Step,{title:`Verify the first backup and restore`,icon:`check`,id:`verify-the-first-backup-and-restore`,children:[_jsx(_components.p,{children:`Run a test backup of a single VM, then perform a test restore to a new VM in a\nsandbox project. Confirm boot, network, and application functionality before\nenabling the policy fleet-wide.`}),_jsx(Check,{children:`The test VM restores successfully and applications start cleanly.`})]})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Always test restores on a regular cadence — quarterly at minimum. A backup you\ncannot restore is not a backup.`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`what-polystack-provides-for-backup-vendors`,children:`What Polystack Provides for Backup Vendors`}),`\n`,_jsx(_components.p,{children:`Polystack exposes OpenStack-compatible cloud APIs that every modern backup vendor expects:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`API`}),_jsx(_components.th,{children:`Used for`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Identity`})}),_jsx(_components.td,{children:`Authentication, project scoping, role-based access for the backup service account`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Compute`})}),_jsx(_components.td,{children:`List instances, query state, attach/detach volumes, snapshot instances`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Block Storage`})}),_jsx(_components.td,{children:`Create/list/delete volume snapshots, mount snapshots for backup reads`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Image`})}),_jsx(_components.td,{children:`List images, create/delete snapshot-type images`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Object Storage`})}),_jsx(_components.td,{children:`Direct backup target for native and many third-party tools`})]})]})]}),`\n`,_jsx(_components.p,{children:`For low-level integration, Polystack also exposes:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`File-level read of snapshots`}),` through the `,_jsx(_components.a,{href:`/services/storage/file-level-restore`,children:`File-Level Restore`}),`\nservice — useful for backup tools that want to verify snapshot contents or build\na file index.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Standard storage protocols`}),` — RBD for storage running on Software-Defined-Storage, NFS, iSCSI, and\nFibre Channel for external arrays — so backup tools that prefer direct storage\naccess can also integrate.`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`related-topics`,children:`Related Topics`}),`\n`,_jsxs(CardGroup,{cols:3,children:[_jsx(Card,{title:`Polystack Native Backup`,href:`/services/storage/backups`,color:`#bf9667`,children:_jsx(_components.p,{children:`Volume backup with full + incremental modes — the built-in option`})}),_jsx(Card,{title:`File-Level Restore`,href:`/services/storage/file-level-restore`,color:`#bf9667`,children:_jsx(_components.p,{children:`Recover individual files from a snapshot without a full restore`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Third-Party Backup Support","description":"Use enterprise backup vendors alongside the native Polystack backup — agentless and agent-based options for compliance and application-aware protection.","sidebarTitle":"Third-Party Backup","href":"/services/storage/third-party-backup"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Native vs Third-Party Backup","slug":"native-vs-third-party-backup","depth":2,"children":[]},{"title":"Two Integration Approaches","slug":"two-integration-approaches","depth":2,"children":[]},{"title":"Agentless Backup","slug":"agentless-backup","depth":2,"children":[{"title":"How agentless backup works","slug":"how-agentless-backup-works","depth":3,"children":[]},{"title":"Discovery","slug":"discovery","depth":3,"children":[]},{"title":"Snapshot","slug":"snapshot","depth":3,"children":[]},{"title":"Read snapshot","slug":"read-snapshot","depth":3,"children":[]},{"title":"Catalog and retain","slug":"catalog-and-retain","depth":3,"children":[]},{"title":"Strengths of agentless","slug":"strengths-of-agentless","depth":3,"children":[]},{"title":"Limitations of agentless","slug":"limitations-of-agentless","depth":3,"children":[]},{"title":"Vendors that integrate with OpenStack APIs (agentless)","slug":"vendors-that-integrate-with-openstack-apis-agentless","depth":3,"children":[]},{"title":"Commvault capability matrix (with dedicated URLs)","slug":"commvault-capability-matrix-with-dedicated-urls","depth":4,"children":[]},{"title":"Schedule + retention reference docs (agentless)","slug":"schedule-+-retention-reference-docs-agentless","depth":3,"children":[]}]},{"title":"With-Agent Backup","slug":"with-agent-backup","depth":2,"children":[{"title":"How agent-based backup works","slug":"how-agent-based-backup-works","depth":3,"children":[]},{"title":"Install the agent","slug":"install-the-agent","depth":3,"children":[]},{"title":"Quiesce the application","slug":"quiesce-the-application","depth":3,"children":[]},{"title":"Stream changed data","slug":"stream-changed-data","depth":3,"children":[]},{"title":"Catalog with file-level index","slug":"catalog-with-file-level-index","depth":3,"children":[]},{"title":"Strengths of with-agent","slug":"strengths-of-with-agent","depth":3,"children":[]},{"title":"Limitations of with-agent","slug":"limitations-of-with-agent","depth":3,"children":[]},{"title":"Vendors that support agent-based backup on Polystack guests","slug":"vendors-that-support-agent-based-backup-on-polystack-guests","depth":3,"children":[]},{"title":"Schedule + retention reference docs (with-agent)","slug":"schedule-+-retention-reference-docs-with-agent","depth":3,"children":[]}]},{"title":"Hybrid: Agentless + Agent","slug":"hybrid-agentless-+-agent","depth":2,"children":[]},{"title":"Choosing the Right Approach","slug":"choosing-the-right-approach","depth":2,"children":[]},{"title":"How to Integrate a Third-Party Backup Tool","slug":"how-to-integrate-a-third-party-backup-tool","depth":2,"children":[{"title":"Provision a backup service account","slug":"provision-a-backup-service-account","depth":3,"children":[]},{"title":"Allow OpenStack API access from the backup server","slug":"allow-openstack-api-access-from-the-backup-server","depth":3,"children":[]},{"title":"Configure the vendor's Polystack connector","slug":"configure-the-vendors-polystack-connector","depth":3,"children":[]},{"title":"Define protection policies","slug":"define-protection-policies","depth":3,"children":[]},{"title":"Verify the first backup and restore","slug":"verify-the-first-backup-and-restore","depth":3,"children":[]}]},{"title":"What Polystack Provides for Backup Vendors","slug":"what-polystack-provides-for-backup-vendors","depth":2,"children":[]},{"title":"Related Topics","slug":"related-topics","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"polystacktechnologies-b4a63d39","siteName":"Polystack Documentation","title":"Third-Party Backup Support - Polystack Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-14T21:05:08.547Z","originalFileLocation":"services/storage/third-party-backup.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Use enterprise backup vendors alongside the native Polystack backup — agentless and agent-based options for compliance and application-aware protection.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Polystack Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/polystacktechnologies-b4a63d39/QxFNfboVmRni31ky/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/polystacktechnologies-b4a63d39/QxFNfboVmRni31ky/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/polystacktechnologies-b4a63d39/QxFNfboVmRni31ky/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/polystacktechnologies-b4a63d39/QxFNfboVmRni31ky/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/polystacktechnologies-b4a63d39/QxFNfboVmRni31ky/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/polystacktechnologies-b4a63d39/QxFNfboVmRni31ky/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/polystacktechnologies-b4a63d39/QxFNfboVmRni31ky/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/polystacktechnologies-b4a63d39/QxFNfboVmRni31ky/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/polystacktechnologies-b4a63d39/QxFNfboVmRni31ky/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Third-Party Backup Support - Polystack Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Use enterprise backup vendors alongside the native Polystack backup — agentless and agent-based options for compliance and application-aware protection.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Polystack Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.polystack.tech/services/storage/third-party-backup\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://polystacktechnologies-b4a63d39.mintlify.site/_mintlify/api/og/v2?division=User+Guide\u0026amp;title=Third-Party+Backup+Support\u0026amp;description=Use+enterprise+backup+vendors+alongside+the+native+Polystack+backup+%E2%80%94+agentless+and+agent-based+options+for+compliance+and+application-aware+protection.\u0026amp;theme=7a6d72ca7f4084e1a468f96b\u0026amp;signature=577ddd9b81079cbef12fe67d9849a87cea38c1da0eab9b67e075654bfed761b9\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Third-Party Backup Support - Polystack Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Use enterprise backup vendors alongside the native Polystack backup — agentless and agent-based options for compliance and application-aware protection.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://polystacktechnologies-b4a63d39.mintlify.site/_mintlify/api/og/v2?division=User+Guide\u0026amp;title=Third-Party+Backup+Support\u0026amp;description=Use+enterprise+backup+vendors+alongside+the+native+Polystack+backup+%E2%80%94+agentless+and+agent-based+options+for+compliance+and+application-aware+protection.\u0026amp;theme=7a6d72ca7f4084e1a468f96b\u0026amp;signature=577ddd9b81079cbef12fe67d9849a87cea38c1da0eab9b67e075654bfed761b9\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/polystacktechnologies-b4a63d39/QxFNfboVmRni31ky/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Polystack Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#bf9667\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.polystack.tech/services/storage/third-party-backup\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/services/storage/third-party-backup.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.polystack.tech/#organization\",\"name\":\"Polystack Documentation\",\"url\":\"https://docs.polystack.tech\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/polystacktechnologies-b4a63d39/7MzVcvnTNyuWsbDT/images/PolyStack%20Light.png?fit=max\u0026auto=format\u0026n=7MzVcvnTNyuWsbDT\u0026q=85\u0026s=8c9bd42a5a4bf5df589db9b6a4b8edb0\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.polystack.tech#website\",\"name\":\"Polystack Documentation\",\"url\":\"https://docs.polystack.tech\",\"publisher\":{\"@id\":\"https://docs.polystack.tech/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.polystack.tech/services/storage/third-party-backup#webpage\",\"url\":\"https://docs.polystack.tech/services/storage/third-party-backup\",\"name\":\"Third-Party Backup Support\",\"description\":\"Use enterprise backup vendors alongside the native Polystack backup — agentless and agent-based options for compliance and application-aware protection.\",\"dateModified\":\"2026-05-14T21:05:08.547Z\",\"isPartOf\":{\"@id\":\"https://docs.polystack.tech#website\"},\"breadcrumb\":{\"@id\":\"https://docs.polystack.tech/services/storage/third-party-backup#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.polystack.tech/services/storage/third-party-backup#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Core Services\",\"item\":\"https://docs.polystack.tech/services/compute/availability-zones\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Block Storage\",\"item\":\"https://docs.polystack.tech/services/storage\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"User Guide\",\"item\":\"https://docs.polystack.tech/services/storage/user-guide\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Third-Party Backup Support\",\"item\":\"https://docs.polystack.tech/services/storage/third-party-backup\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.polystack.tech/services/storage/third-party-backup#article\",\"headline\":\"Third-Party Backup Support\",\"name\":\"Third-Party Backup Support\",\"description\":\"Use enterprise backup vendors alongside the native Polystack backup — agentless and agent-based options for compliance and application-aware protection.\",\"url\":\"https://docs.polystack.tech/services/storage/third-party-backup\",\"mainEntityOfPage\":{\"@id\":\"https://docs.polystack.tech/services/storage/third-party-backup#webpage\"},\"dateModified\":\"2026-05-14T21:05:08.547Z\",\"publisher\":{\"@id\":\"https://docs.polystack.tech/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.polystack.tech#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Polystack Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Polystack Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/services/storage/third-party-backup.md","siteName":"Polystack Documentation","nav":{"global":{"anchors":[{"anchor":"Admin Guide","icon":"shield-halved","href":"/admin-guide"},{"anchor":"User Guide","icon":"book-open","href":"/user-guide"}]},"groups":[{"group":"Getting Started","icon":"rocket","root":{"title":"Polystack","sidebarTitle":"Overview","icon":"book-open","mode":"wide","href":"/introduction"},"pages":[{"title":"CLI Setup","icon":"terminal","sidebarTitle":"CLI Setup","href":"/cli-setup"}]},{"group":"API Reference","icon":"code","root":{"title":"OpenStack API Reference","icon":"code","sidebarTitle":"API Reference","mode":"wide","href":"/api-reference/index"},"pages":[{"title":"API Authentication","sidebarTitle":"Authentication","href":"/api-reference/authentication"},{"title":"Compute API Reference","sidebarTitle":"Compute API","href":"/api-reference/compute-api"},{"title":"Storage API Reference","sidebarTitle":"Storage API","href":"/api-reference/storage-api"},{"title":"Networking API Reference","sidebarTitle":"Networking API","href":"/api-reference/networking-api"}]},{"group":"Products","icon":"box","root":{"title":"Polystack Products","icon":"package","sidebarTitle":"Overview","mode":"wide","href":"/products/index"},"pages":[{"title":"Edge Computing","icon":"boxes","sidebarTitle":"Edge Computing","mode":"wide","href":"/products/edge-computing"},{"title":"Ironcore — Advanced Virtualization Suite","icon":"server","sidebarTitle":"Ironcore","mode":"wide","href":"/products/ironcore"},{"title":"VM2Cloud","icon":"cloud","sidebarTitle":"VM2Cloud","mode":"wide","href":"/products/vm2cloud"}]},{"group":"Core Services","icon":"layer-group","pages":[{"group":"Compute","icon":"server","root":{"title":"Polystack Compute","icon":"server","sidebarTitle":"Compute","mode":"wide","href":"/services/compute"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Compute User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/compute/user-guide"},"pages":[{"title":"Availability Zones","sidebarTitle":"Availability Zones","href":"/services/compute/availability-zones"},{"title":"Create an Instance","sidebarTitle":"Create Instance","href":"/services/compute/launch-instance"},{"title":"Cloud-init and Provisioning Scripts","sidebarTitle":"Cloud-init","href":"/services/compute/cloud-init"},{"title":"Security Groups","sidebarTitle":"Security Groups","href":"/services/compute/security-groups"},{"title":"Server Groups","sidebarTitle":"Server Groups","href":"/services/compute/server-groups"},{"title":"Manage IP Addresses","sidebarTitle":"IP Addresses","href":"/services/compute/manage-ips"},{"title":"Resize an Instance","sidebarTitle":"Resize Instance","href":"/services/compute/resize-instance"},{"title":"Live Resize of vCPU and Memory","sidebarTitle":"Live vCPU/Memory Resize","href":"/services/compute/live-resize"},{"title":"Reboot an Instance","sidebarTitle":"Reboot Instance","href":"/services/compute/reboot-instance"},{"title":"Rescue an Instance","sidebarTitle":"Rescue Instance","href":"/services/compute/rescue-instance"},{"title":"Instance Snapshots","sidebarTitle":"Instance Snapshots","href":"/services/compute/snapshots"},{"title":"Instance Rollback","sidebarTitle":"Instance Rollback","href":"/services/compute/instance-rollback"},{"title":"Block Device Mapping","sidebarTitle":"Block Devices","href":"/services/compute/block-device-mapping"},{"title":"Clone an Instance","sidebarTitle":"Clone Instance","href":"/services/compute/clone-instance"},{"title":"VM Templates","sidebarTitle":"VM Templates","href":"/services/compute/vm-templates"},{"title":"Instance Tagging","sidebarTitle":"Instance Tagging","href":"/services/compute/instance-tagging"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Compute Administration Guide","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/compute/admin-guide"},"pages":[{"title":"Compute Service Architecture","sidebarTitle":"Architecture","href":"/services/compute/architecture"},{"title":"Hypervisor Configuration","sidebarTitle":"Hypervisor","href":"/services/compute/hypervisor"},{"title":"Compute Hosts","sidebarTitle":"Compute Hosts","href":"/services/compute/compute-hosts"},{"title":"Flavor Management","sidebarTitle":"Flavors","href":"/services/compute/flavors"},{"title":"Quota Management","sidebarTitle":"Quotas","href":"/services/compute/quotas"},{"title":"Compute Scheduling","sidebarTitle":"Scheduling","href":"/services/compute/scheduling"},{"title":"Live Migration","sidebarTitle":"Live Migration","href":"/services/compute/live-migration"},{"title":"Remote Console Access","sidebarTitle":"Console Access","href":"/services/compute/console-access"},{"title":"Compute Security Hardening","sidebarTitle":"Security","href":"/services/compute/security-hardening"},{"title":"Live vCPU \u0026 RAM Scaling","sidebarTitle":"Live vCPU/RAM Scaling","href":"/services/compute/live-resize-admin"},{"title":"vTPM and Secure Boot","sidebarTitle":"vTPM \u0026 Secure Boot","href":"/services/compute/vtpm-secure-boot"},{"title":"Advanced Compute Features","sidebarTitle":"Advanced","href":"/services/compute/advanced-features"},{"title":"Bare Metal Provisioning","sidebarTitle":"Bare Metal","href":"/services/compute/bare-metal"},{"title":"Compute Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/compute/troubleshooting"}]},{"title":"Compute CLI Reference","sidebarTitle":"CLI Reference","href":"/services/compute/cli-reference"}]},{"group":"Block Storage","icon":"hard-drive","root":{"title":"Block Storage","icon":"hard-drive","sidebarTitle":"Block Storage","mode":"wide","href":"/services/storage/index"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Block Storage User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/storage/user-guide"},"pages":[{"title":"Create a Volume","sidebarTitle":"Create a Volume","href":"/services/storage/create-volume"},{"title":"Attach and Detach Volumes","sidebarTitle":"Attach / Detach","href":"/services/storage/attach-volume"},{"title":"Extend a Volume","sidebarTitle":"Extend a Volume","href":"/services/storage/extend-volume"},{"title":"Volume Snapshots","sidebarTitle":"Snapshots","href":"/services/storage/snapshots"},{"title":"Volume Backups","sidebarTitle":"Backups","href":"/services/storage/backups"},{"title":"File-Level Restore","description":"Recover individual files from a volume or instance snapshot without restoring the whole volume — download the files you need directly.","sidebarTitle":"File-Level Restore","href":"/services/storage/file-level-restore"},{"title":"Third-Party Backup Support","sidebarTitle":"Third-Party Backup","href":"/services/storage/third-party-backup"},{"title":"Volume Transfers Between Projects","description":"Transfer ownership of Polystack Block Storage volumes between projects using a token-based mechanism. No data is copied — ownership changes instantly.","sidebarTitle":"Volume Transfers","href":"/services/storage/volume-transfers"},{"title":"Volume Types and Storage Tiers","sidebarTitle":"Volume Types","href":"/services/storage/volume-types"},{"title":"Block Storage Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/storage/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Block Storage Administration","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/storage/admin-guide"},"pages":[{"title":"Block Storage Service Architecture","sidebarTitle":"Architecture","href":"/services/storage/architecture"},{"title":"Storage Backend Configuration","sidebarTitle":"Storage Backends","href":"/services/storage/storage-backends"},{"title":"External Storage Integration","sidebarTitle":"External Storage","href":"/services/storage/external-storage"},{"title":"Thin and Thick Provisioning","sidebarTitle":"Provisioning","href":"/services/storage/thin-provisioning"},{"title":"Backup Backends","sidebarTitle":"Backup Backends","href":"/services/storage/backup-backends"},{"title":"Storage Quality of Service","sidebarTitle":"QoS","href":"/services/storage/qos"},{"title":"Volume Types and QoS (Admin)","sidebarTitle":"Volume Types \u0026 QoS","href":"/services/storage/volume-types-admin"},{"title":"Storage Tiers","sidebarTitle":"Storage Tiers","href":"/services/storage/storage-tiers"},{"title":"Quota Management","sidebarTitle":"Quota Management","href":"/services/storage/quotas"},{"title":"Volume Migration","sidebarTitle":"Volume Migration","href":"/services/storage/migration"},{"title":"Backup Configuration","sidebarTitle":"Backup Configuration","href":"/services/storage/backup-config"},{"title":"Volume Encryption","sidebarTitle":"Volume Encryption","href":"/services/storage/encryption"},{"title":"Block Storage Security Hardening","sidebarTitle":"Security Hardening","href":"/services/storage/security"},{"title":"Block Storage Troubleshooting (Admin)","sidebarTitle":"Troubleshooting","href":"/services/storage/admin-troubleshooting"}]},{"title":"Block Storage CLI Reference","sidebarTitle":"CLI Reference","href":"/services/storage/cli-reference"}]},{"group":"Networking","icon":"network-wired","root":{"title":"Networking","icon":"network","sidebarTitle":"Networking","mode":"wide","href":"/services/networking/index"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Networking User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/networking/user-guide"},"pages":[{"title":"Create a Network","sidebarTitle":"Create a Network","href":"/services/networking/create-network"},{"title":"Create and Manage Subnets","sidebarTitle":"Subnets","href":"/services/networking/subnets"},{"title":"Routers and Gateways","sidebarTitle":"Routers","href":"/services/networking/routers"},{"title":"Floating IP Addresses","sidebarTitle":"Floating IPs","href":"/services/networking/floating-ips"},{"title":"Network Security Groups","sidebarTitle":"Security Groups","href":"/services/networking/security-groups"},{"title":"DNS Configuration","sidebarTitle":"DNS Configuration","href":"/services/networking/dns-config"},{"title":"Network Topologies","sidebarTitle":"Network Topologies","href":"/services/networking/network-topology"},{"title":"VPN as a Service","sidebarTitle":"VPN (VPNaaS)","href":"/services/networking/vpn"},{"title":"Networking Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/networking/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Networking Administration","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/networking/admin-guide"},"pages":[{"title":"Networking Service Architecture","sidebarTitle":"Service Architecture","href":"/services/networking/architecture"},{"title":"Provider Networks","sidebarTitle":"Provider Networks","href":"/services/networking/provider-networks"},{"title":"Network Agent Management","sidebarTitle":"Network Agents","href":"/services/networking/network-agents"},{"title":"DHCP Configuration","sidebarTitle":"DHCP Configuration","href":"/services/networking/dhcp"},{"title":"L3 Router Configuration","sidebarTitle":"L3 Routing","href":"/services/networking/l3-routing"},{"title":"IP Address Management (IPAM)","sidebarTitle":"IPAM","href":"/services/networking/ipam"},{"title":"Network Quality of Service","sidebarTitle":"Quality of Service","href":"/services/networking/qos"},{"title":"Network Quotas","sidebarTitle":"Network Quotas","href":"/services/networking/quotas"},{"title":"Network Security Hardening","sidebarTitle":"Security Hardening","href":"/services/networking/security"},{"title":"Networking Admin Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/networking/admin-troubleshooting"}]},{"title":"Networking CLI Reference","sidebarTitle":"CLI Reference","href":"/services/networking/cli-reference"}]},{"group":"Images","icon":"compact-disc","root":{"title":"Image Service","icon":"disc","sidebarTitle":"Images","mode":"wide","href":"/services/images/index"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Image Service User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/images/user-guide"},"pages":[{"title":"Upload an Image","sidebarTitle":"Upload Image","href":"/services/images/upload-image"},{"title":"Create Instance Snapshots","sidebarTitle":"Create Snapshot","href":"/services/images/create-snapshot"},{"title":"Share Images","sidebarTitle":"Share Images","href":"/services/images/share-images"},{"title":"Image Properties","sidebarTitle":"Image Properties","href":"/services/images/image-properties"},{"title":"Image Formats","sidebarTitle":"Image Formats","href":"/services/images/image-formats"},{"title":"Image Service Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/images/troubleshooting"},{"title":"Get Cloud Images","sidebarTitle":"Get Images","href":"/services/images/get-images"},{"title":"Image Requirements","sidebarTitle":"Requirements","href":"/services/images/image-requirements"},{"title":"Modify Images","sidebarTitle":"Modify Images","href":"/services/images/modify-images"},{"title":"Convert Image Formats","sidebarTitle":"Convert Formats","href":"/services/images/convert-formats"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Image Service Administration","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/images/admin-guide"},"pages":[{"title":"Image Service Architecture","sidebarTitle":"Architecture","href":"/services/images/architecture"},{"title":"Image Storage Backends","sidebarTitle":"Storage Backends","href":"/services/images/storage-backends"},{"title":"Image Templates and Catalogs","sidebarTitle":"Templates \u0026 Catalogs","href":"/services/images/image-templates"},{"title":"Image Import API","sidebarTitle":"Image Import","href":"/services/images/image-import"},{"title":"Metadata Definitions","sidebarTitle":"Metadata","href":"/services/images/metadata"},{"title":"Image Cache","sidebarTitle":"Image Cache","href":"/services/images/image-cache"},{"title":"Image Service Quotas","sidebarTitle":"Quotas","href":"/services/images/quotas"},{"title":"Image Service Security","sidebarTitle":"Security","href":"/services/images/image-security"},{"title":"Image Service Admin Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/images/admin-troubleshooting"}]},{"title":"Image Service CLI Reference","sidebarTitle":"CLI Reference","href":"/services/images/cli-reference"}]},{"group":"Orchestration","icon":"diagram-project","root":{"title":"Orchestration","icon":"workflow","sidebarTitle":"Orchestration","mode":"wide","href":"/services/orchestration/index"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Orchestration User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/orchestration/user-guide"},"pages":[{"title":"Create Your First Stack","sidebarTitle":"Getting Started","href":"/services/orchestration/getting-started"},{"title":"Orchestration Template Guide","sidebarTitle":"Templates","href":"/services/orchestration/template-guide"},{"title":"Resource Types","sidebarTitle":"Resources","href":"/services/orchestration/resources"},{"title":"Manage Stacks","sidebarTitle":"Stacks","href":"/services/orchestration/stacks"},{"title":"Auto-Scaling with Heat Orchestration","sidebarTitle":"Auto-Scaling","href":"/services/orchestration/autoscaling"},{"title":"Orchestration Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/orchestration/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Orchestration Administration","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/orchestration/admin-guide"},"pages":[{"title":"Orchestration Service Architecture","sidebarTitle":"Architecture","href":"/services/orchestration/architecture"},{"title":"Orchestration Configuration","sidebarTitle":"Configuration","href":"/services/orchestration/configuration"},{"title":"Scaling the Orchestration Service","sidebarTitle":"Scaling the Service","href":"/services/orchestration/scaling"},{"title":"Orchestration Security","sidebarTitle":"Security","href":"/services/orchestration/security"},{"title":"Orchestration Admin Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/orchestration/admin-troubleshooting"}]},{"title":"Orchestration CLI Reference","sidebarTitle":"CLI Reference","href":"/services/orchestration/cli-reference"}]},{"group":"Dashboard","icon":"gauge","root":{"title":"Polystack Dashboard","icon":"gauge","sidebarTitle":"Dashboard","mode":"wide","href":"/services/dashboard/index"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Dashboard User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/dashboard/user-guide"},"pages":[{"title":"User Center","sidebarTitle":"User Center","href":"/services/dashboard/user-guide/user-center"},{"title":"Global Search","sidebarTitle":"Global Search","href":"/services/dashboard/user-guide/global-search"},{"title":"Manage Instances","sidebarTitle":"Instances","href":"/services/dashboard/user-guide/instances"},{"title":"Manage Volumes","sidebarTitle":"Volumes","href":"/services/dashboard/user-guide/volumes"},{"title":"Manage Networks","sidebarTitle":"Networks","href":"/services/dashboard/user-guide/networks"},{"title":"Manage Images","sidebarTitle":"Images","href":"/services/dashboard/user-guide/images"},{"title":"Object Storage","sidebarTitle":"Object Storage","href":"/services/dashboard/user-guide/object-containers"},{"title":"Access \u0026 Security","sidebarTitle":"Access \u0026 Security","href":"/services/dashboard/user-guide/access-security"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Dashboard Admin Guide","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/dashboard/admin-guide"},"pages":[{"title":"Session Management","sidebarTitle":"Session Management","href":"/services/dashboard/admin-guide/session-storage"},{"title":"Manage Projects \u0026 Users","sidebarTitle":"Projects \u0026 Users","href":"/services/dashboard/admin-guide/projects-users"},{"title":"Manage Images (Admin)","sidebarTitle":"Images (Admin)","href":"/services/dashboard/admin-guide/images"},{"title":"Manage Flavors","sidebarTitle":"Flavors","href":"/services/dashboard/admin-guide/flavors"},{"title":"Manage Volumes (Admin)","sidebarTitle":"Volumes (Admin)","href":"/services/dashboard/admin-guide/volumes"},{"title":"Manage Quotas","sidebarTitle":"Quotas","href":"/services/dashboard/admin-guide/quotas"},{"title":"Host Aggregates","sidebarTitle":"Host Aggregates","href":"/services/dashboard/admin-guide/host-aggregates"}]}]},{"group":"Identity \u0026 Access","icon":"fingerprint","root":{"title":"Identity \u0026 Access","icon":"fingerprint","sidebarTitle":"Identity \u0026 Access","mode":"wide","href":"/services/identity/index"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Identity User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/identity/user-guide"},"pages":[{"title":"Manage Projects","sidebarTitle":"Projects","href":"/services/identity/projects"},{"title":"Manage Users","sidebarTitle":"Users","href":"/services/identity/users"},{"title":"Roles \u0026 Role Assignments","sidebarTitle":"Roles","href":"/services/identity/roles"},{"title":"Application Credentials","sidebarTitle":"Application Credentials","href":"/services/identity/application-credentials"},{"title":"Multi-Factor Authentication","sidebarTitle":"Multi-Factor Auth","href":"/services/identity/multi-factor-auth"},{"title":"Identity Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/identity/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Identity Administration","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/identity/admin-guide"},"pages":[{"title":"Identity Service Architecture","sidebarTitle":"Architecture","href":"/services/identity/architecture"},{"title":"Authentication Backends","sidebarTitle":"Auth Backends","href":"/services/identity/auth-backends"},{"title":"Domain Management","sidebarTitle":"Domain Management","href":"/services/identity/domain-management"},{"title":"Token Configuration","sidebarTitle":"Token Config","href":"/services/identity/token-config"},{"title":"Service Catalog","sidebarTitle":"Service Catalog","href":"/services/identity/service-catalog"},{"title":"Identity Federation","sidebarTitle":"Federation","href":"/services/identity/federation"},{"title":"Policy Management","sidebarTitle":"Policy Management","href":"/services/identity/policy-management"},{"title":"Extended RBAC","sidebarTitle":"Extended RBAC","href":"/services/identity/extended-rbac"},{"title":"Identity Security Hardening","sidebarTitle":"Security","href":"/services/identity/security"},{"title":"Identity Admin Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/identity/admin-troubleshooting"}]},{"title":"Identity \u0026 Access CLI Reference","sidebarTitle":"CLI Reference","href":"/services/identity/cli-reference"}]}]},{"group":"Other Services","icon":"table-cells-large","pages":[{"group":"Load Balancer","icon":"object-group","root":{"title":"Load Balancer","icon":"combine","sidebarTitle":"Load Balancer","mode":"wide","href":"/services/load-balancer"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Load Balancer User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/load-balancer/user-guide"},"pages":[{"title":"Create a Load Balancer","sidebarTitle":"Create Load Balancer","href":"/services/load-balancer/create-lb"},{"title":"Load Balancer Listeners","sidebarTitle":"Listeners","href":"/services/load-balancer/listeners"},{"title":"Load Balancer Pools","sidebarTitle":"Pools","href":"/services/load-balancer/pools"},{"title":"Health Monitors","sidebarTitle":"Health Monitors","href":"/services/load-balancer/health-monitors"},{"title":"Floating IP Assignment","sidebarTitle":"Floating IP","href":"/services/load-balancer/floating-ip"},{"title":"Load Balancer Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/load-balancer/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Load Balancer Admin Guide","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/load-balancer/admin-guide"},"pages":[{"title":"Load Balancer Architecture","sidebarTitle":"Architecture","href":"/services/load-balancer/lb-architecture"},{"title":"Load Balancer Provider Drivers","sidebarTitle":"Provider Drivers","href":"/services/load-balancer/provider-drivers"},{"title":"Load Balancer Flavor Profiles","sidebarTitle":"Flavor Profiles","href":"/services/load-balancer/flavor-profiles"},{"title":"Load Balancer Quotas","sidebarTitle":"Quotas","href":"/services/load-balancer/lb-quotas"},{"title":"Load Balancer Monitoring","sidebarTitle":"Monitoring","href":"/services/load-balancer/lb-monitoring"},{"title":"Load Balancer Security","sidebarTitle":"Security","href":"/services/load-balancer/lb-security"},{"title":"Load Balancer Admin Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/load-balancer/lb-troubleshooting"}]},{"title":"Load Balancer CLI Reference","sidebarTitle":"CLI Reference","href":"/services/load-balancer/cli-reference"}]},{"group":"DNS","icon":"globe","root":{"title":"DNS Service","icon":"globe","sidebarTitle":"DNS","mode":"wide","href":"/services/dns"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"DNS User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/dns/user-guide"},"pages":[{"title":"Create a DNS Zone","sidebarTitle":"Create a Zone","href":"/services/dns/create-zone"},{"title":"Manage DNS Record Sets","sidebarTitle":"Manage Records","href":"/services/dns/manage-records"},{"title":"DNS Record Types Reference","sidebarTitle":"Record Types","href":"/services/dns/record-types"},{"title":"Reverse DNS Configuration","sidebarTitle":"Reverse DNS","href":"/services/dns/reverse-dns"},{"title":"DNS Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/dns/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"DNS Admin Guide","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/dns/admin-guide"},"pages":[{"title":"DNS Service Architecture","sidebarTitle":"Architecture","href":"/services/dns/architecture"},{"title":"DNS Backend Configuration","sidebarTitle":"Backend Configuration","href":"/services/dns/backend-config"},{"title":"External DNS Providers","sidebarTitle":"External Providers","href":"/services/dns/external-providers"},{"title":"DNS Zone Transfers","sidebarTitle":"Zone Transfers","href":"/services/dns/zone-transfers"},{"title":"DNS Pool Management","sidebarTitle":"Pool Management","href":"/services/dns/pool-management"},{"title":"DNS Quotas","sidebarTitle":"Quotas","href":"/services/dns/quotas"},{"title":"DNS Security","sidebarTitle":"Security","href":"/services/dns/security"},{"title":"DNS Admin Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/dns/admin-troubleshooting"}]},{"title":"DNS CLI Reference","sidebarTitle":"CLI Reference","href":"/services/dns/cli-reference"}]},{"group":"Key Manager","icon":"lock","root":{"title":"Key Manager","icon":"lock","sidebarTitle":"Key Manager","mode":"wide","href":"/services/key-manager"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Key Manager User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/key-manager/user-guide"},"pages":[{"title":"Store Secrets","sidebarTitle":"Store Secrets","href":"/services/key-manager/store-secrets"},{"title":"Secret Containers","sidebarTitle":"Containers","href":"/services/key-manager/containers"},{"title":"Certificate Management","sidebarTitle":"Certificates","href":"/services/key-manager/certificates"},{"title":"Secret Access Control (ACL)","sidebarTitle":"ACL","href":"/services/key-manager/acl"},{"title":"Key Manager Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/key-manager/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Key Manager Admin Guide","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/key-manager/admin-guide"},"pages":[{"title":"Key Manager Architecture","sidebarTitle":"Architecture","href":"/services/key-manager/architecture"},{"title":"Key Manager Backend Configuration","sidebarTitle":"Backend Configuration","href":"/services/key-manager/backend-config"},{"title":"Secret Store Management","sidebarTitle":"Secret Stores","href":"/services/key-manager/secret-stores"},{"title":"Transport Keys","sidebarTitle":"Transport Keys","href":"/services/key-manager/transport-keys"},{"title":"Key Manager Quotas","sidebarTitle":"Quotas","href":"/services/key-manager/quotas"},{"title":"Key Manager Security","sidebarTitle":"Security","href":"/services/key-manager/security"},{"title":"Key Manager Admin Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/key-manager/admin-troubleshooting"}]},{"title":"Key Manager CLI Reference","sidebarTitle":"CLI Reference","href":"/services/key-manager/cli-reference"}]},{"group":"Object Storage","icon":"box","root":{"title":"Object Storage","icon":"box","sidebarTitle":"Object Storage","mode":"wide","href":"/services/object-storage"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Object Storage User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/object-storage/user-guide"},"pages":[{"title":"Create an Object Storage Container","sidebarTitle":"Create a Container","href":"/services/object-storage/create-container"},{"title":"Upload and Manage Objects","sidebarTitle":"Upload Objects","href":"/services/object-storage/upload-objects"},{"title":"Object Storage Access Control","sidebarTitle":"Access Control","href":"/services/object-storage/access-control"},{"title":"Object Versioning","sidebarTitle":"Versioning","href":"/services/object-storage/versioning"},{"title":"Large Object Uploads","sidebarTitle":"Large Objects","href":"/services/object-storage/large-objects"},{"title":"Temporary URLs","sidebarTitle":"Temporary URLs","href":"/services/object-storage/temp-urls"},{"title":"Object Storage Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/object-storage/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Object Storage Admin Guide","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/object-storage/admin-guide"},"pages":[{"title":"Object Storage Architecture","sidebarTitle":"Architecture","href":"/services/object-storage/architecture"},{"title":"Object Storage Policies","sidebarTitle":"Storage Policies","href":"/services/object-storage/storage-policies"},{"title":"Ring Management","sidebarTitle":"Ring Management","href":"/services/object-storage/ring-management"},{"title":"Object Storage Replication","sidebarTitle":"Replication","href":"/services/object-storage/replication"},{"title":"Object Storage Quotas","sidebarTitle":"Quotas","href":"/services/object-storage/quotas"},{"title":"Object Storage Security","sidebarTitle":"Security","href":"/services/object-storage/security"},{"title":"Object Storage Monitoring","sidebarTitle":"Monitoring","href":"/services/object-storage/monitoring"},{"title":"Object Storage Admin Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/object-storage/admin-troubleshooting"}]},{"title":"Object Storage CLI Reference","sidebarTitle":"CLI Reference","href":"/services/object-storage/cli-reference"}]},{"group":"Monitoring","icon":"chart-line","root":{"title":"Infrastructure Monitoring","icon":"activity","sidebarTitle":"Monitoring","mode":"wide","href":"/services/monitoring/index"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Dashboards","sidebarTitle":"Dashboards","href":"/services/monitoring/user-guide/dashboards"},"pages":[{"title":"Metrics \u0026 Alerts","sidebarTitle":"Metrics \u0026 Alerts","href":"/services/monitoring/user-guide/metrics-alerts"},{"title":"Log Analytics","sidebarTitle":"Log Analytics","href":"/services/monitoring/user-guide/log-analytics"},{"title":"Activity Log","sidebarTitle":"Activity Log","href":"/services/monitoring/user-guide/activity-log"},{"title":"Network Monitoring","sidebarTitle":"Network Monitoring","href":"/services/monitoring/user-guide/network-monitoring"},{"title":"Alert Rules","sidebarTitle":"Alert Rules","href":"/services/monitoring/user-guide/alert-rules"},{"title":"Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/monitoring/user-guide/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Monitoring Architecture","sidebarTitle":"Architecture","href":"/services/monitoring/admin-guide/architecture"},"pages":[{"title":"Agent Configuration","sidebarTitle":"Agent Configuration","href":"/services/monitoring/admin-guide/agent-config"},{"title":"Metric Endpoints","sidebarTitle":"Metric Endpoints","href":"/services/monitoring/admin-guide/metric-endpoints"},{"title":"Log Collection","sidebarTitle":"Log Collection","href":"/services/monitoring/admin-guide/log-collection"},{"title":"Alert Channels","sidebarTitle":"Alert Channels","href":"/services/monitoring/admin-guide/alert-channels"},{"title":"DDoS Protection","sidebarTitle":"DDoS Protection","href":"/services/monitoring/admin-guide/ddos-protection"},{"title":"Retention Policies","sidebarTitle":"Retention","href":"/services/monitoring/admin-guide/retention"},{"title":"Security","sidebarTitle":"Security","href":"/services/monitoring/admin-guide/security"},{"title":"Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/monitoring/admin-guide/troubleshooting"}]}]},{"group":"Instance HA","icon":"heart-pulse","root":{"title":"Instance High Availability","icon":"heart-pulse","sidebarTitle":"Instance HA","mode":"wide","href":"/services/instance-ha/index"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"How Instance HA Works","sidebarTitle":"How It Works","href":"/services/instance-ha/user-guide/how-it-works"},"pages":[{"title":"Protection Segments","sidebarTitle":"Protection Segments","href":"/services/instance-ha/user-guide/protection-segments"},{"title":"Recovery Workflows","sidebarTitle":"Recovery Workflows","href":"/services/instance-ha/user-guide/recovery-workflows"},{"title":"Monitoring Recovery Status","sidebarTitle":"Monitoring Status","href":"/services/instance-ha/user-guide/monitoring-status"},{"title":"VM Moves","sidebarTitle":"VM Moves","href":"/services/instance-ha/user-guide/vm-moves"},{"title":"Instance HA Troubleshooting — User Guide","sidebarTitle":"Troubleshooting","href":"/services/instance-ha/user-guide/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Instance HA Architecture","sidebarTitle":"Architecture","href":"/services/instance-ha/admin-guide/architecture"},"pages":[{"title":"Failover Segments","sidebarTitle":"Failover Segments","href":"/services/instance-ha/admin-guide/failover-segments"},{"title":"Host Monitors","sidebarTitle":"Host Monitors","href":"/services/instance-ha/admin-guide/host-monitors"},{"title":"Instance Monitors","sidebarTitle":"Instance Monitors","href":"/services/instance-ha/admin-guide/instance-monitors"},{"title":"Notification Drivers","sidebarTitle":"Notification Drivers","href":"/services/instance-ha/admin-guide/notification-drivers"},{"title":"Recovery Methods","sidebarTitle":"Recovery Methods","href":"/services/instance-ha/admin-guide/recovery-methods"},{"title":"Engine Configuration","sidebarTitle":"Engine Configuration","href":"/services/instance-ha/admin-guide/engine-config"},{"title":"Instance HA Security","sidebarTitle":"Security","href":"/services/instance-ha/admin-guide/security"},{"title":"Instance HA Admin Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/instance-ha/admin-guide/troubleshooting"}]},{"title":"Instance HA CLI Reference","sidebarTitle":"CLI Reference","href":"/services/instance-ha/cli-reference"}]},{"group":"Kubernetes (K8SaaS)","icon":"boxes-stacked","root":{"title":"Kubernetes as a Service","icon":"container","sidebarTitle":"Kubernetes (K8SaaS)","mode":"wide","href":"/services/kubernetes/index"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Cluster Templates","sidebarTitle":"Cluster Templates","href":"/services/kubernetes/user-guide/cluster-templates"},"pages":[{"title":"Deploy a Kubernetes Cluster","sidebarTitle":"Deploy Cluster","href":"/services/kubernetes/user-guide/deploy-cluster"},{"title":"Scale a Kubernetes Cluster","sidebarTitle":"Scale Cluster","href":"/services/kubernetes/user-guide/scale-cluster"},{"title":"Access Your Kubernetes Cluster","sidebarTitle":"Access Cluster","href":"/services/kubernetes/user-guide/access-cluster"},{"title":"Node Groups","sidebarTitle":"Node Groups","href":"/services/kubernetes/user-guide/node-groups"},{"title":"Cluster Upgrades","sidebarTitle":"Cluster Upgrades","href":"/services/kubernetes/user-guide/cluster-upgrades"},{"title":"Kubernetes Troubleshooting — User Guide","sidebarTitle":"Troubleshooting","href":"/services/kubernetes/user-guide/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Kubernetes (K8SaaS) Architecture","sidebarTitle":"Architecture","href":"/services/kubernetes/admin-guide/architecture"},"pages":[{"title":"Cluster Drivers","sidebarTitle":"Cluster Drivers","href":"/services/kubernetes/admin-guide/cluster-drivers"},{"title":"Template Management","sidebarTitle":"Template Management","href":"/services/kubernetes/admin-guide/template-management"},{"title":"Kubernetes Quotas","sidebarTitle":"Quotas","href":"/services/kubernetes/admin-guide/quotas"},{"title":"Certificate Management","sidebarTitle":"Certificates","href":"/services/kubernetes/admin-guide/certificates"},{"title":"Container Runtime","sidebarTitle":"Container Runtime","href":"/services/kubernetes/admin-guide/container-runtime"},{"title":"Network Drivers","sidebarTitle":"Network Drivers","href":"/services/kubernetes/admin-guide/network-drivers"},{"title":"Monitoring Clusters","sidebarTitle":"Monitoring","href":"/services/kubernetes/admin-guide/monitoring"},{"title":"Kubernetes Security","sidebarTitle":"Security","href":"/services/kubernetes/admin-guide/security"},{"title":"Kubernetes Admin Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/kubernetes/admin-guide/troubleshooting"}]},{"title":"Kubernetes (K8SaaS) CLI Reference","sidebarTitle":"CLI Reference","href":"/services/kubernetes/cli-reference"}]},{"group":"Resource Optimizer","icon":"arrow-trend-up","root":{"title":"Cluster Optimization","icon":"trending-up","sidebarTitle":"Optimization","mode":"wide","href":"/services/optimization/index"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Optimization Goals","sidebarTitle":"Optimization Goals","href":"/services/optimization/user-guide/optimization-goals"},"pages":[{"title":"Run an Optimization Audit","sidebarTitle":"Run an Audit","href":"/services/optimization/user-guide/run-audit"},{"title":"Action Plans","sidebarTitle":"Action Plans","href":"/services/optimization/user-guide/action-plans"},{"title":"Execute Actions","sidebarTitle":"Execute Actions","href":"/services/optimization/user-guide/execute-actions"},{"title":"Audit History","sidebarTitle":"Audit History","href":"/services/optimization/user-guide/audit-history"},{"title":"Optimization Troubleshooting — User Guide","sidebarTitle":"Troubleshooting","href":"/services/optimization/user-guide/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-halved","root":{"title":"Optimization Architecture","sidebarTitle":"Architecture","href":"/services/optimization/admin-guide/architecture"},"pages":[{"title":"Strategy Configuration","sidebarTitle":"Strategy Configuration","href":"/services/optimization/admin-guide/strategy-config"},{"title":"Data Sources","sidebarTitle":"Data Sources","href":"/services/optimization/admin-guide/data-sources"},{"title":"Custom Strategies","sidebarTitle":"Custom Strategies","href":"/services/optimization/admin-guide/custom-strategies"},{"title":"Scheduling Audits","sidebarTitle":"Scheduling","href":"/services/optimization/admin-guide/scheduling"},{"title":"Action Plan Policies","sidebarTitle":"Action Policies","href":"/services/optimization/admin-guide/action-policies"},{"title":"Compute Integration","sidebarTitle":"Compute Integration","href":"/services/optimization/admin-guide/compute-integration"},{"title":"Security","sidebarTitle":"Security","href":"/services/optimization/admin-guide/security"},{"title":"Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/optimization/admin-guide/troubleshooting"}]},{"title":"Optimization CLI Reference","sidebarTitle":"CLI Reference","href":"/services/optimization/cli-reference"}]},{"group":"Ironcore Backup Solution","icon":"shield-check","root":{"title":"Ironcore Backup Solution","icon":"shield-check","sidebarTitle":"Ironcore Backup Solution","mode":"wide","href":"/services/ironcore-backup/index"},"pages":[{"group":"User Guide","icon":"book-open","root":{"title":"Ironcore Backup Solution User Guide","sidebarTitle":"User Guide","mode":"wide","href":"/services/ironcore-backup/user-guide"},"pages":[{"title":"How Ironcore Backup Works","sidebarTitle":"How It Works","href":"/services/ironcore-backup/user-guide/how-it-works"},{"title":"Create a Backup","sidebarTitle":"Create a Backup","href":"/services/ironcore-backup/user-guide/create-backup"},{"title":"Schedule Backup Jobs","sidebarTitle":"Backup Jobs","href":"/services/ironcore-backup/user-guide/backup-jobs"},{"title":"Restore Options","sidebarTitle":"Restore Options","href":"/services/ironcore-backup/user-guide/restore-options"},{"title":"Monitoring Backup Jobs","sidebarTitle":"Monitoring Jobs","href":"/services/ironcore-backup/user-guide/monitoring-jobs"},{"title":"Backup Solution Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/ironcore-backup/user-guide/troubleshooting"}]},{"group":"Admin Guide","icon":"shield-check","root":{"title":"Ironcore Backup Solution Admin Guide","sidebarTitle":"Admin Guide","mode":"wide","href":"/services/ironcore-backup/admin-guide"},"pages":[{"title":"Ironcore Backup Architecture","sidebarTitle":"Architecture","href":"/services/ironcore-backup/admin-guide/architecture"},{"title":"Backup Datastores","sidebarTitle":"Datastores","href":"/services/ironcore-backup/admin-guide/datastores"},{"title":"Retention Policies","sidebarTitle":"Retention Policies","href":"/services/ironcore-backup/admin-guide/retention-policies"},{"title":"Replication and Sync","sidebarTitle":"Replication and Sync","href":"/services/ironcore-backup/admin-guide/replication-sync"},{"title":"Tape and Object Storage","sidebarTitle":"Tape and Object Storage","href":"/services/ironcore-backup/admin-guide/tape-and-object"},{"title":"Access Control","sidebarTitle":"Access Control","href":"/services/ironcore-backup/admin-guide/access-control"},{"title":"Security and Encryption","sidebarTitle":"Security and Encryption","href":"/services/ironcore-backup/admin-guide/security-encryption"},{"title":"Verification and Validation","sidebarTitle":"Verification and Validation","href":"/services/ironcore-backup/admin-guide/verification-validation"},{"title":"Notifications","sidebarTitle":"Notifications","href":"/services/ironcore-backup/admin-guide/notifications"},{"title":"Infrastructure Sizing","sidebarTitle":"Infrastructure Sizing","href":"/services/ironcore-backup/admin-guide/infrastructure-sizing"},{"title":"Backup Solution Admin Troubleshooting","sidebarTitle":"Troubleshooting","href":"/services/ironcore-backup/admin-guide/troubleshooting"}]},{"title":"Ironcore Backup CLI Reference","sidebarTitle":"CLI Reference","mode":"wide","href":"/services/ironcore-backup/cli-reference"}]},{"group":"On-Prem AI Infrastructure Platform","icon":"brain","root":{"title":"On-Prem AI Infrastructure Platform","icon":"brain","sidebarTitle":"On-Prem AI Infrastructure Platform","mode":"wide","href":"/services/ai-platform/index"},"pages":[{"title":"GPU-Capable VMs and Containers","icon":"server","sidebarTitle":"GPU VMs and Containers","href":"/services/ai-platform/gpu-vms-and-containers"},{"title":"Operator Framework","icon":"puzzle-piece","sidebarTitle":"Operator Framework","href":"/services/ai-platform/operator-framework"},{"title":"Runtime Vulnerability Scanning","icon":"shield-halved","sidebarTitle":"Runtime Vulnerability Scanning","href":"/services/ai-platform/vulnerability-scanning"},{"title":"MLOps Platform","icon":"diagram-project","sidebarTitle":"MLOps Platform","href":"/services/ai-platform/mlops"},{"title":"GPU and HPU Performance Optimization","icon":"gauge-high","sidebarTitle":"GPU and HPU Performance","href":"/services/ai-platform/performance-optimization"},{"title":"Multi-Vendor Accelerator Support","icon":"microchip","sidebarTitle":"Multi-Vendor Accelerators","href":"/services/ai-platform/multi-vendor-accelerators"},{"title":"Unified Console","icon":"window-maximize","sidebarTitle":"Unified Console","href":"/services/ai-platform/unified-console"}]}]}]},"basePath":"","title":"Third-Party Backup Support - Polystack Documentation","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":[],"chunks":[]}