Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
<!-- 		@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

Backup and Restore of Thalia Clusters to the Eurydice backup server.

Setup of Remote Server to be backed up.

1.Login to remote server (part of Thalia cluster) as root user.
2.Create needed directories

mkdir /root/.ssh
mkdir /home/rmtbckup

3.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\]

...

6.Add public key to authorized key lists and deleted from eurydice

1.On Eurydice:

...



# 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.

...

2.Do NOT stop services for the backup, this is a hot backup procedure.

3.Login to the MySQL server of the Thalia cluster as root, and run the backup script:

/root/thalia-baclup.py

Alternatively, you could backup the database with the myslqdump command:

...



# 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/\*

...

5.Use scp to transfer backup files to eurydice:

scp /home/rmtbckup/* rmtbckup@eurydice.mit.edu:/home/rmtbckup

6.Login to Eurydice as rmtbckup and check that the files are there.

7.Delete old files from remote servers, do this for both the MySQL and Alfresco servers.

Procedures to restore Thalia cluster from backup:

1.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. 

2.Login to the top level Thalia servers in the cluster, and stop Thalia.  Currently, this is isda-thalia5 and isda-thalia8.


# 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

...

3.Login to the Alfresco server in the cluster, and stop Alfresco.

 stop
# Login to the Alfresco server in 	the cluster, and stop Alfresco.

/etc/init.d/web

...

4.Clear the filestore.

...

 stop
# Clear the filestore.

rm \-rf 

...

 $ALF_HOME/alf_data

...

5.Untar the file backup:

...


# 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;

...

8.Login to Alfresco server and restart Alfresco.


# Login to Alfresco server and 	restart Alfresco.

/etc/init.d/web

...

9.Login to Thalia server and restart Thalia.

 start
# Login to Thalia server and restart 	Thalia.

/etc/init.d/web

...

 start
# Test cluster functionality.