home *** CD-ROM | disk | FTP | other *** search
/ Freelog Special Edition 1: Linux / CD1.iso / doc / HOWTO / mini / ADSM-Backup < prev    next >
Text File  |  1998-10-14  |  5KB  |  199 lines

  1.   Linux ADSM Mini-Howto
  2.   by Thomas K÷nig, Thomas.Koenig@ciw.uni-karlsruhe.de
  3.   v, 15 January 1997
  4.  
  5.   This document describes how to install and use a client for the com¡
  6.   mercial ADSM backup system for Linux/i386.
  7.   ______________________________________________________________________
  8.  
  9.   Table of Contents
  10.  
  11.  
  12.   1. Introduction
  13.  
  14.   2. Installing the iBCS module
  15.  
  16.   3. Installing the ADSM client
  17.  
  18.   4. Running the client
  19.  
  20.   5. Known Problems
  21.  
  22.  
  23.  
  24.   ______________________________________________________________________
  25.  
  26.   1.  Introduction
  27.  
  28.   ADSM is a network-based backup system, sold by IBM, in use at many
  29.   organizations.  There are clients for a large variety of systems
  30.   (different UNIX brands, Windows, Novell, Mac, Windows NT).
  31.   Unfortunately, at the time of this writing, there is no native Linux
  32.   version.
  33.  
  34.   You will have to use the SCO binary, and install the iBCS2-emulator
  35.   for running ADSM.  This description is for ADSM v2r1.
  36.  
  37.   At the time if this writing, I am only aware of a version which works
  38.   with the i386 version of Linux.
  39.  
  40.   2.  Installing the iBCS module
  41.  
  42.   The iBCS2 module is available from
  43.   ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2.  If you are running kernel
  44.   version 1.2.13, get ibcs-1.2-950721.tar.gz, unpac it and apply the
  45.   patches ibcs-1.2-950808.patch1 and ibcs-1.2-950828.patch2.  You can
  46.   then type "make" and install the iBCS modlue with "insmod".
  47.  
  48.   For a 2.0 kernel version, get ibcs-2.0-960610.tar.gz, unpack it in a
  49.   suitable place, chdir into that directory, and apply the following
  50.   patch:
  51.  
  52.  
  53.   --- iBCSemul/ipc.c.orig Wed Jan 15 21:32:15 1997
  54.   +++ iBCSemul/ipc.c      Wed Jan 15 21:32:31 1997
  55.   @@ -212,7 +212,7 @@
  56.           switch (command) {
  57.                   case U_SEMCTL:
  58.                           cmd = ibcs_sem_trans(arg3);
  59.   -                       arg4 = (union semun *)get_syscall_parameter (regs, 4);
  60.   +                       arg4 = (union semun *)(((unsigned long *) regs->esp) + (5));
  61.                           is_p = (struct ibcs_semid_ds *)get_fs_long(arg4->buf);
  62.    #ifdef IBCS_TRACE
  63.                           if ((ibcs_trace & TRACE_API) || ibcs_func_p->trace)
  64.  
  65.  
  66.  
  67.   Then, copy CONFIG.i386 to CONFIG, and type make.
  68.  
  69.   If you don't have them already, create the needed device files by
  70.   executing
  71.  
  72.   # cd /dev
  73.   # ln -s null XOR
  74.   # ln -s null X0R
  75.   # mknod socksys c 30 0
  76.   # mknod spx c 30 1
  77.  
  78.  
  79.  
  80.   3.  Installing the ADSM client
  81.  
  82.   The SCO binary is supplied as three tar files, or disks.  Change to
  83.   the root directory, set your umask according to your policies, and
  84.   unpack them from there (as root).  In your Directory /tmp, you will
  85.   find an installation script; execute that.
  86.  
  87.   You will then have to hand-edit /usr/adsm/dsm.sys and
  88.   /usr/adsm/dsm.opt.  In dsm.sys, important lines to specify are:
  89.  
  90.      Servername
  91.         The name of the server
  92.  
  93.      TCPServeraddress
  94.         The fully qualified host name of the server
  95.  
  96.      NODename
  97.         Your own hostname
  98.  
  99.   In dsm.opt, you will have to specify
  100.  
  101.      Server
  102.         As before
  103.  
  104.      Followsymbolic
  105.         Wether or not to follow symbolic links (not a good idea, in
  106.         general)
  107.  
  108.      SUbdir
  109.         Wether to back up subdirectories (you usually want that)
  110.  
  111.      domain
  112.         The file systems to back up
  113.  
  114.   You will then have to create a SCO-compatible /etc/mnttab from your
  115.   /etc/fstab.  You can use the following Perl script, fstab2mnttab, for
  116.   this.
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.   ______________________________________________________________________
  134.   #!/usr/bin/perl
  135.  
  136.   $mnttab_struct = "a32 a32 I L";
  137.  
  138.   open(MTAB, "/etc/mtab") || die "Cannot open /etc/mtab: $!\n";
  139.   open(MNTTAB, ">/etc/mnttab") || die "Cannot open /etc/mnttab: $!\n";
  140.  
  141.   while(<MTAB>) {
  142.       next if /pid/;
  143.       chop;
  144.       /^(\S*)\s(\S*)\s(\S*)\s.*$/;
  145.       $device = $1;
  146.       $mountpt = $2;
  147.       $fstype = $3;
  148.       if($fstype ne "nfs" && $fstype ne "proc") {
  149.           $mnttab_rec =
  150.               pack($mnttab_struct, $device, $mountpt, 0x9d2f, time());
  151.           syswrite(MNTTAB, $mnttab_rec, 72);
  152.           print "Made entry for: $device $mountpt $fstype\n";
  153.       }
  154.   }
  155.  
  156.   close(MNTTAB);
  157.   exit 0;
  158.   ______________________________________________________________________
  159.  
  160.  
  161.  
  162.  
  163.   You do not need to install any shared libraries for these clients;
  164.   everything is linked statically.
  165.  
  166.   4.  Running the client
  167.  
  168.   There are two clients, dsm, which is an X11 interface, and dsmc, a
  169.   command-line interface.  Your computer centre will tell you how to run
  170.   it.  Some startup script at boot, for example
  171.  
  172.   dsmc schedule -quiet 2>&1 >/dev/null &
  173.  
  174.  
  175.   will probably be required.
  176.  
  177.   5.  Known Problems
  178.  
  179.   Unfortunately, SCO can only deal with hostnames no longer than eight
  180.   characters.  If your hostname is longer, or fully qualified, you may
  181.   need to specify your hostname on the NODename line in
  182.   /usr/adsm/dsm.sys.
  183.  
  184.   If you use the DISPLAY variable, you will have to supply the fully
  185.   qualified host name (i.e. DISPLAY=host.full.do.main:0 instead of
  186.   DISPLAY=host:0).
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.