UpgradeDisk

From SME Server
Revision as of 22:35, 11 September 2010 by ReetP (talk | contribs) (→‎Upgrade Disk)
Jump to navigationJump to search

Upgrade Disk

Introduction

Hard drive restore requires a complete system. It is meant to take a hard drive from a system, mount it, and do a restore from it.

It does not restore contribs or manually added software, except if it's in an Ibay and instructs you to move custom-templates. Pay special attention to contribs that store data files in /opt as this will not move automatically thus after remounting the old drive you may need to move the data files over after you have re-installed the contribs.

The restore includes mysql databases even for contribs. Thus after the restore if you re-add the same contribs (save version too) then your contribs should be able to access their mysql database. If you upgrade the contrib at the same time then note that contrib's upgrade procedures for it's database. Note comment in regards /opt above.

Moving from 6.x to 7.x

Summarised from http://forums.contribs.org/index.php?topic=30745.0

The following instructions were first developed when people were moving from 6.x to 7.0. At that time the templates directory had changed between versions.

  1. On the old SME server prior to shutting down, at the root command prompt issue the command /sbin/e-smith/signal-event pre-backup then shutdown & remove the drive
  2. On the new machine do a fresh install of sme7
  3. Shut down & install old drive and start machine.
  4. mkdir /mnt/tmp
  5. mount /dev/hdb2 /mnt/tmp (adjust "hdb2" according to where the old drive is installed).
  6. db configuration setprop backup Program CopyFromDisk status enabled
  7. signal-event pre-restore
  8. signal-event restore-tape /mnt/tmp (note: this step may take a long time depending on how much data is being restored
  9. cd /etc/e-smith
  10. mv templates-custom templates-custom.old
  11. mkdir templates-custom
  12. mv templates-user-custom templates-user-custom.old
  13. mkdir templates-user-custom
  14. signal-event post-upgrade
  15. signal-event reboot
  16. Shutdown and remove old drive

Copying from 7.x to 7.x

In this case your template directories and other structures should not have to change thus the template directory changes are not needed. However SME 7 does use LVM and you will by default end up with an LVM group name conflict, thus new steps are added to rename the LVM group name on the old disk.

  1. On the old SME server prior to shutting down, at the root command prompt issue the command /sbin/e-smith/signal-event pre-backup then shutdown & remove the drive
  2. On the new machine do a fresh install of sme7
  3. Shut down & install old drive.

Boot from SME Server 7.x install CD

press F5

type "sme rescue" at the command prompt and hit enter


Important.png Note:
don't start the network and skip mounting the filesystem.



Important.png Note:
If you are on a newer board the disk may show up on /dev/sdx so the reference to hdx2 should be changed to sdx2; where you need to change "x" to the appropriate letter to match the the disk.

when you do the "lvm vgscan" the LVM name should be "main" thus the value "orig_vg_name" should be "main". If it is different then use the appropriate LVM name.


mdadm -AR /dev/md5 /dev/hdx2
lvm vgscan
lvm vgs -v
lvm vgchange -a n
lvm vgrename orig_vg_name new_vg_name
exit

Now remove the CD and reboot.


Important.png Note:
In most cases you won't need the mdadm, vgscan, vgchange commands below but they won't hurt. If you get an error with mdadm in regards to md5 being busy it is likely because your drive was automatically mounted. If the mount command works and you can see your data on it then it worked.

don't forget that "new_vg_name" references below should be whatever you used above.


mdadm -AR /dev/md5 /dev/hdx2
vgscan
vgchange -a y new_vg_name
mkdir /mnt/old
mount /dev/new_vg_name/root /mnt/old
  1. db configuration setprop backup Program CopyFromDisk status enabled
  2. signal-event pre-restore
  3. signal-event restore-tape /mnt/old (note: this step may take a long time depending on how much data is being restored
  4. signal-event post-upgrade
  5. signal-event reboot
  6. Shutdown and remove old drive

Reference information

Additional tips from http://forums.contribs.org/index.php?topic=39892.0 which refers to http://forums.contribs.org/index.php?topic=37686.0

The original disk will not mount due to volume group name conflicts with the existing drive(s). Follow this procedure to rename the volume group on the original disk:

Boot from SME Server 7.1 (or newer) install CD

press F5

type "sme rescue" at the command prompt and hit enter

Note: don't start the network and skip mounting the filesystem.

mdadm -AR /dev/md5 /dev/hdx2
lvm vgscan
lvm vgs -v
lvm vgchange -a n
lvm vgrename orig_vg_name new_vg_name
exit

Now remove the CD and reboot

mdadm -AR /dev/md5 /dev/hdx2
vgscan
vgchange -a y new_vg_name
mkdir /mnt/tmp
mount /dev/new_vg_name/root /mnt/tmp
Important.png Note:
In some rare cases your VolumeGroup name listed in the last line might be different, more information can be found in [[bugzilla: 3883]].


You should now be able to view all your old data under /mnt/tmp

Follow the steps listed above to use CopyFromDisk to restore the data.


To understand more of the background of LVM and RAID data recovery, read this:

http://www.linuxjournal.com/article/8874


Moving from SME 7.x to SME 8

Important.png Note:
Please note this information has not been thoroughly tested but may serve to assist - it worked for me but YMMV.



See this thread:

http://forums.contribs.org/index.php/topic,46531.0.html

and this Bug :

http://bugs.contribs.org/show_bug.cgi?id=6195


It would appear that you cannot rename the VolumeGroup on a SME 7 installation with the SME 8 CD


Important.png Note:
Before you start, It might be worth fscking the disk/s to ensure that there are no errors.


  1. Make sure you have a very good backup
  2. signal-event pre-backup on the old installation
  3. Boot with a SME7 CD and only one of your original disks (in the case of a RAID1 arrangement)
  4. As per instructions in "Boot from SME Server 7.1 (or newer) install CD" above :

Type "sme rescue" at the command prompt and hit enter

Note: don't start the network and skip mounting the filesystem.

mdadm -AR /dev/md5 /dev/hdx2
lvm vgscan
lvm vgs -v
lvm vgchange -a n
lvm vgrename orig_vg_name new_vg_name
exit

Now remove the CD and reboot into SME 8 :

mdadm -AR /dev/md5 /dev/hdx2
vgscan
vgchange -a y new_vg_name
mkdir /mnt/tmp
mount /dev/new_vg_name/root /mnt/tmp


Important.png Note:
In some rare cases your VolumeGroup name listed in the last line might be different, more information can be found in [[bugzilla: 3883]].


You should now be able to view all your old data under /mnt/tmp


db configuration setprop backup Program CopyFromDisk status enabled
signal-event pre-restore
signal-event restore-tape /mnt/old (note: this step may take a long time depending on how much data is being restored
signal-event post-upgrade
signal-event reboot

Shutdown and remove old drive and reboot

All the usual warnings apply. Remember that any old contribs & templates will have to be reinstalled (assuming that they will work with V8)