WE CANNOT ACCEPT RESPONSIBILITY FOR ANY DATA LOSS OR CORRUPTION
BEFORE PROCEEDING, DO EXTENSIVE TESTING ON SPARE INFRASTRUCTURE
*** YOU PROCEED AT YOUR OWN RISK ***
This is the very tricky one, if you are running your server on a bare metal machine.
Please read the disclaimer above care fully and think about asking for expert linux help to do the upgrade.
If your server is virtualised then this procedure is not needed.
To avoid bare metal upgrades in the future, it is highly advised that you virtualise your server. Ask central campus IT to help you with this.
If you are presently running bare metal and are going to upgrade to another bare metal server, then read the guidelines below.
Bare metal to bare metal
Prep new machine
- Install Ubuntu
- Prepare Ubuntu
- The new machine hostname should be temporary. For example: http://irx.sun.ac.za
Export and import contents
- Put the old machine into maintenance mode.
- Export the PostrgeSQL DB from the old machine and import it to the new machine using "pgAdmin". See: http://www.pgadmin.org
- Copy the entire $HOME folder from the old machine to the new machines $HOME folder using "rsync". See: http://en.wikipedia.org/wiki/Rsync
Enable Tomcat webapps on new machine
- Follow this procedure to enable the java webapps on the new machine: http://wiki.lib.sun.ac.za/index.php/SUNScholar/Install_DSpace/S08
- Check for correct operation of DSpace on the new machine. A rebuild will probably be needed.
Enable "handle server" on new machine
- Follow this step to enable the handle server: http://wiki.lib.sun.ac.za/index.php/SUNScholar/Handle_Server#Step_9_-_Start_handle_server
- Rename the old machine. For example: http://irz.sun.ac.za. Then reboot.
- Rename the new machine so that it has the same hostname as the old machine. Then reboot.
- Check for correct operation of DSpace and handle server on the new machine.
Keep the old machine running for a while until the new machine is stabilised. This way you have a live backup in case of big problems.
There is always a performance price when you virtualise. In addition, since DSpace is a java webapp, you should realise, java is itself a virtual machine (JVM), so if you virtualise the hardware, then you are virtualising, an already, virtual machine! For this reason, bare metal machines always have the best performance for java webapps.
However, performance is not an issue if you have a small repository and very few people connected at one time as collection submitters/managers. If you anticipate having a big repository then you should consider going bare metal.
- What is big and small?
If your repository is very slow to work on, when connected and logged in as a collection manager, then you are moving to the big side, and you should look at optimising, or if you are using a virtual server, converting to bare metal.