recovery plan for unraid
Find a file
2025-11-01 18:51:02 -07:00
LICENSE Initial commit 2025-10-31 14:13:01 -07:00
README.md changed scrub details 2025-11-01 18:51:02 -07:00

Unraid Backup & Recovery Plan

Last revised: 2025-11-01
Server name: Gyarados


System Overview

Component Details
Array 4 drives total (3 data + 1 parity)
Parity 1 drive (single parity protection)
Pools - cache_protected → 500GB RAID1 (btrfs)
- cache_appdata → 500GB RAID1 (btrfs)
- cache → 4TB XFS (no redundancy)
Important Shares appdata, system, backups
Unraid Flash Drive Backed up daily by CA Backup/Restore plugin

Backup Strategy

Local / Onsite

Backup Type Tool Frequency Destination Notes
Appdata + Flash CA Backup/Restore Daily /mnt/user/backups/unraid_backups on array Stored in “backups” share, included in offsite sync
Array Data Backup rsync Monthly External 28TB USB drive Plugged in manually, includes flash + appdata backups
Parity Check Unraid checker Monthly N/A Non-correcting, same day as backup

Offsite

Backup Type Tool Frequency Destination Notes
1st Critical Data Backup Duplicacy Nightly Backblaze B2 Backs up /mnt/user/backups share (includes appdata + flash backups)
2nd Critical Data Backup rclone Weekly Backblaze B2 Backs up /mnt/user/backups share (includes appdata + flash backups)
Offsite Verification Scripted Duplicacy restore Monthly Local test_restore folder Verifies integrity with checksum comparison

Maintenance Schedule

Task Frequency Tool / Command Notes
Parity Check (non-correcting) Monthly Unraid Checker Run before external backup
External Backup (rsync) Monthly 28TB External Userscript Rotate drive offsite if possible
btrfs Scrub (cache pools) Monthly /mnt/cache_protected and /mnt/cache_appdata Detects and repairs bitrot, just click the pool and then "scrub"
Duplicacy Check Monthly duplicacy check -a -tabular Confirms remote chunks are valid
File Integrity Verification Monthly Offsite Verify Userscript Grab random files, checksum them and compare vs. backup
Recovery Test Every 90 days Manual Restore 3-5 files from each backup source

Recovery Procedures

Array or Disk Failure

  1. Confirm only one disk is disabled and parity is valid before proceeding with rebuild.
  2. Identify the failed drive by serial number. Stop the array.
  3. Replace the failed drive with a new, precleared one and assign it to the same slot.
  4. Start the array — Unraid will begin rebuilding the disk from parity.
  5. Run a non-correcting parity check to confirm parity accuracy post-rebuild.

Flash Drive Failure

  1. Replace flash with new USB stick.
  2. Copy contents of latest flash backup (gyarados-flash-backup.zip) from /mnt/user/backups/unraid_backups or Backblaze.
  3. Transfer license using Unraids automated license replacement system (Tools → Registration).

Appdata Loss / Corruption

  1. Stop the Docker service before restoring appdata.
  2. Install “CA Backup/Restore Appdata” plugin (if not already).
  3. Select most recent backup under /mnt/user/backups/unraid_backups/.
  4. Click "Restore" at the top of the Appdata Restore plugin and follow instructions.
  5. Start the Docker service and verify containers.

Full Array Loss / Catastrophic Event

  1. Reinstall Unraid on new flash drive if needed.
  2. Recreate array and pools matching original layout from system overview.
  3. Restore data from:
    • External 28TB backup drive (via rsync)
    • Duplicacy or rclone (Backblaze) for critical data if External is damaged