Difference between revisions of "Moving SME to new Hardware"

From SME Server
Jump to navigationJump to search
(New page: === Introduction === There many ways to move a SME Server installation to a new hardware. This document describes a method using the '''Affa''' contrib. Affa makes it possible to move...)
 
Line 1: Line 1:
 
=== Introduction ===
 
=== Introduction ===
 
There many ways to move a SME Server installation to a new hardware.  
 
There many ways to move a SME Server installation to a new hardware.  
This document describes a method using the '''[[Affa]]''' contrib. Affa makes it possible to move with a minimal downtime of the production server. In the follwoing it is assumed that <code>prodIP</code> is the IP address of your production server and <code>newIP</code> is the IP address of the new server hardware. Replace both placeholders by your real IP adresses.
+
This document describes a method using the '''[[Affa]]''' contrib.<br>
 +
Affa makes it possible to move with a minimal downtime of the production server.<br>
 +
In the follwoing it is assumed that <code>prodIP</code> is the IP address of your production server and <code>newIP</code> is the IP address of the new server hardware. Replace both placeholders by your real IP adresses.
  
 
=== Preparation ===
 
=== Preparation ===
 
==== Production server ====
 
==== Production server ====
Enable ssh access for your local network in the server-manager of <code>prodIP</code>.
+
Enable remote ssh access in the server-manager of <code>prodIP</code>.<br>
 
Log into the <code>prodIP</code> box and run an update<br>
 
Log into the <code>prodIP</code> box and run an update<br>
 
<code>
 
<code>
 
  # yum update
 
  # yum update
</code><br>
+
</code>
 
+
If packages were updated signalling post-upgrade und reboot events is required.
 
==== New hardware ====
 
==== New hardware ====
 
Install SME Server from the latest Cdrom/Iso. Assign an unused IP address (<code>newIP</code>) and disable DHCP.<br>
 
Install SME Server from the latest Cdrom/Iso. Assign an unused IP address (<code>newIP</code>) and disable DHCP.<br>
Enable ssh access for your local network in the server-manager of <code>newIP</code>.<br>
+
Enable remote ssh access in the server-manager of <code>newIP</code>.<br>
 +
 
 +
'''''Note:''' From now on all further steps can be done remotely via ssh login.''<br>
 +
 
 
Log into the <code>newIP</code> box and run an update<br>
 
Log into the <code>newIP</code> box and run an update<br>
<code># yum update</code><br>
+
<code>
 +
# yum update
 +
</code>
 +
Signalling post-upgrade und reboot events is required.<br>
 +
 
 
Download the '''''smeserver-affa''''' and '''''perl-Filesys-DiskFree''''' packages from [http://mirror.contribs.org/smeserver/contribs/michaelw/sme7/affa/ one of the SME Server contrib mirrors].<br>
 
Download the '''''smeserver-affa''''' and '''''perl-Filesys-DiskFree''''' packages from [http://mirror.contribs.org/smeserver/contribs/michaelw/sme7/affa/ one of the SME Server contrib mirrors].<br>
  
Line 22: Line 31:
 
  # yum localinstall smeserver-affa*rpm perl-Filesys-DiskFree*rpm
 
  # yum localinstall smeserver-affa*rpm perl-Filesys-DiskFree*rpm
 
</code>
 
</code>
 +
Signalling post-upgrade und reboot events is '''not''' required.<br>
 +
 
Configure Affa<br>
 
Configure Affa<br>
 
<code>
 
<code>
Line 38: Line 49:
 
  # affa --run prodserv
 
  # affa --run prodserv
 
</code>
 
</code>
Depending on the amount of data and the speed of hardware and network this can take a really long time.
+
Depending on the amount of data and the speed of hardware and network this first job run can take a really long time.
  
 
Now view the file <code>/var/affa/prodserv/rpms-missing.txt</code>
 
Now view the file <code>/var/affa/prodserv/rpms-missing.txt</code>
Line 53: Line 64:
 
  # for s in $SVC; do service $s stop; done
 
  # for s in $SVC; do service $s stop; done
 
</code>
 
</code>
 +
'''''Note:''' Downtime of the production server starts here''
  
 
Log into the <code>newIP</code> box and run the Affa job again
 
Log into the <code>newIP</code> box and run the Affa job again
Line 73: Line 85:
 
<code>
 
<code>
 
  # reboot
 
  # reboot
 +
'''''Note:''' Downtime of the production server ends here''
 
</code>
 
</code>
  
Line 82: Line 95:
 
  # /bin/rm -rf /var/affa
 
  # /bin/rm -rf /var/affa
 
</code>
 
</code>
 
+
Remove the Affa packages
 
+
<code>
 +
# yum remove smeserver-affa perl-Filesys-DiskFree
 +
</code>
 
[[Category: Howto]]
 
[[Category: Howto]]
 
----
 
----

Revision as of 14:23, 6 July 2007

Introduction

There many ways to move a SME Server installation to a new hardware. This document describes a method using the Affa contrib.
Affa makes it possible to move with a minimal downtime of the production server.
In the follwoing it is assumed that prodIP is the IP address of your production server and newIP is the IP address of the new server hardware. Replace both placeholders by your real IP adresses.

Preparation

Production server

Enable remote ssh access in the server-manager of prodIP.
Log into the prodIP box and run an update

# yum update

If packages were updated signalling post-upgrade und reboot events is required.

New hardware

Install SME Server from the latest Cdrom/Iso. Assign an unused IP address (newIP) and disable DHCP.
Enable remote ssh access in the server-manager of newIP.

Note: From now on all further steps can be done remotely via ssh login.

Log into the newIP box and run an update

# yum update

Signalling post-upgrade und reboot events is required.

Download the smeserver-affa and perl-Filesys-DiskFree packages from one of the SME Server contrib mirrors.

Install both packges

# yum localinstall smeserver-affa*rpm perl-Filesys-DiskFree*rpm

Signalling post-upgrade und reboot events is not required.

Configure Affa

# db affa set prodserv job
# db affa setprop prodserv remoteHostName prodIP
# db affa setprop prodserv RPMCheck yes

Generate DSA keys and send the public key to the prodIP server

# affa --send-key prodserv

Copying data

Run the Affa job on the newIP box

# affa --run prodserv

Depending on the amount of data and the speed of hardware and network this first job run can take a really long time.

Now view the file /var/affa/prodserv/rpms-missing.txt

# less /var/affa/prodserv/rpms-missing.txt

You will find a list of RPMs which are installed on prodIP but not on this server (newIP) and also RPMs installed with different versions. Install or update the listed RPMs. To verify you can run the steps of this chapter again. Finally the rpms-missing.txt should not list any RPMs.

Final data synchronisation

Ask your users to log off.
Log into the prodIP box and stop all services that can modify data.

# SVC='qpsmtpd sqpsmtpd crond imap pop3 imaps pop3s ftp httpd-e-smith atalk smb qmail' 
# for s in $SVC; do service $s stop; done

Note: Downtime of the production server starts here

Log into the newIP box and run the Affa job again

# affa --run prodserv

This run will complete very quickly as only differences since the the last run needs to be synchronsized.

Switch over to the new hardware

Log into the prodIP box and power it off

# poweroff

Log into the newIP box and rise this server to your production server

# affa --rise prodserv

This action will complete very quickly as only hardlinks are used and no data is physically moved.
Now do a reboot

# reboot

Note: Downtime of the production server ends here

You now have an identical copy of your old production server running on the new hardware. Your users can now log on.

Cleaning up

Remove the Affa archives

# /bin/rm -rf /var/affa

Remove the Affa packages

# yum remove smeserver-affa perl-Filesys-DiskFree