Skip to content

blog: Veeam with RustFS — S3 backup and restore validation - #163

Merged
majinghe merged 2 commits into
rustfs:mainfrom
majinghe:blog/veeam-rustfs-integration
Oct 31, 2026
Merged

majinghe merged 2 commits into
rustfs:mainfrom
majinghe:blog/veeam-rustfs-integration

Conversation

@majinghe

@majinghe majinghe commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Add “Veeam with RustFS: S3 Backup and Restore Validation” at /blog/veeam-backup-replication-with-rustfs/, documenting the author's Windows Agent backup and file-recovery experiment with VBR 13.1.2.57 and RustFS 1.0.1.

The post covers repository setup, the enterprise-license gate, Agent enrollment, measured job results, file recovery, and SOSAPI capacity-reporting status. The correction keeps the experiment's useful evidence without presenting it as Veeam Ready certification, a throughput benchmark, automatic immutability, or universal workload compatibility.

  • Link official Veeam downloads and the 30-day Data Platform trial; distinguish production licensing from a POC.
  • Explain Direct versus gateway access and the unrecorded Agent Security selection, TLS trust, conditional UAC remote-filtering remediation, and governance-bypass privileges.
  • Separate processed, read, transferred, repository usage, and CLI object-listing totals; label processing rate as a Veeam job metric.
  • Match the restore screenshot's one-second elapsed time and limit the result to the selected file.
  • Date the SOSAPI status: feat(s3): serve Veeam SOSAPI system and capacity XML rustfs#9007 merged into main after release 1.0.4; this test did not verify the new reporting display.
  • Add contextual links to Data Management, Security & Compliance, High Availability & Scalability, and Replication. The replication paragraph explicitly does not claim tested repository replication, destination recovery, or failover.
  • Keep the detailed procedure linked to docs: add Veeam backup repository integration guide docs.rustfs.com#190.
  • Shorten the title and search description, use a 1200×630 PNG sharing image, and replace four oversized PNG screenshots with readable WebP files.

Scope is limited to the article and its images. No blog renderer, product pages, dependencies, layout, or styling are changed. The slug is unchanged. Rollback is a revert of the correction commit; no data or runtime configuration migration is involved.

Validation

  • pnpm run lint — passed.
  • pnpm exec tsc --noEmit — passed.
  • pnpm run build — passed; 79 static pages generated and sitemap validation passed with 57 URLs.
  • git diff --check and git diff --cached --check — passed.
  • Source assertions — passed: MDX compilation, unchanged slug, title ≤60 characters, description ≤160 characters, official download/trial links, all four product routes, removal of unsupported claims, meaningful alt text, and screenshots ≤300 KiB each.
  • Exported HTML assertions — passed: one H1, canonical URL, article OG metadata, PNG Twitter image, BlogPosting JSON-LD, four product links with generated destinations, five image files, and the blog sitemap entry.
  • Browser checks of the static export — passed at 390 and 1440 pixels in light and dark modes: no document overflow and all five article images loaded. Desktop header inspected visually.
  • Four compressed screenshots and the generated cover — inspected visually. Screenshots total 230,404 bytes versus 2,036,779 bytes for the originals; the sharing PNG is 82,052 bytes.

The first build attempt rejected a shared external node_modules symlink. Locked dependencies were then restored inside the isolated checkout with CI=true pnpm install --frozen-lockfile, and the required pnpm checks passed without manifest or lockfile changes.

Two sequential adversarial passes were completed:

  • Technical correctness / operational boundaries: metrics and screenshot evidence challenged against automatic immutability, least-privilege, UAC, gateway-free data paths, all-API compatibility, all-restore claims, and release promises. Supported findings were corrected; no remaining blocking finding.
  • Editorial / SEO / simplicity: metadata, sharing-image format, internal-link destinations, recovery qualifications, image sizes and readability, generated output, and scope were checked. No renderer or unrelated product changes were needed; no remaining blocking finding.

The original Windows/S3 experiment was not rerun during this documentation correction. Backup numbers and the original-file comparison remain attributed to the author's lab report, not newly measured results.

Screenshots

The existing SVG design source is retained with corrected lab wording. The frontmatter uses its PNG export for social sharing. Four real validation screenshots are preserved as WebP: repository wizard (immutability unchecked), repository list (S3-compatible, Direct, 64 GB Used Space), backup success, and one-file restore completion.

Document the end-to-end validation of RustFS as a Veeam backup
repository: repository registration over HTTPS, agent enrollment,
87.4 GB entire-computer backup with zero errors, and file-level
restore verification. Covers the Community Edition license gate for
object storage backup and the SOSAPI capacity reporting status
(rustfs#1511, PR rustfs#9007).
@vercel

vercel Bot commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

@majinghe is attempting to deploy a commit to the overtrue's projects Team on Vercel.

A member of the Team first needs to authorize it.

Correct licensing, retention, access-mode, UAC and metric claims. Add contextual product links and official references, use a raster social cover, and compress the validation screenshots.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@majinghe majinghe changed the title blog: Veeam Backup & Replication 13 with RustFS — integration validated blog: Veeam with RustFS — S3 backup and restore validation Oct 31, 2026
@majinghe
majinghe merged commit 39a8284 into rustfs:main Oct 31, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant