5 · Recovery
Three tiers, least to most drastic. All were exercised end-to-end during v1.0.0 validation, including a full host-side restore after whole-library DR.
5.1 A cartridge’s data (evicted or damaged locally)
If the cart still exists locally (an evicted stub), its panel offers
Import <generation> — an in-place re-import, byte-identical
(§4.4).
5.2 A single cartridge into another library (Phase A)
Offsite → Catalog browses the bucket by System → Library serial → Cart label → Generation. Pick a generation → Import into [library ▾]. The cart is extracted, adopted through the target library’s MAP the same way a mint is, slot-assigned, and registered — label preserved. If that label already exists in the target library the import refuses rather than renaming; in real DR the target is empty, so no collision.
5.3 Whole library, one click (Phase B — disaster recovery)
Scenario: the appliance (or the library) is gone; the bucket survives.
- On the replacement appliance: install, first-run, system storage, and a free pool for the recovered library (§1–§2). Add the same S3 remote and let the catalog load (Refresh bucket catalog re-reads the bucket from scratch if needed).
- The catalog groups carts under their original library serial and shows Recover library on any library not present locally. Click it, pick the pool, confirm.
- The appliance reads the library’s
topology.jsonfrom the bucket, recreates the library — same model, geometry, and serial — runs the activation window, then queues an import of every cart’s newest generation (Jobs shows them with triggerrecover). Result: the library and all its exported carts are back, labels intact.
Validated result: the recovered cart’s on-disk data was checksum-identical to the original, and the IBM i restored the saves on it with matching object counts.
Host-side afterwards:
- The library serial is preserved, so the host’s existing MLB device description re-attaches on vary off/on.
- The drives are new identities (recovery deliberately never reuses
device serials), so expect new tape-unit resources under the library —
re-point/allocate the drive resources, then
WRKMLBSTSas usual. - Only exported carts come back. Scratch media that never had a bucket copy is gone — mint fresh scratch and initialize it (§2.4, §3.3).
5.4 If a recovery is interrupted
The per-cart imports are ordinary retryable jobs: if the recover window
fails or the box restarts mid-import, fix the condition (the runbook’s
boot/§1 and Apply guidance), then Jobs → Retry the recover-triggered
imports. Interrupted transfers resume from the chunk ledger.
5.5 What to practice
Run the DR flow before you need it. The whole Phase B loop — export a cart, delete a test library, recover it, restore on the host — takes under half an hour on a lab box and touches every moving part: bucket layout, catalog, topology, activation, import, and the host re-attach.