<!-- @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } -->Backup and Restore of Thalia Clusters to the Eurydice backup server. Setup of Remote Server to be backed up. # Login to remote server (part of Thalia cluster) as root user. # Create needed directories mkdir /root/.ssh mkdir /home/rmtbckup # Create ssh key ssh-keygen \-t rsa \-b 1024 \[press return until you are back to command line - do not use encrypted private keys, as this will cause the cron job to fail\] # Copy ssh key to eurydice.mit.edu scp /root/.ssh/id_rsa.pub \ rmtbckup@eurydice.mit.edu:/home/rmtbckup/.ssh/`hostname`-id_rsa.pub # Login to eurydice as rmtbckup \[note, this should be done from another thalia system, as Ubuntu does not currently have working Kerberos configurations\] # Add public key to authorized key lists and deleted from eurydice ## On Eurydice: cd /home/rmtbckup/.ssh cat \[remote hostname\]-id_rsa.pub >> authorized_keys rm \[remote hostname\]-id_rsa.pub ## On remote server: cd /root/.ssh cat id_rsa.pub >> authorized_keys # Install the zinc-backup.py script into /root on the remote server, and add the following line to /var/spool/cron/root: 30 3 * * * /root/zinc-backup.py >> /loc/logs/zinc-backup.log 2>&1 & # Test backup per manual backup procedures (below) Procedures to manually backup Thalia clusters. # Hypothetically, only one stack in a thalia cluster needs to be backed up, however, this has not been tested. # Do NOT stop services for the backup, this is a hot backup procedure. # Login to the MySQL server of the Thalia cluster as root, and run the backup script: /root/zinc-backup.py Alternatively, you could backup the database with the myslqdump command: mysqldump \--single-transaction \-q \-B "+dbname+" \-r /home/rmtbckup/`hostname`-db-`date \ %F+%H+$M`.sql # Login to Alfresco server of the Thalia cluster as root, and run the backup script: /root/zinc-backup.py Alternatively, you could backup the filestore with the tar command: tar \-czf /home/rmtbckup/`hostname`-file-`date \+%F-%H-%M`.tgz /home/\[alf_home\]/alf_data/\* # Login to Eurydice as rmtbckup and check that the files are there. # Let files remain on the local server for capture onto Tape via Tivoli. Procedures to restore Thalia cluster from backup: # Use scp to transfer files from Eurydice to the remote servers in the cluster. Since Kerberos does not function well from Ubuntu, you will need to login to a Thalia server, then into Eurydice. The files with '-db-' in their names are the database backups and the files with '-file-' in their names are the filestore (Alfresco) backups. Match hostname at the beginning of the file to the hostname of the remote server. # Login to the top level Thalia servers in the cluster, and stop Thalia. Currently, this is isda-thalia5 and isda-thalia8. /etc/init.d/web stop # Login to the Alfresco server in the cluster, and stop Alfresco. /etc/init.d/web stop # Clear the filestore. rm \-rf $ALF_HOME/alf_data # Untar the file backup: tar \-xjvf /home/rmtbckup/`hostname`-file-\[date of backup\].bz2 $ALF_HOME/alf_data # Login to the MySQL server, and dump the database. The database name is available in the alfresco/extensions directory in the custom-db-connections.properties file. mysql drop database \[db.name\]; revoke all privileges, grant option from \[db.username\]@*; drop user \[db.username\]@*; # Source the sql backup, and grant privledges to the Alfresco user. See custom-db-connections.properites. source /home/rmtbckup/\[hostname\]-db-\[db.name\]-\[date of backup\].sql; grant all on \[db.name\].\* to \[db.username\]@'localhost' identified by \[db.password\] with grant option; grant all on \[db.name\].\* to \[db.username\]@'localhost.localdomain' identified by \[db.password\] with grant option; grant all on \[db.name\].\* to \[db.username\]@\[IP of Alfresco server\] identified by \[db.password\] with grant option; grant all on \[db.name\].\* to \[db.username\]@\[hostname of Alfresco server\] identified by \[db.password\] with grant option; # Login to Alfresco server and restart Alfresco. /etc/init.d/web start # Login to Thalia server and restart Thalia. /etc/init.d/web start # Test cluster functionality. |