This article presents backup concepts and best practices on Flexible Engine.
Why to backup ?
- To protect data loss caused by a hardware failure (disk, physical server)
- To protect data loss or corruption caused by software bugs
- To protect data loss or corruption caused by humain mistakes
- To protect data loss from a distaster at DC level (fire, flood, storm, earthquake, plane crash, explosion, terrorist attack, war, etc)
- To protect data loss or corruption caused by a ransomware or a cyberattack
- System: all the filesystem of a physical machine or a virtual machine (only the operating system volume or all the volumes attached to a machine). System backups must be crash consistent in order to have a working system when restored.
- Volume: the whole image of a data volume (also called logical drive or partition)
- Files: all the files or a subset of the files on a data volume in order to be restored individually
- Application: some applications like databases require application aware backups in order to be restored in a consistent way
- Using agent:
A backup software agent is installed on server operating system to backup the files. This type of backup is not adapted to run full system backup because in case of crash of the system, the operating system and the agent must be reinstalled first prior to full system restoration based on a backup.
Agentless backup is only available on virtual machines. It’s usually snapshot based and allows fast restoration in case of system crash.
- Cloud storage
- Full backup: the whole system or the whole volume is backed up. Full backup consumes time and bandwidth.
- Incremental backup: only new/modified files or block since last full or incremental are backed up
- Differential backup: only new/modified files or block since last full are backed up
- Synthetic full backup: a full backup generated based on previous full / incremental / differencial.
- Forever incremental backup: the first backup is full, all the other are incremental.
- 3 copies of your data including the main copy
- 2 copies on site ideally on two different type of storage (example: main copy on block storage, secondary copy on object storage)
- 1 copy off site (example: a replication of the backup between two cloud region)
- CBR Cloud application consistent backup
- File and Apllication Backup (FAB)
- Native database backup tool (Oracle Rman, MySQL Dump, PostgreSQL dump)
Backups can be used for a DRP if RPO objectives are low (RPO 4h or 24h).
Replication is necessary when RPO and RTO objectives are high (RPO close to 0 and RTO close to 0).
Replication doesn’t replace backup.
- Native database replication tool (Oracle dataguard, MySQL replication, PostgreSQL replication)
- RDS with Dual-Host Hot Standby
DRP options on Flexible Engine