Difference between revisions of "UpgradeDisk"
Line 153: | Line 153: | ||
Now remove the CD and reboot into SME 8 : | Now remove the CD and reboot into SME 8 : | ||
− | mdadm -AR /dev/md5 /dev/hdx2 | + | mdadm -AR /dev/md5 /dev/hdx2 (n.b. you may find that /dev/md5 already exists) |
vgscan | vgscan | ||
vgchange -a y new_vg_name | vgchange -a y new_vg_name | ||
Line 166: | Line 166: | ||
db configuration setprop backup Program CopyFromDisk status enabled | db configuration setprop backup Program CopyFromDisk status enabled | ||
signal-event pre-restore | signal-event pre-restore | ||
− | signal-event restore-tape /mnt/ | + | signal-event restore-tape /mnt/tmp (note: this step may take a long time depending on how much data is being restored |
signal-event post-upgrade | signal-event post-upgrade | ||
signal-event reboot | signal-event reboot | ||
Line 173: | Line 173: | ||
All the usual warnings apply. Remember that any old contribs & templates will have to be reinstalled (assuming that they will work with V8) | All the usual warnings apply. Remember that any old contribs & templates will have to be reinstalled (assuming that they will work with V8) | ||
+ | |||
+ | |||
+ | == Using a third drive == | ||
+ | |||
+ | I have just repeated the exercise and it seems to work OK. It was much easier having a third drive. Mark the drives so you know what each contains ! I will refer to them as A, B & C - substitute the relevant drive paths accordingly. | ||
+ | |||
+ | |||
+ | |||
+ | I did the following : | ||
+ | |||
+ | |||
+ | Added the third drive (C) as a hot spare - see : http://wiki.contribs.org/Raid#Adding_another_Hard_Drive_Later | ||
+ | |||
+ | |||
+ | Stop the machine, remove one drive (B) and restart - this makes the array 'fail' and the hot spare will be added to the array and mirrored. Run the pre-backup for (A) & (C). Stop the machine. | ||
+ | |||
+ | |||
+ | Remove the SME7 drives (A) & (C). Install SM8 on the first pulled drive (B) and apply any updates. | ||
+ | |||
+ | |||
+ | Stop the machine. Pull the original disk (A) and store it out of the way - you can always get yourself back with this drive. It is better to save (A) as (C) may not have a boot partition correctly installed - see the notes on adding a hot spare : http://forums.contribs.org/index.php/topic,38041.msg171631.html#msg171631 | ||
+ | |||
+ | |||
+ | Reboot with an SME7 CD (see above for details) and the 'new' drive (C) and rename the LVM on it as detailed above | ||
+ | |||
+ | |||
+ | Stop the machine. Plug in the disk with SME8 (B) and the disk with SME7 (C). Boot from the SME8 disk (B). Mount the LVM on the SME7 disk (C) as above and restore from disk (C). | ||
+ | |||
+ | |||
+ | Check that the data has copied over OK, format disk (C) to wipe the old system and then add it to the SME 8 Array. | ||
+ | |||
+ | |||
+ | Finally once you are happy everything is working add back Disk (A) | ||
+ | |||
---- | ---- | ||
[[Category:Howto]] | [[Category:Howto]] | ||
[[Category:Administration:Storage]] | [[Category:Administration:Storage]] |
Revision as of 18:14, 1 October 2010
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.
- 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
- On the new machine do a fresh install of sme7
- Shut down & install old drive and start machine.
- mkdir /mnt/tmp
- mount /dev/hdb2 /mnt/tmp (adjust "hdb2" according to where the old drive is installed).
- db configuration setprop backup Program CopyFromDisk status enabled
- signal-event pre-restore
- signal-event restore-tape /mnt/tmp (note: this step may take a long time depending on how much data is being restored
- cd /etc/e-smith
- mv templates-custom templates-custom.old
- mkdir templates-custom
- mv templates-user-custom templates-user-custom.old
- mkdir templates-user-custom
- signal-event post-upgrade
- signal-event reboot
- 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.
- 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
- On the new machine do a fresh install of sme7
- 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
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/old mount /dev/new_vg_name/root /mnt/old
- 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
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
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
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
- Make sure you have a very good backup
- signal-event pre-backup on the old installation
- Boot with a SME7 CD and only one of your original disks (in the case of a RAID1 arrangement)
- 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 (n.b. you may find that /dev/md5 already exists) vgscan vgchange -a y new_vg_name mkdir /mnt/tmp mount /dev/new_vg_name/root /mnt/tmp
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/tmp (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)
Using a third drive
I have just repeated the exercise and it seems to work OK. It was much easier having a third drive. Mark the drives so you know what each contains ! I will refer to them as A, B & C - substitute the relevant drive paths accordingly.
I did the following :
Added the third drive (C) as a hot spare - see : http://wiki.contribs.org/Raid#Adding_another_Hard_Drive_Later
Stop the machine, remove one drive (B) and restart - this makes the array 'fail' and the hot spare will be added to the array and mirrored. Run the pre-backup for (A) & (C). Stop the machine.
Remove the SME7 drives (A) & (C). Install SM8 on the first pulled drive (B) and apply any updates.
Stop the machine. Pull the original disk (A) and store it out of the way - you can always get yourself back with this drive. It is better to save (A) as (C) may not have a boot partition correctly installed - see the notes on adding a hot spare : http://forums.contribs.org/index.php/topic,38041.msg171631.html#msg171631
Reboot with an SME7 CD (see above for details) and the 'new' drive (C) and rename the LVM on it as detailed above
Stop the machine. Plug in the disk with SME8 (B) and the disk with SME7 (C). Boot from the SME8 disk (B). Mount the LVM on the SME7 disk (C) as above and restore from disk (C).
Check that the data has copied over OK, format disk (C) to wipe the old system and then add it to the SME 8 Array.
Finally once you are happy everything is working add back Disk (A)