1 | | [[Include(source:trunk/doc/administration/backup_method.txt, text/x-trac-wiki)]] |
| 1 | = !SilverFile Backup Methodology = |
| 2 | |
| 3 | == Introduction == |
| 4 | Data integrity is a key feature of the !SilverFile service. To this end, we |
| 5 | propose a combination of backup methods to protect files/data from hardware |
| 6 | failure and user error. The following describes these methods: |
| 7 | |
| 8 | == Disk Mirroring (RAID) == |
| 9 | We are using two physical hard drives in a RAID mirror configuration (RAID 1). |
| 10 | Data is replicated in real time between the two drives so that if one drive |
| 11 | fails data is still preserved on the other drive. The RAID is created |
| 12 | during installation of the Ubuntu OS. |
| 13 | [/projects/devsilverfile/wiki/servers/setup-condensed RAID Installation How-To] |
| 14 | |
| 15 | * '''RAID Monitoring''' [BR] |
| 16 | Disk/RAID monitoring is done with mdadm. Email alerts are sent if |
| 17 | the RAID status is negative. |
| 18 | * '''More Here''' |
| 19 | |
| 20 | == Data Mirroring (Between separate servers) == |
| 21 | Data is replicated to a backup server on an '''hourly''' basis via {{{rsync}}}. |
| 22 | Whatever file composition is in the primary Silver File server becomes |
| 23 | reflected in the mirror in the backup Silver File server. |
| 24 | |
| 25 | == Incremental Backup == |
| 26 | While the above methods for data preservation are useful to safeguard |
| 27 | against data loss due to hardware failure, they are not as useful |
| 28 | for protecting against loss due to user error. For instance |
| 29 | if someone accidentally deletes a file or folder and is unable to |
| 30 | "undo" this, it is useful to be able to revert back to certain |
| 31 | backup points in order to retrieve the data. |
| 32 | |
| 33 | We propose the following backup points. All backup points will be at midnight. |
| 34 | * 1 Day (or midnight prior to current time) |
| 35 | * 2 Day (or 2 midnights prior to current time) |
| 36 | * 1 Week (or 7 midnights prior to current time) |
| 37 | * 2 Week (or 14 midnights prior to current time) |
| 38 | |
| 39 | 2 weeks will become the farthest point back to which we can revert. |
| 40 | |
| 41 | |
| 42 | === Incremental Backup (Local) === |
| 43 | [/projects/devsilverfile/wiki/administration/rdiff rdiff-backup] |
| 44 | |
| 45 | |
| 46 | === Incremental Backup (Remote) === |
| 47 | == Duplicity == |
| 48 | [/projects/devsilverfile/wiki/administration/duplicity duplicity] |
| 49 | |
| 50 | == s3cmd == |
| 51 | S3cmd is part of s3tools, which are a group of tools for interacting with the |
| 52 | Amazon S3. |
| 53 | {{{ |
| 54 | yum install s3cmd |
| 55 | s3cmd --configure |
| 56 | }}} |
| 57 | |
| 58 | Create a new S3 bucket with s3cmd: |
| 59 | {{{ |
| 60 | s3cmd mb s3://herron-steele/ |
| 61 | }}} |
| 62 | |
| 63 | List all buckets in S3 account: |
| 64 | {{{ |
| 65 | s3cmd ls |
| 66 | }}} |
| 67 | |