
                             Linux ADSM Mini-Howto

par Thomas Knig, Thomas.Koenig@ciw.uni-karlsruhe.de

   v, 15 Janvier 1997
     _________________________________________________________________

   _Ce document dcrit l'installation et l'utilisation sur un poste de
   travail Linux d'un client pour le systme de sauvegarde commercial
   ADSM._
     _________________________________________________________________

1. Introduction

   ADSM est un systme de sauvegarde en rseau vendu par IBM que l'on
   retrouve dans de nombreuses organisations. Les programmes clients
   existent pour une large palette de systmes : diffrents Unix,
   Windows, Novell, Mac, Windows NT. Malheureusement,  la date de
   rdaction de ce document, aucune version spcifique  Linux n'existe.

   L'utilisation d'ADSM implique donc le recours au binaire SCO et 
   l'mulateur iBCS2. Il est ici question d'ADSM v2r1.

   A ce jour, je ne connais qu'une version fonctionnant sous Linux, et
   uniquement sur plate-forme i386.

2. Installation du module iBCS

   Le module iBCS est disponible  l'adresse suivante :
   ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2. [NdT : un miroir franais
   ftp://ftp.lip6.fr/pub/linux/tsx-11/BETA/ibcs2 ] Si vous employez une
   version 1.2.13 du noyau, rcuprez ibcs-1.2-950721.tar.gz,
   dcompactez-le et appliquez les patches ibcs-1.2-950808.patch1 et
   ibcs-1.2-950828.patch2. Vous pouvez alors invoquer "make" et insrer
   le module iBCS via "insmod".

   Pour un noyau 2.0, rcuprez ibcs-2.0-960610.tar.gz, dcompressez-le
   dans un rpertoire adquat, allez dans ce rpertoire et appliquez le
   patch ci-dessous :

--- iBCSemul/ipc.c.orig Wed Jan 15 21:32:15 1997
+++ iBCSemul/ipc.c      Wed Jan 15 21:32:31 1997
@@ -212,7 +212,7 @@
        switch (command) {
                case U_SEMCTL:
                        cmd = ibcs_sem_trans(arg3);
-                       arg4 = (union semun *)get_syscall_parameter (regs, 4);
+                       arg4 = (union semun *)(((unsigned long *) regs->esp) +
(5));
                        is_p = (struct ibcs_semid_ds *)get_fs_long(arg4->buf);
 #ifdef IBCS_TRACE
                        if ((ibcs_trace & TRACE_API) || ibcs_func_p->trace)

   Copiez ensuite CONFIG.i386 en CONFIG et invoquez make.

   S'ils ne sont pas dj prsents, crez les priphriques requis en
   excutant :
# cd /dev
# ln -s null XOR
# ln -s null X0R
# mknod socksys c 30 0
# mknod spx c 30 1

3. Installation du client ADSM

   Le binaire SCO est divis en trois fichiers tar. Positionnez-vous  la
   racine de votre systme de fichiers, vrifiez la valeur de umask et
   dcompactez-les en tant qu'utilisateur root. Un script d'installation
   apparatra dans votre rpertoire /tmp. Invoquez-le.

   ditez ensuite /usr/adsm/dsm.sys et /usr/adsm/dsm.opt. Certaines
   lignes du fichier dsm.sys requirent une attention particulire :

   _Servername_
          le nom du serveur

   _TCPServeraddress_
          le nom complet du serveur (FQDN)

   _NODename_
          le nom de votre station

   Vous prciserez dans le fichier dsm.opt :

   _Server_
          comme prcdemment

   _Followsymbolic_
          s'il faut suivre les liens symboliques (c'est rarement une
          bonne ide)

   _SUbdir_
          faut-il sauvegarder les sous-rpertoires ? (gnralement oui)

   _domain_
          le systme de fichiers  archiver

   Crez ensuite un fichier /etc/mnttab  la mode SCO  partir de votre
   /etc/fstab. Le script Perl suivant, fstab2mnttab, le fera pour vous.
       ______________________________________________________________

#!/usr/bin/perl

$mnttab_struct = "a32 a32 I L";

open(MTAB, "/etc/mtab") || die "Impossible d'ouvrir /etc/mtab: $!\n";
open(MNTTAB, ">/etc/mnttab") || die "Impossible d'ouvrir /etc/mnttab: $!\n";

while(<MTAB>) {
    next if /pid/;
    chop;
    /^(\S*)\s(\S*)\s(\S*)\s.*$/;
    $device = $1;
    $mountpt = $2;
    $fstype = $3;
    if($fstype ne "nfs" && $fstype ne "proc") {
        $mnttab_rec =
            pack($mnttab_struct, $device, $mountpt, 0x9d2f, time());
        syswrite(MNTTAB, $mnttab_rec, 72);
        print "Entre cre pour : $device $mountpt $fstype\n";
    }
}

close(MNTTAB);
exit 0;
       ______________________________________________________________

   Le client ne rclame aucune bibliothque dynamique : il est li
   statiquement.

4. Fonctionnement du client

   Il existe deux clients. dsm propose une interface X11 tandis que dsmc
   reste en ligne de commande. Votre service informatique vous en dira
   davantage  leur sujet. Un script de dmarrage du style :
dsmc schedule -quiet 2>&1 >/dev/null &

   s'avrera vraisemblablement ncessaire.

5. Problmes identifis

   SCO se rvle malheureusement incapable de supporter les noms de
   machines dpassant les 8 caractres. Si le nom de votre machine
   dpasse cette limite ou qu'il inclut le nom de domaine, vous devrez le
   prciser dans la ligne NODename du /usr/adsm/dsm.sys.

   Le recours  la variable DISPLAY requiert de la part de celle-ci
   qu'elle comprenne le nom complet de votre machine, c'est  dire
   DISPLAY=maMachine.monDomaine:0 au lieu de DISPLAY=maMachine:0.
