Disaster Recovery Plan
Disaster Recovery Plan
This document outlines the Disaster Recovery (DR) plan for the MediaWiki installation serving Your MediaWiki Site. It details the procedures and configurations necessary to restore service in the event of a catastrophic failure. This guide is intended for system administrators and those responsible for maintaining the MediaWiki environment. Refer to Special:Myuserpage for contact information for the DR team.
Introduction
The goal of this DR plan is to minimize downtime and data loss in the event of a disaster. A disaster can include, but is not limited to: hardware failure, natural disaster, data center outage, or security breach. This plan covers data backup, replication, and restoration procedures. It assumes a basic understanding of Help:System requirements and server administration. Regular testing of this plan, as documented in Manual:How to test your disaster recovery plan, is critical to its success.
System Overview
Our MediaWiki installation consists of the following key components:
- Web Server: Apache 2.4 running on Ubuntu Server 22.04.
- Database Server: MariaDB 10.6.
- PHP: PHP 8.1 with necessary extensions (see Manual:Configuration settings for details).
- Media Storage: Local file system (mounted NFS share).
- Caching: Memcached.
The following table summarizes the hardware specifications:
Component | Specification | Quantity |
---|---|---|
Web Server CPU | Intel Xeon Gold 6248R (24 cores) | 1 |
Web Server RAM | 64 GB DDR4 ECC | 1 |
Web Server Storage | 1 TB SSD (RAID 1) | 1 |
Database Server CPU | Intel Xeon Silver 4210 (10 cores) | 1 |
Database Server RAM | 32 GB DDR4 ECC | 1 |
Database Server Storage | 2 TB HDD (RAID 1) | 1 |
Backup Strategy
A multi-layered backup strategy is employed to ensure data integrity and rapid recovery.
- Full Backups: Weekly full backups of the entire MediaWiki installation, including the database, file uploads, and configuration files.
- Differential Backups: Daily differential backups capturing changes since the last full backup.
- Transaction Log Backups: MariaDB transaction logs are backed up every 5 minutes to minimize potential data loss.
- Offsite Storage: All backups are replicated to a geographically separate data center for disaster resilience. We utilize Backblaze B2 for offsite storage.
The backup schedule is detailed below:
Backup Type | Frequency | Retention Period |
---|---|---|
Full Backup | Weekly (Sunday) | 4 Weeks |
Differential Backup | Daily | 7 Days |
Transaction Log Backup | Every 5 minutes | 24 Hours |
Disaster Recovery Procedures
The following steps outline the DR process. These procedures assume the primary data center is unavailable.
1. Declaration of Disaster: The DR team (see Special:Listusers for team members) must declare a disaster based on pre-defined criteria. 2. Failover to Secondary Site: Activate the secondary infrastructure in the offsite data center. This involves bringing up the web server, database server, and storage. 3. Restore Database: Restore the latest full backup, followed by the most recent differential backup and transaction logs. This process is documented in Manual:Database backup and restore. 4. Restore File Uploads: Restore the file uploads directory from the latest backup. 5. Configuration Updates: Update the `LocalSettings.php` file to reflect the new database connection details and any other environment-specific settings. See Manual:Configuration settings for details. 6. DNS Propagation: Update DNS records to point to the IP address of the secondary web server. This may take up to 48 hours to fully propagate. 7. Verification: Thoroughly test the restored MediaWiki installation to ensure functionality and data integrity. This includes testing core features like editing, searching, and user authentication. Refer to Help:Editing pages and Help:Searching for testing guidance.
System Configuration Details
The following table details key configurations for the DR site:
Setting | Primary Site Value | Secondary Site Value |
---|---|---|
Database Host | db.primary.example.com | db.secondary.example.com |
Database Name | wikidb | wikidb |
Database User | wikiuser | wikiuser |
Database Password | ********** | ********** |
File Upload Path | /var/www/mediawiki/uploads | /var/www/mediawiki/uploads |
LocalSettings.php Path | /etc/mediawiki/LocalSettings.php | /etc/mediawiki/LocalSettings.php |
Testing and Maintenance
- Regular DR Drills: The DR plan will be tested at least twice per year.
- Backup Verification: Backups will be regularly verified to ensure they are restorable.
- Documentation Updates: This document will be reviewed and updated as needed to reflect changes in the MediaWiki environment. Refer to MediaWiki:Site notice for upcoming maintenance windows.
- Security Audits: Regular security audits will be conducted to identify and mitigate potential vulnerabilities. See Special:Security for security related information.
Intel-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Core i7-6700K/7700 Server | 64 GB DDR4, NVMe SSD 2 x 512 GB | CPU Benchmark: 8046 |
Core i7-8700 Server | 64 GB DDR4, NVMe SSD 2x1 TB | CPU Benchmark: 13124 |
Core i9-9900K Server | 128 GB DDR4, NVMe SSD 2 x 1 TB | CPU Benchmark: 49969 |
Core i9-13900 Server (64GB) | 64 GB RAM, 2x2 TB NVMe SSD | |
Core i9-13900 Server (128GB) | 128 GB RAM, 2x2 TB NVMe SSD | |
Core i5-13500 Server (64GB) | 64 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Server (128GB) | 128 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Workstation | 64 GB DDR5 RAM, 2 NVMe SSD, NVIDIA RTX 4000 |
AMD-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Ryzen 5 3600 Server | 64 GB RAM, 2x480 GB NVMe | CPU Benchmark: 17849 |
Ryzen 7 7700 Server | 64 GB DDR5 RAM, 2x1 TB NVMe | CPU Benchmark: 35224 |
Ryzen 9 5950X Server | 128 GB RAM, 2x4 TB NVMe | CPU Benchmark: 46045 |
Ryzen 9 7950X Server | 128 GB DDR5 ECC, 2x2 TB NVMe | CPU Benchmark: 63561 |
EPYC 7502P Server (128GB/1TB) | 128 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/2TB) | 128 GB RAM, 2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/4TB) | 128 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/1TB) | 256 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/4TB) | 256 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 9454P Server | 256 GB RAM, 2x2 TB NVMe |
Order Your Dedicated Server
Configure and order your ideal server configuration
Need Assistance?
- Telegram: @powervps Servers at a discounted price
⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️