Linux ADSM Mini-Howto
 par Thomas K�nig, [email protected]
 v, 15 Janvier 1997

 Ce document d�crit l'installation et l'utilisation sur un poste de
 travail Linux d'un client pour le syst�me de sauvegarde commercial
 ADSM.
 ______________________________________________________________________

 Table des mati�res


 1. Introduction

 2. Installation du module iBCS

 3. Installation du client ADSM

 4. Fonctionnement du client

 5. Probl�mes identifi�s



 ______________________________________________________________________

 11..  IInnttrroodduuccttiioonn

 ADSM est un syst�me de sauvegarde en r�seau vendu par IBM que l'on
 retrouve dans de nombreuses organisations. Les programmes clients
 existent pour une large palette de syst�mes : diff�rents Unix,
 Windows, Novell, Mac, Windows NT. Malheureusement, � la date de
 r�daction de ce document, aucune version sp�cifique � 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.


 22..  IInnssttaallllaattiioonn dduu mmoodduullee iiBBCCSS

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

 Pour un noyau 2.0, r�cup�rez ibcs-2.0-960610.tar.gz, d�compressez-le
 dans un r�pertoire ad�quat, allez dans ce r�pertoire 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 d�j� pr�sents, cr�ez les p�riph�riques requis en
 ex�cutant :

 # cd /dev
 # ln -s null XOR
 # ln -s null X0R
 # mknod socksys c 30 0
 # mknod spx c 30 1



 33..  IInnssttaallllaattiioonn dduu cclliieenntt AADDSSMM

 Le binaire SCO est divis� en trois fichiers tar. Positionnez-vous � la
 racine de votre syst�me de fichiers, v�rifiez la valeur de umask et
 d�compactez-les en tant qu'utilisateur root. Un script d'installation
 appara�tra dans votre r�pertoire /tmp. Invoquez-le.

 �ditez ensuite /usr/adsm/dsm.sys et /usr/adsm/dsm.opt.  Certaines
 lignes du fichier dsm.sys requi�rent une attention particuli�re :

    SSeerrvveerrnnaammee
       le nom du serveur

    TTCCPPSSeerrvveerraaddddrreessss
       le nom complet du serveur (FQDN)

    NNOODDeennaammee
       le nom de votre station

 Vous pr�ciserez dans le fichier dsm.opt :

    SSeerrvveerr
       comme pr�c�demment

    FFoolllloowwssyymmbboolliicc
       s'il faut suivre les liens symboliques (c'est rarement une bonne
       id�e)

    SSUUbbddiirr
       faut-il sauvegarder les sous-r�pertoires ? (g�n�ralement oui)

    ddoommaaiinn
       le syst�me de fichiers � archiver

 Cr�ez 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 "Entr�e cr��e pour : $device $mountpt $fstype\n";
     }
 }

 close(MNTTAB);
 exit 0;
 ______________________________________________________________________




 Le client ne r�clame aucune biblioth�que dynamique : il est li� sta�
 tiquement.


 44..  FFoonnccttiioonnnneemmeenntt dduu cclliieenntt

 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 d�marrage du style :

 dsmc schedule -quiet 2>&1 >/dev/null &


 s'av�rera vraisemblablement n�cessaire.

 55..  PPrroobbll��mmeess iiddeennttiiffii��ss

 SCO se r�v�le malheureusement incapable de supporter les noms de
 machines d�passant les 8 caract�res. Si le nom de votre machine
 d�passe cette limite ou qu'il inclut le nom de domaine, vous devrez le
 pr�ciser 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.