User Tools

Site Tools


virtualization:xenserver:xenserver_backup

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
virtualization:xenserver:xenserver_backup [2014/09/04 08:38]
gcooper
— (current)
Line 1: Line 1:
-====== XenServer Backup ====== 
  
-**Main Reference Article**: http://www.charleslabri.com/back-up-xenserver-6-to-network-share-with-fancy-scripting-and-lots-of-fun-and-no-downtime/ 
- 
-**Backup**: http://www.8layer8.com/?p=260 
- 
-**Restore**: http://www.8layer8.com/?p=200 
- 
-:!: You can back up all the VM's, XenServer hosts, and metadata for a XenServer pool from a single XenServer host. 
- 
-:!: Consider this a disaster recovery backup.  Use a file-by-file backup such as Ahsay for daily needs. 
- 
-:!: Here we use an NFS mount for backup storage. 
- 
-:!: XVA backups are compressed on the fly. 
- 
-:!: This is a no-downtime script set; it backs up the VM "live" by taking a snapshot, and then exporting that snapshot to a mount point on Dom0. 
- 
-===== The Basic Idea ===== 
-{{ :virtualization:xenserver:drive-backup-icon.png?200|}} 
-  - The local Dom0 on the XenServer runs cron 
-  - The ''cleanup.sh'' file runs and removes old data and emails regarding what happened previously 
-  - The ''audit.sh'' runs and outputs the info via e-mail to the backup admin 
-  - The ''meta-backup.sh'' runs and backs up Dom0 and the XenServer database and structure 
-  - The ''vm_backup.sh'' runs and backs up the VMs running on the host 
-    - enters the correct directory 
-    - sources the ''.lib'' and the ''.cfg'' files 
-    - determines what is to be backed up from the ''vm_backup.cfg'' file 
-    - calls for a backup (via live snapshot/export) 
-    - outputs to a log 
- 
-===== Prepare the NFS Mount and Test a Manual Backup ===== 
- 
-:!: Choose one of your XenServers to be the backup server, generally the pool master.  This script runs in Dom0 on a XenServer. 
- 
-:!: Here we assume you have a shared NFS folder ''/backup/xenserver-backup/VA-Hosting-Pool'' on IP address ''10.10.1.9'' and a XenServer pool named ''VA-Hosting-Pool''. 
- 
-Mount the NFS share: 
- 
-<file> 
-mkdir /mnt/backup 
- 
-vi /etc/fstab 
-</file> 
- 
-Append: 
- 
-<file> 
-# 
-# Mount the backup share 
-10.10.1.9:/backup/xenserver-backup/VA-Hosting-Pool /mnt/backup nfs _netdev 0 0 
-</file> 
- 
-Mount the share, check it's mounted and test a manual backup: 
- 
-<file> 
-mount -a 
-mount 
-xe vm-export vm="<your-vm-name>" filename=/mnt/backup/"<your-vm-name>".xva 
-</file> 
- 
-===== Get Mail Working ===== 
- 
-see also **[[networking:linux:ssmtp|SSMTP]]** 
- 
-Modify ''ssmtp.conf'' as necessary: 
- 
-<file> 
-vi /etc/ssmtp/ssmtp.conf 
- 
-root=adminuser@yourdomain.com 
-mailhub=mail.yourdomain.com:465 
-RewriteDomain=yourdomain.com 
-FromLineOverride=YES 
-UseTLS=YES 
-AuthUser=smtpuser 
-AuthPass=smtppass 
-</file> 
- 
-===== Install the Scripts on the Backup Server ===== 
- 
-<file> 
-mkdir -p /opt/backup && cd /opt/backup 
-wget https://www.dropbox.com/s/0fyijjlv30mc413/XenServerBackup.zip?dl=1 -O XenServerBackup.zip 
-unzip XenServerBackup.zip 
-rm -rf __MACOSX/ 
-chmod +x *.sh 
-chmod +x dbtool 
-cp -a ./dbtool /sbin/dbtool 
-</file> 
- 
-===== Configure the Scripts on the Backup Server ===== 
- 
-:!: You might want to use IP addresses to control which network interfaces are used for the backups. 
- 
-Change the names and filenames to the names you have for your XenServers according to the article: 
- 
-<file> 
-cd /opt/backup 
- 
-vi audit.sh 
- 
-vi cleanup.sh 
- 
-vi meta-backup.sh 
- 
-vi mailheader.txt 
- 
-vi vm_backup.cfg 
-</file> 
- 
-===== Testing ===== 
- 
-Run the cleanup script and check for an e-mail message: 
- 
-<file> 
-./cleanup.sh 
-</file> 
- 
-Run the audit script and check for an e-mail message: 
- 
-<file> 
-./audit.sh 
-</file> 
- 
-Then run the metadata backup script.  This will take longer, so let it run. 
- 
-<file> 
-./meta-backup.sh 
-</file> 
- 
-Now, make sure you have ''vm_backup.cfg'' set to only back up a limited set of VMs and try: 
- 
-<file> 
-./vm_backup.sh 
-</file>  
- 
-===== Configure Scheduling ===== 
- 
-This will add ''cron'' jobs to run backups every other day starting at 10:00pm: 
- 
-<file> 
-cat << EOF >> /etc/cron.d/backup.cron 
- 
-# Backup Scheduling 
-0 22 */2 * * root /opt/backup/cleanup.sh 
-10 22 */2 * * root /opt/backup/audit.sh 
-13 22 */2 * * root /opt/backup/meta-backup.sh 
-59 22 */2 * * root /opt/backup/vm_backup.sh 
- 
-EOF 
-</file> 
virtualization/xenserver/xenserver_backup.1409841532.txt.gz · Last modified: 2014/09/04 08:38 by gcooper