Set an RPO (how much data you can lose) and an RTO (how long recovery may take) for each system. Keep three copies on two media with one offsite, and make one copy immutable or offline. Calculate restore time from data size and real throughput: 2 TB at 1 Gbit/s and 70% efficiency takes about 6 hours 21 minutes. Then prove it with a timed drill.
Assumptions, and when this guide does not apply
This guide is for teams running their own servers, VPS, bare metal or cloud instances, who are responsible for at least part of their backups. It assumes you can list your systems, their data sizes and who depends on them.
It is not enough on its own when:
- A regulation sets retention or recovery terms (financial records, health data, government contracts). Those rules override the planning defaults here; CISA notes that immutable storage does not meet compliance criteria for certain regulations, so check before locking data.
- You need zero data loss across sites. That is synchronous replication and application design, not backup. Backups protect against loss and corruption; replication protects availability.
- The data lives in a SaaS product. You may need a separate export or backup service; the hosting design here does not cover it.
Who does what (backups, restore testing, key custody) must be written down. See Shared responsibility in hosting and Security and reliability.
RPO, RTO and MTD: three numbers that drive the design
NIST SP 800-34 Rev. 1, the US federal contingency planning guide, defines the terms most teams use:
- Recovery point objective (RPO): "the point in time to which data must be recovered after an outage." An RPO of 1 hour means you accept losing up to 1 hour of changes. It sets how often you take backups.
- Recovery time objective (RTO): "the overall length of time an information system's components can be in the recovery phase before negatively impacting the organization's mission or mission/business processes." It sets how fast you must restore.
- Maximum tolerable downtime (MTD): "the amount of time mission/business process can be disrupted without causing significant harm to the organization's mission." The RTO for a system must fit inside the MTD of the business process it supports, with room for detection and decision time.
Set the numbers per system, not per company. An order database and a marketing site have very different costs of downtime, and paying for a 15-minute RPO everywhere is waste.
| Mechanism | Worst-case data loss | Protects against deletion or corruption? | Typical use |
|---|---|---|---|
| Nightly full or snapshot | Up to 24 h plus backup run time | Yes, if kept off the primary | Static sites, internal tools |
| Hourly incremental or snapshot | Up to 1 h | Yes, if kept off the primary | File servers, CMS uploads |
| Database log archiving (PostgreSQL WAL, MySQL binlog) with point-in-time recovery | Minutes (set by archive interval) | Yes: restore to just before the bad change | Transactional databases |
| Asynchronous replica | Seconds of lag | No: deletions replicate too | Fast failover, read scaling |
| Synchronous replica | Near zero for hardware loss | No | High availability, alongside backups |
Replicas are not backups. A DROP TABLE or ransomware encryption reaches the replica in seconds. Keep a replica for RTO and a backup for RPO.
3-2-1 and 3-2-1-1-0: what each digit defends against
CISA's Data Backup Options paper states the 3-2-1 rule: keep 3 copies of any important file (1 primary and 2 backups), on 2 different media types, with 1 copy offsite. The rule was designed around hardware failure and site loss. Modern attacks target the backups themselves, so many teams extend it to 3-2-1-1-0, an industry convention rather than a standard.
| Rule | Meaning in a hosted setup | Defends against |
|---|---|---|
| 3 copies | Production plus two backups | A single failed or corrupted backup |
| 2 media or platforms | For example, local snapshots plus object storage; different systems, not two folders on one disk | A fault in one storage system or product |
| 1 offsite | A different site, region or provider account from production | Fire, flood, regional outage, account lockout |
| 1 immutable or offline | Object lock (WORM) or a copy with no network path from production | Ransomware and attackers with admin credentials |
| 0 errors | Restores verified automatically, with zero unexplained failures | Backups that exist but do not restore |
The offsite copy should not share credentials with production. If the same admin account can delete the server and its offsite backups, you have one copy in practice.
Immutability and object lock
Object lock stores backups write-once-read-many (WORM): once written, an object version cannot be changed or deleted until its retention date passes. The S3 API's Object Lock, implemented by many S3-compatible object stores, is the common form. Its behavior, from the AWS reference documentation:
- Versioning is required. Lock protects a specific object version. A simple delete adds a delete marker on top; the locked version stays restorable.
- Governance mode: users with a special bypass permission can still shorten retention or delete. Good for testing settings, weaker against a stolen admin credential.
- Compliance mode: no user, including the account root user, can delete the version or shorten retention until it expires. Strongest protection, but a wrong retention setting cannot be undone, and you pay for storage until it expires.
- Legal hold blocks deletion with no end date until someone with permission removes it.
CISA's #StopRansomware Guide advises using immutable storage with caution, because it does not meet compliance criteria for certain regulations and misconfiguration can impose significant cost. Test retention in governance mode first, then move to compliance mode for the copy you depend on.
Set retention longer than the time an intruder might go unnoticed before acting. If your logs would only show an intrusion after 21 days, 14 days of locked retention can leave you with only infected restore points.
Ransomware: plan for an attacker who finds your backups
CISA's #StopRansomware Guide (September 2023) recommends maintaining offline, encrypted backups of critical data and regularly testing their availability and integrity in a disaster recovery scenario, because many ransomware variants try to find and delete or encrypt accessible backups. It also advises keeping "golden images" of critical systems up to date. NIST's Cybersecurity Framework 2.0 lists the same outcome as PR.DS-11: backups of data are created, protected, maintained and tested.
What that means in practice:
- Separate identity. Backup administration uses different accounts, with MFA, outside the main directory domain. The production server's credentials can write new backups but cannot delete old ones.
- Encryption keys stored apart. Keep backup encryption keys and the recovery runbook somewhere that survives the loss of production, and test that the people on call can reach them.
- Golden images and configuration as code. Rebuilding a clean server from a known image is faster and safer than restoring a whole compromised disk.
- Restore into isolation. Bring restored systems up on a separate network, scan them, rotate credentials, and only then reconnect.
- Know your clean restore point. Keep several restore points across days and weeks so you can step back past the intrusion date.
How long a restore really takes: the arithmetic
Transfer time is usually the largest single block of an RTO, and the most often underestimated. Do the sum before you sign up to a recovery target.
Worked example: restoring 2 TB over 1 Gbit/s at 70% efficiency
- Data: 2 TB = 2,000,000,000,000 bytes. In bits: x 8 = 16,000,000,000,000 bits (1.6 x 10^13).
- Effective rate: 1,000,000,000 bit/s x 0.70 = 700,000,000 bits per second (7 x 10^8). The 70% covers protocol overhead, TLS, and storage and backup software limits; measure your own.
- Time: 16,000,000,000,000 / 700,000,000 = 22,857 seconds.
- 22,857 / 3,600 = 6.35 hours = 6 hours 21 minutes.
- If the "2 TB" is really 2 TiB (2 x 2^40 = 2,199,023,255,552 bytes, as many tools report), the time is 25,131 seconds, about 6 hours 59 minutes.
| Data restored | 100 Mbit/s | 1 Gbit/s | 10 Gbit/s |
|---|---|---|---|
| 500 GB | 15.9 h | 1 h 35 min | 9.5 min |
| 2 TB | 63.5 h | 6 h 21 min | 38 min |
| 10 TB | 13.2 days | 31.7 h | 3 h 10 min |
The link is not the only limit. Restore throughput is the slowest of: the network path, the backup store's read rate, decompression and decryption CPU, and the target disk's write rate. Millions of small files add per-file overhead: 10 million files at 2 ms each, processed one at a time, add 20,000 seconds (5.6 hours). Parallel streams and image-level restores reduce this.
Worked example: does an 8-hour RTO hold?
Restore budget for the 2 TB system above, with stated assumptions: detection 30 min, decision to restore 30 min, target server ready 60 min (the real figure depends on your platform and is Confirmed at quote), transfer 381 min, database log replay 45 min, verification 30 min, DNS cutover with a 300-second TTL 15 min.
Total: 30 + 30 + 60 + 381 + 45 + 30 + 15 = 591 minutes = 9 h 51 min. The 8-hour RTO fails.
With a 10 Gbit/s path, transfer drops to 38 min: 30 + 30 + 60 + 38 + 45 + 30 + 15 = 248 minutes = 4 h 8 min. Alternatives: a warm standby that only needs the last increments, or restoring the critical 300 GB first and the rest later. The recovery feasibility tool runs this sum for your numbers, and the migration capacity tool does the transfer part.
Restore testing cadence
Untested backups fail in predictable ways: missing files excluded by a pattern, expired encryption keys, a database dump that was never consistent, a restore that takes three times longer than planned. These cadences are planning defaults; tighten them for systems with short RTOs.
| Test | Cadence | Pass means |
|---|---|---|
| Backup job success and checksum verification | Every run, alerted | No unexplained failures (the "0" in 3-2-1-1-0) |
| Automated restore of the latest backup to a scratch target | Weekly | Restore completes; database starts; row counts match |
| Sample file or table restore by a person | Monthly | A named item restored from a named date |
| Timed full restore of one critical system into isolation | Quarterly | Achieved RTO and RPO measured and within target |
| Full scenario exercise (for example, ransomware with lost admin access) | Yearly, and after major changes | Runbook works when the usual people and tools are unavailable |
A restore-drill runbook
- Set scope and targets. Pick one system. Write down its RPO and RTO, the restore point you will use, and what "working" means (pages load, logins work, last order visible).
- Start the clock. Record the start time. Every later step gets a timestamp.
- Retrieve access as if production were gone. Get backup credentials and encryption keys from where they are stored for emergencies, not from a production server. If this step fails, the drill has already found its most important gap.
- Provision an isolated target. A new server or VM on a network with no route to production, built from your golden image or configuration code.
- Restore data. Record bytes restored and elapsed time; calculate achieved throughput and compare it with the figure in your RTO budget.
- Recover the application. Replay database logs to the target point, start services, run migrations if needed.
- Verify. Checksums, database consistency checks, row counts against a known reference, application smoke tests, and a person checking the business result.
- Measure achieved RPO and RTO. RPO: time of the last transaction present versus the chosen incident time. RTO: start to verified service.
- Tear down and record. Destroy the isolated environment and its credentials. Write a short report: targets, achieved numbers, failures, fixes, owner and date for each fix.
- Update the runbook. Change the written steps to match what actually worked, and schedule the next drill.
Backup and recovery checklist
- RPO, RTO and MTD written down for each system, with a business owner who agreed them.
- Backup mechanism per system matches its RPO (database log archiving where minutes matter).
- Three copies, two platforms, one offsite under separate credentials.
- One immutable or offline copy with retention longer than your likely detection time.
- Backup deletion requires a different identity, with MFA, from production administration.
- Encryption keys and runbook available without production.
- Restore time calculated from data size and measured throughput, and inside the RTO.
- Weekly automated restore test and a quarterly timed restore drill on the calendar.
- Responsibility for backups, restore tests and key custody written down between you and your provider.
- Numbers checked in the recovery feasibility tool.
Common mistakes
- Calling a replica a backup. It copies deletions and encryption as fast as it copies good data.
- Backups in the same account as production. One stolen admin credential removes both.
- Retention shorter than detection time. Every restore point may already contain the intruder.
- RTO set without the transfer sum. 2 TB at 100 Mbit/s takes more than 2.5 days at 70% efficiency.
- Testing that the job ran, not that data restores. A green backup job does not prove a usable restore.
- Keys stored only on the server being protected. Encrypted backups without the key are not backups.
- Compliance-mode lock set before testing retention. It cannot be shortened, and storage is billed until expiry.
Frequently asked questions
What is the difference between RPO and RTO?
RPO is how much data you can afford to lose, measured back in time from the incident. RTO is how long recovery may take. RPO drives backup frequency; RTO drives restore speed and standby design.
How long does it take to restore 2 TB?
At 1 Gbit/s and 70% efficiency, about 6 hours 21 minutes of transfer (1.6 x 10^13 bits divided by 7 x 10^8 bits per second). Add provisioning, database recovery, verification and cutover to get the real RTO.
Is 3-2-1 still enough?
It covers hardware failure and site loss. Against ransomware, add one immutable or offline copy and verify restores, often written as 3-2-1-1-0.
Governance or compliance mode for object lock?
Use governance mode to test retention settings, then compliance mode for the copy you rely on against stolen admin credentials. Compliance mode cannot be shortened by anyone, so check retention and cost first.
How often should we test restores?
Verify every backup run, automate a restore test weekly, and run a timed full restore of a critical system at least quarterly. Run a full scenario exercise yearly and after major changes.
Who is responsible for backups on a BroadNet Cloud plan?
It depends on the plan and options. Each written quote states what is backed up, where, how long it is kept and who runs restore tests; anything not listed stays your responsibility.
Sources
- SP 800-34 Rev. 1: Contingency Planning Guide for Federal Information Systems, NIST
- Glossary: recovery point objective (from SP 800-34 Rev. 1), NIST
- Glossary: recovery time objective (from SP 800-34 Rev. 1), NIST
- The NIST Cybersecurity Framework (CSF) 2.0 (PR.DS-11), NIST
- #StopRansomware Guide, CISA
- Data Backup Options (3-2-1 rule), CISA (US-CERT)
- SP 800-209: Security Guidelines for Storage Infrastructure, NIST
- Locking objects with Object Lock (S3 API reference), Amazon Web Services
- PostgreSQL documentation: Continuous Archiving and Point-in-Time Recovery, PostgreSQL Global Development Group

