Full OS/2 System Recovery
via
ADSM over TCP/IP
At our site, we backup our OS/2 workstations with IBM ADSM over a TCP/IP
network to a big IBM Mainframe of some sort. One apparent omission from
the ADSM recovery procedure, though, concerns full system recovery.
That is, if the system disk on one of our workstations were to fail, we
did not want to get a new disk and then:
1) re-install OS/2
2) re-install TCP/IP
3) re-install IBM ADSM
4) recover the rest of the lost system
The solution written up here shows how to create 3 boot diskettes so
that you simply install the new hard disk, boot off the floppies, fdisk
and format the hard disk and then run the dsmc restore function to
re-create your system, desktop and all.
This worked on my system with 16mb ram and 2-floppies. a: is a 3.5"
1.44mb and b: is a 5.25 1.2mb. I am running OS/2 v. 2.11 and TCP/IP
2.0.
The technique here is based on information provided by Bill Colwell
(bcolwell AT draper DOT com) who said he had done it and it worked OK and by
Charles Oldham (cro AT socrates.ed.asu DOT edu) who posted an article showing
how to create a minimal TCP/IP configuration that could boot from
floppies. My procedure differed from his by using the IBM EWS
BootOS2.exe program to create the main OS/2 boot disk.
***** N O T E ******
I am assuming that you build these boot disks from the PC that you
intend to recover. If you try to use them on some other PC, they
probably won't work. At a minimum, the ethernet card parameters are
likely to be wrong. If you want to make a set of disks that can be used
on any machine in your unit, you'll probably need to make some changes.
Procedure
ADSM SETUP:
I use a standard ADSM setup, except I eliminate all of the excludes
that are in the dsm.opt file on my workstation except swapper.dat,
i.e.
EXCLUDE c:\os2\system\swapper.dat
* EXCLUDE "*:\ea data. sf"
* EXCLUDE c:\ibmbio.com
* EXCLUDE c:\os2ldr
* EXCLUDE c:\os2krnl
CREATING THE BOOT FLOPPIES:
1) Using the IBM Employee Written Software program BOOTOS2.EXE,
available from software.watson.ibm.com, create a single OS/2 boot disk.
We'll call this 'boot disk A'.
2) Create a second floppy to be concurrently installed along with boot
disk A while booting. For me, this was my 1.2mb 'B' drive floppy. We'll
call this 'boot disk B' The disk should have the following files and
directory structure:
-------------------------------------------------
dir /s b:
dir /s b:
The volume label in drive B is BOOT_DISK_B.
The Volume Serial Number is 6273:B414
Directory of B:\
IBMCOM <DIR> 12-20-94 5:07p
TCPIP <DIR> 12-20-94 5:08p
BIN <DIR> 12-20-94 5:30p
3 file(s) 0 bytes used
Directory of B:\IBMCOM
. <DIR> 12-20-94 5:07p
.. <DIR> 12-20-94 5:07p
MACS <DIR> 12-20-94 5:07p
PROTOCOL <DIR> 12-20-94 5:08p
PROTMAN OS2 12132 7-26-93 3:39p
PROTOCOL INI 1021 12-16-94 4:16p
6 file(s) 13153 bytes used
Directory of B:\IBMCOM\MACS <-- put the correct files for your enet card
in this directory
. <DIR> 12-20-94 5:07p
.. <DIR> 12-20-94 5:07p
MACWD OS2 17972 7-26-93 3:20p
MACWD2 OS2 17972 7-26-93 3:16p
MACWDAT NIF 3515 7-26-93 3:27p
MACWDMC NIF 2379 7-26-93 3:27p
6 file(s) 41838 bytes used
Directory of B:\IBMCOM\PROTOCOL
. <DIR> 12-20-94 5:08p
.. <DIR> 12-20-94 5:08p
LANPDD OS2 2198 9-08-92 7:33a
LANVDD OS2 36944 9-17-92 7:07a
NETBIND EXE 13609 7-26-93 4:20p
TCPIP NIF 143 3-11-92 10:50a
6 file(s) 52894 bytes used
Directory of B:\TCPIP
. <DIR> 12-20-94 5:08p
.. <DIR> 12-20-94 5:08p
BIN <DIR> 12-20-94 5:08p
DLL <DIR> 12-20-94 5:08p
ETC <DIR> 12-20-94 5:08p
5 file(s) 0 bytes used
Directory of B:\TCPIP\BIN
. <DIR> 12-20-94 5:08p
.. <DIR> 12-20-94 5:08p
CNTRL EXE 10751 3-14-94 1:59p
IFCONFIG EXE 13025 4-04-94 10:17a
IFNDIS SYS 31987 7-27-94 9:26a
INET SYS 122389 7-13-94 5:45p
TCPSTART CMD 1496 12-21-94 10:24a <-Actually, you don't need this
SETUP CMD 306 12-16-94 3:43p
TCPSTART CM$ 1496 12-21-94 10:23a
ROUTE EXE 13487 7-29-94 12:34p
ARP EXE 16655 7-08-93 10:45a
11 file(s) 211592 bytes used
Directory of B:\TCPIP\DLL
. <DIR> 12-20-94 5:08p
.. <DIR> 12-20-94 5:08p
SO32DLL DLL 60813 7-14-94 10:51a
TCP32DLL DLL 77494 7-13-94 5:48p
TCPIPDLL DLL 41003 10-25-94 1:38p
UHPFS DLL 181408 1-28-94 11:59p
NAMPIPES DLL 1024 1-29-94 1:40a
7 file(s) 361742 bytes used
Directory of B:\TCPIP\ETC
. <DIR> 12-20-94 5:08p
.. <DIR> 12-20-94 5:08p
PROTOCOL 805 6-17-93 5:43p
SERVICES 5023 6-17-93 5:43p
4 file(s) 5828 bytes used
Directory of B:\BIN
. <DIR> 12-20-94 5:30p
.. <DIR> 12-20-94 5:30p
FDISK COM 108196 2-11-94 5:27p
CHKDSK COM 68656 1-29-94 2:16a
FORMAT COM 66832 1-29-94 2:42a
5 file(s) 243684 bytes used
Total files listed:
53 file(s) 930731 bytes used
270336 bytes free
----------------------------------------------
3) Modify the config.sys file on boot disk A so that it looks something
3) Modify the config.sys file on boot disk A so that it looks something
like this.
----------------------------------------------
PAUSEONERROR=NO
PAUSEONERROR=NO
LIBPATH=.;A:\OS2\DLL;b:\tcpip\dll;a:\adsm\dll
SET PATH=A:\OS2;b:\tcpip\bin;b:\bin;
SET DPATH=A:\OS2
SET PROMPT=[$p]
BUFFERS=30
IOPL=YES
IFS=\OS2\HPFS.IFS /CACHE:64
BASEDEV=IBM1FLPY.ADD
BASEDEV=IBM1S506.ADD /A:0 /U:0 /SMS /V
BASEDEV=OS2DASD.DMD
CODEPAGE=850
DEVINFO=KBD,US,\OS2\KEYBOARD.DCP
DEVINFO=SCR,EGA,\OS2\VTBL850.DCP
SET KEYS=ON
PROTSHELL=\OS2\CMD.EXE
SET OS2_SHELL=\OS2\CMD.EXE
MEMMAN=NOSWAP,PROTECT
device=b:\ibmcom\protman.os2 /i:b:\ibmcom
SET ETC=b:\TCPIP\ETC
SET TMP=b:\TCPIP\TMP
DEVICE=b:\IBMCOM\PROTOCOL\LANPDD.OS2
DEVICE=b:\IBMCOM\PROTOCOL\LANVDD.OS2
RUN=b:\IBMCOM\PROTOCOL\NETBIND.EXE
DEVICE=b:\tcpip\bin\INET.SYS
DEVICE=b:\tcpip\bin\IFNDIS.SYS
DEVICE=b:\IBMCOM\MACS\macwd.OS2 <-- Change this for your enet card
RUN=b:\TCPIP\BIN\CNTRL.EXE
SET TZ=est5 <-- change for your timezone
-------------------------------------------------
4) Create an ADSM diskette with the following files:
4) Create an ADSM diskette with the following files:
-------------------------------------------------
dir /s a:
dir /s a:
The volume label in drive A is ADSM_CLIENT.
The Volume Serial Number is 6593:0814
Directory of A:\
ADSM <DIR> 12-20-94 6:05p
1 file(s) 0 bytes used
Directory of A:\ADSM
. <DIR> 12-20-94 6:05p
.. <DIR> 12-20-94 6:05p
DLL <DIR> 12-20-94 6:05p
DSMC EXE 492900 11-25-94 10:00a
DSM OPT 4018 12-20-94 6:09p
DSCAMENG TXT 226240 11-25-94 10:00a
6 file(s) 723158 bytes used
Directory of A:\ADSM\DLL
. <DIR> 12-20-94 6:05p
.. <DIR> 12-20-94 6:05p
DSMLLCOM DLL 78610 11-25-94 10:00a
FCLCNRP DLL 244096 5-25-94 9:30a
HPFS386 DLL 5740 1-20-94 9:30a
5 file(s) 328446 bytes used
Total files listed:
12 file(s) 1051604 bytes used
403968 bytes free
-------------------------------------------------
This should be on a floppy that will replace boot disk A
This should be on a floppy that will replace boot disk A
5) Now that you have your diskette set, go ahead and boot your machine
off of them and execute some command like dsmc query schedule to verify
that everything works. Watch your hard disk light to make sure that
nothing is pointing back to your original installation.
SYSTEM RECOVERY:
For simplicity, lets assume that you have your system on the C drive,
and that is all you have. Further, assume that you have a fresh ADSM
backup on the server. Now, if you hard disk crashes, you can install a
new one and follow the procedure listed below to get a full recovery of
your system, desktop and all.
0) You may need to go into your machines CMOS setup and set the drive
information if you have replaced your hard disk with a different size or
type.
1) Install boot disk A into the A drive and boot disk B into the B drive
and turn your computer on. It should boot, load some enet drivers and
give you an A prompt.
2) Run fdisk and then format to set things up the way you want them.
You'll probably need to reboot after you run fdisk. Both Bill Colwell
and Charles Oldham (mentioned above) think that you may need to run
sysinstx.com (found on disk 2 of the OS/2 2.11 service or disk 0 of the
OS2 2.1 distribution disks) somewhere around here. I didn't, but my
setup was very simple. (If you don't set you new partitions up the same
way the old disk was, you may need to modify your restore command)
3) Execute setup.cmd This will get the TCP/IP stuff going.
4) Remove boot disk A and replace it with the ADSM diskette.
5) cd to the adsm directory and run dsmc
6) issue the command
dsmc> restore -Subdir=yes c:*
(I doubt the -subdir command is necessary)
7) Go have a cup of coffee (actually, I had time to bake a potato)
8) When the restore is complete, reboot your computer and you should be
back to where you started.
CAVEATS:
This worked for me, but just before I removed my old hard disk, I booted
off my boot diskette set and did an incremental backup. In this case,
the system had not booted off of my C drive so I got a completely clean
disk image before recovery. Until someone tries it, we can't be sure
there won't be some problem caused by open files, or something. I had
only a single hard disk, with no boot manager--just a single HPFS
partition.
Also, I note that on page 115 of the IBM Adstar Distributed Storage
Manager User's Guide and Reference for OS/2 Release 2 it states:
"You should always exclude [ the system files that we need ] because
they are system used files. Even if they are backed up, they cannot
properly be restored. If they are restored, they can corrupt the
operation of the system"
This is a clear and concise statement from IBM that what I did should
not be done, and, if done, should not have worked. Such statements make
me a bit nervous.
Good luck, and please send me comments regarding this.
Phil West,
Senior Research Engineer,
Electronic Systems Lab, Georgia Tech Research Institute
Atlanta, GA 30332 Phone: 404-894-7289 Phil.West AT gtri.gatech DOT edu
|