  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.
  ______________________________________________________________________

  Table des matires


  1. Introduction

  2. Installation du module iBCS

  3. Installation du client ADSM

  4. Fonctionnement du client

  5. Problmes identifis



  ______________________________________________________________________

  11..  IInnttrroodduuccttiioonn

  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2..  IInnssttaallllaattiioonn dduu mmoodduullee iiBBCCSS

  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3..  IInnssttaallllaattiioonn dduu cclliieenntt AADDSSMM

  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 :

     SSeerrvveerrnnaammee
        le nom du serveur

     TTCCPPSSeerrvveerraaddddrreessss
        le nom complet du serveur (FQDN)

     NNOODDeennaammee
        le nom de votre station

  Vous prciserez dans le fichier dsm.opt :

     SSeerrvveerr
        comme prcdemment

     FFoolllloowwssyymmbboolliicc
        s'il faut suivre les liens symboliques (c'est rarement une bonne
        ide)

     SSUUbbddiirr
        faut-il sauvegarder les sous-rpertoires ? (gnralement oui)

     ddoommaaiinn
        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 sta
  tiquement.


  44..  FFoonnccttiioonnnneemmeenntt dduu cclliieenntt

  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5..  PPrroobbllmmeess iiddeennttiiffiiss

  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.











