SCO OpenServer 5.0.7 - Restore to VMWare using RecoverEDGE

Production server:  SCO OpenServer 5.0.7MP3, Dell 2850 w/ PERC4Di RAID

Goal:  restore to generic hardware - in this case to a VMWare machine (specs below)

Backups:  Microlite BackupEdge/RestoreEdge bootable DVD

The goal is to be able to restore our production server onto whatever hardware happens to be available.  I already know that the bootable DVD created by BackupEdge works fine on the server itself, or with another server with exactly the same hardware.It does seem unlikely that if there is a disaster the original hardware will be available.  Hence the goal is to restore to anything, and to have a good enough understanding of the restore process to troubleshoot the process when unexpected things happen. Because they will. Especially when you have a deadline to meet. But I digress.

I started with a new VMWare machine.  The joy of VMWare is that if I can create a working copy of the production server in VMWare, I can take it anywhere. Right now I'm using VMWare Server, but I've also used it successfully with VMWare Workstation 5.5.
I started with the following configuration:

Memory:  512 MB
Harddisk:  Buslogic SCSI, location 0:0, 20GB (note:  you must use the Buslogic SCSI.  LSI does not work in SCO 507.)
CDROM:  IDE0:0 (The location here is important.  Though you can specify the location of the CDROM drive when booting the restore DVD, it’s easier if the location is the same as the original system.  In this case PRI/MAS)
Floppy:  Using blc.flp (This is the regular Buslogic driver diskette of which I created a VMWare “flp” image. You'll have to unzip it.)
Network:  Host-only.  (This doesn’t really matter at this point.  I’m keeping it off of the production subnet because SCO Licensing will detect another machine registered with the same keys.)

Power the virtual machine on, and boot from the bootable DVD that you created with BackupEdge

At the boot prompt, first check that the floppy drive will work.

The “dir fd(65)” shows the content of the blc BTLD floppy image.  That’s just a check to make sure the location is valid. fd(64) is the El Torito sector of the bootable DVD.

Let’s look at the bootstring.  “defbootstr” starts off with the default.  “link=fd(65)blc” links in the Buslogic SCSI driver, also manually specifying where to find it.  “Sdsk=blc(0,0,0,0)” tells the OS where the SCSI disk is, and “disable=amird” just tells the kernel not to bother with the amird driver (because the PERC4Di controller is no longer).

No we load the kernel and link in the blc driver.  Hit enter.  (The floppy image is already mounted.)

Looking at the hardware listed above, we luckily see no errors!  Well, not really.  “bcme0  Adapter not present” is fine…just the NIC that can’t be found.  Not to worry.  The good think is that our harddisk looks fine.  You'll know if it's not. Hit enter.

The CDROM drive was accessed successfully.  Great.  If you have to manually change the CDROM location, add “Srom=wd(x,y)” to the bootstring, where x is the IDE channel, and y is master/slave (using 0 and 1).  Hit enter.

Now we’re in RecoverEdge.  Hit Configure to setup the harddisk.  Unfortunately we can’t use Automatic because the harddisk is different.

Hit All to do all of the configuration at once.

Hit OK about the badtrk (just checks the HD for bad sectors), and hit yes to run fdisk.

Select 2 to use entire HD.  Confirm with “yes”.

You’re done!  Hit q to quit.

Now we’ll write the boot info.  Select the new partition that you just made.

Now we’ll run divvy in Installation mode to setup the filesystems.

Since I’ve already setup this disk it asks to confirm if I want to overwrite it.  I do.

The default swap-space is fine, as is the boot-space.  You do (well, *I* do, anyway) want a separate /u filesystem.  Make it 1GB.  Divvy will ask if you want to make manual adjustments, and you do.

Here is the default, but we’ll make changes.  We want a 4GB root, 1GB /u, and the remainder for our app.

Hit q to quit, and i to install the filesystems.

Now we can proceed with the resotre.

Select Destructive Restore (there’s nothing to destroy anyway!).

It mounts the filesystems.

According to the RecoverEdge manual, you can just leave this stuff as is.

Ready to go?  Hit yes.

Not sure what these errors mean.  Let me know if you have any ideas.

You can see the restore moving along nicely.  Sit back and have a beer.  Tell your boss not to worry….you’re about an hour away from having your system back.

Yay!  We’re done.

Exit RecoverEDGE.

Reboot, this time from the HD.

At the boot prompt, we’ll use the following for the bootstring:  “unix.install link=fd(64)blc Sdsk=blc(0,0,0,0) root=hd(42) dump=hd(41) swap=hd(41)”.  NB the location of our floppy drive has changed, since we’re not using the boot DVD anymore.

We’re using the “unix.install” kernel because the default “unix” kernel has all of the drivers linked in, and we don’t have enough memory to load it. Something about the old 640KB barrier...not really sure.  I'm also linking in the blc driver, and specifying the locations of the hd filesystems.

Startup in single user mode by entering the root password.  No sense in even trying to get to runlevel 2.

Next, we have to link in the Buslogic SCSI driver.  We’ll start by "vi /etc/conf/cf.d/mscsi"  comment out the original amird lines, and add a blc line with appropriate location info.

Next we'll mount the floppy image containing our blc driver:
mount /dev/fd0135ds18 /mnt

Now we’ll install the new blc driver:
btldinstall /mnt

Now we go through the steps to configure blc

We’ll configure it manually

One more.

Almost there…finish off by relinking the kernel.

Next we’ll disable the amirdmon raid monitor software:

vi /etc/idrc.d/amird 

I wanted to keep it around, so I just vi-ed it and commented everything out.

Tweak the bootstring:
vi /etc/default/boot

and add “amird” to the disable section of the boot string.  This tells the kernel not to load the amird driver.

The last step is to add the VMWare NIC.

netconfig

Remove the previous LAN adapter (in this case the Broadcom), and add the new one (VMWare).

Remove it.

Confirm it’s removed.

Now we’ll add the new one.

It should autodetect it.

Select TCP/IP.

Though it was originally a static IP address, I’m setting this one to DHCP.  This being a backup system I wanted to change the IP address, and it’s easier to change it this way.

Confirm.

When exiting netconfig, it will ask us to relink the kernel again.

It will ask you the same questions as before.

You’re done!  Hit init 6 to reboot, and see if it works.

Have another beer.  You deserve it.

There is nothing really new here--indeed, it's all available on websites and newsgroups--but it's nice to have it all in one place. Also, the act of documenting the process has been very good for me.

I welcome your comments/questions/suggestions.