Do not delete AOF files or restart Redis on suspicion alone. Check Redis persistence status, filesystem space and inodes, and the complete AOF file set first; then test recovery from a protected copy in an isolated environment. This applies when you operate Redis 8.0 with AOF persistence and cannot yet prove that the current files will restore correctly.
Suitable for: DBAs responsible for Redis persistence, engineers investigating disk alerts or a stalled rewrite, and technical leads planning storage and off-machine backups.
Not a substitute for: a tested recovery procedure; changing servers or upgrading Redis does not make an unverified backup safe.
Last updated November 4, 2026. Redis 8.0’s support end date and persistence behavior were checked against the Redis version-management page and Redis persistence documentation.
What should you check first after an AOF rewrite failure?
Treat the alert as a symptom, not a diagnosis. A rewrite can fail because the filesystem cannot supply the space or inodes required, because writes or synchronization are failing, or because the background operation is no longer making progress. These paths need different responses. Deleting files does not distinguish between them and can remove the recovery source you still have.
Start with read-only checks. Ask Redis for its persistence state, then inspect the filesystem that actually contains the configured data directory:
redis-cli INFO persistence
df -h /path/to/redis-data
df -i /path/to/redis-data
findmnt -T /path/to/redis-data
The INFO persistence section reports fields such as aof_rewrite_in_progress, aof_last_bgrewrite_status, and aof_last_write_status; use them to distinguish an active rewrite from a failed one and to look for a write-status problem. The Redis INFO command reference describes the command and its sections. df -h checks available filesystem space, while df -i checks inode availability; the GNU Coreutils df manual explains what its filesystem reports mean.
Do not assume that the filesystem mounted at the server’s general data path also holds Redis’s AOF directory. Check the configured directory and the mount containing it. Also inspect the AOF manifest and every file it references. Redis’s AOF documentation explains the relationship between the append-only files, the manifest, and background rewriting.
Space shortages require protecting the existing AOF set
First protect the existing file set. Do not remove the active AOF, a base file, an incremental file, or the manifest to make room. A rewrite can create replacement files while the existing set remains necessary, and writes that arrive during the rewrite also matter. The space requirement depends on the current data, write activity, file layout, and filesystem state. A generic fixed multiplier is not a reliable substitute for checking the actual files and available space.
Record the relevant state before changing anything: filesystem usage and inodes, mount information, Redis persistence output, the configured AOF directory, and relevant service logs. Then identify whether the pressure comes from Redis files or unrelated temporary data. If a non-Redis file is a confirmed cause and is safe to remove under your retention policy, handle it through its owner’s normal cleanup process. If not, assess a controlled storage expansion or another operationally approved way to restore headroom. Do not improvise by deleting files that Redis may still need.
AOF is not the same as a disposable cache merely because Redis is often used for caching. If your application can rebuild all data and has verified that behavior, losing the cache has different consequences from losing session, queue, or other state that Redis is expected to persist. Make this distinction explicit before choosing any recovery action.
Why can a rewrite stall when disk space looks sufficient?
Available capacity does not prove that writes and synchronization are healthy. A filesystem may have free space while writes are delayed or failing, the mount may have changed, or other processes may be competing for storage I/O. Redis may also still report a rewrite in progress while the underlying operation is not advancing as expected.
Compare Redis’s persistence fields over time with the process state, storage activity, kernel or filesystem logs, and Redis service logs. Look for evidence that supports a cause rather than treating one symptom as proof. For example, a process that remains present is not by itself proof that a rewrite is progressing; a single high I/O observation is not proof that Redis is the source of the load.
The BGREWRITEAOF command reference describes the command that starts an AOF rewrite. Do not repeatedly issue it as a diagnostic shortcut while a rewrite is already running or while the storage issue remains unclear. If the available evidence does not identify the cause, preserve logs and configuration details, note the Redis build and operating environment, and investigate those together. A report about a particular deployment can be useful as a lead, but it does not establish a general Redis 8.0 failure mode.
How do you copy and repair a multi-part AOF safely?
Redis 7 and later can use a multi-part AOF layout. In that layout, the manifest identifies the AOF files that make up the active set. Copying only a file that looks like the “main” AOF can therefore leave you without a complete recovery input. Check the Redis documentation for the layout used by your version and confirm that your backup includes the manifest and all files it references.
Do not assume that copying files one by one from a live directory produces a consistent point-in-time backup. Use a backup process that captures the set consistently, such as a suitable filesystem snapshot or a controlled procedure tested for your storage and Redis setup. Record the source, the capture time, and which files belong to the captured set. Keep the original files unchanged; perform inspection and repair on a separate copy.
The Redis-provided redis-check-aof utility is for checking or repairing AOF data, but a successful tool exit is not proof that the recovered dataset is complete for your application. Repair may discard data from a damaged or incomplete tail. Follow the instructions for the Redis version and file layout in use, and consult the Redis documentation on AOF checking and repair. Do not hand-edit a manifest or remove entries based on guesswork.
If you need to change a Redis setting during investigation, confirm that it is appropriate for the running version and operational state before applying it. The CONFIG SET reference documents the command; it is not a reason to toggle persistence settings on a production instance without understanding the effect.
How do you confirm that repaired AOF data can be restored?
Restore from the protected copy in an isolated environment, using a Redis version and startup procedure appropriate to that data. Keep the production files untouched until the test passes. Start with the recovery path you intend to rely on, then verify application-specific invariants rather than only checking that the server starts.
Check representative keys and data types used by your application. For expiring data, check that expiry behavior is still sensible. If you use Streams, queues, or other structures whose contents or ordering matter, verify those expectations explicitly. Compare the recovered state with the backup’s capture point and the writes you expect to have occurred after it. A valid recovery may still omit changes made after that point; the important question is whether the loss window matches your recovery plan.
Test RDB and AOF paths separately when both are part of your plan. A successful restore from one does not demonstrate that the other is usable. Keep a record of the source files, Redis version, startup and repair steps, observed data differences, and the application checks that passed or failed. Do not overwrite production files or declare recovery complete until the isolated test supports that conclusion.
Choose the next action from the evidence
Use these conditions to decide what to do next:
- If Redis reports an active rewrite and the file set is changing: preserve the current state and continue monitoring. Do not remove files or start another rewrite merely to clear an alert.
- If space or inodes are exhausted: identify the exact filesystem and what is consuming it. Resolve confirmed non-Redis usage safely or plan controlled capacity changes; keep the AOF set intact.
- If Redis reports write errors or logs indicate filesystem trouble: treat this as a storage-health incident. Preserve evidence and resolve the write path before attempting repair.
- If the rewrite is not progressing but the cause is unclear: collect Redis, process, mount, I/O, and service-log evidence. Avoid a blind production restart.
- If a copy has been repaired but has not passed an isolated restore: treat it as an unverified recovery source. Keep another known backup and continue testing.
- If the isolated restore and application checks pass: document the tested recovery procedure, the backup’s capture point, and any data gap before changing production procedures.
| Finding | Safer next step | Avoid |
|---|---|---|
| Low available space or inodes on the AOF filesystem | Identify the consuming files and restore headroom through a controlled change | Deleting active AOF files to make room |
| Redis write status is failing | Investigate the filesystem, mount, and storage path while preserving logs | Assuming a rewrite retry will fix the write path |
| Multi-part AOF copy is incomplete or uncertain | Recapture the complete set with a consistent backup procedure | Treating one copied AOF file as a complete backup |
| Repair completes but restore is untested | Validate the copy in isolation against application invariants | Replacing production files or claiming full recovery |
Plan storage and support as separate risks
A server choice affects where data lives and how much storage you can allocate, but it does not decide whether the AOF set is consistent, redundant, or recoverable. If you are comparing storage layouts, use the memory and disk planning guide to think through the workload’s resource needs; keep the actual Redis file layout and backup procedure tied to your deployment rather than assuming a hardware configuration will create a valid backup.
For each candidate design, answer these questions before deployment or migration:
- Where do the active AOF files and manifest reside, and what else shares that filesystem?
- How will you preserve the complete file set during a backup?
- Is there a tested recovery copy outside the Redis host?
- Does the recovery test check application data, not just whether Redis starts?
- What happens if the local storage fails while the only recent copy is on that same machine?
Redis 8.0’s support end date is December 1, 2026, according to the Redis version-management page. Treat that date as a reason to review your maintenance plan and test a supported upgrade path. It is not a reason to skip backups, and it does not prove that upgrading will repair existing AOF files.
| Deployment approach | What it can help with | What you still need to manage |
|---|---|---|
| Managed database service | Reduces the amount of host and storage administration you perform directly | Confirm the service’s persistence, backup, recovery, and cost terms for your workload |
| Shared cloud instance | Can suit temporary work or light, changeable workloads | Shared resources, instance-level storage limits, and service-specific billing may constrain sustained database work |
| OSFP Cloud AMD bare metal rental | Gives you a dedicated physical server to plan around for a sustained self-managed workload | You remain responsible for Redis configuration, software maintenance, AOF handling, redundancy, and off-machine backups |
Dedicated hardware is worth considering when a shared instance’s resource contention, opaque storage limits, or restricted disk layout make sustained Redis operations hard to plan. Those constraints do not make bare metal a recovery solution: local disks can fail, and a machine does not automatically provide hardware RAID or an off-machine backup. If you need dedicated compute and direct control of the storage layout, compare the actual options in the OSFP Cloud service information, then confirm that your chosen design includes software redundancy or replication where needed and a backup stored outside the server.
For a production Redis deployment, make the purchase decision only after you can describe the restore path, the files it requires, and the test that proves it works. If your workload is short-lived, light, or better served by managed backups and elastic capacity, a physical server may add operational work without solving your actual problem.
Give Redis AOF Workloads Dedicated Server Capacity
Run Redis on an OSFP Cloud AMD EPYC 7543P physical server with 128GB or 256GB of ECC memory.
From $462 / month