Linux ADSM Mini-Howto Thomas König, Thomas.Koenig@ciw.uni-karlsruhe.de Vertaald door: Ellen Bokhorst, bokkie@nl.linux.org v, 15 jan 1997 In dit document wordt beschreven hoe een client te installeren en gebruiken voor het commerciële ADSM backupsysteem onder Linux/i386. ______________________________________________________________________ Inhoudsopgave 1. Introductie 2. Installeren van de iBCS module 3. Installeren van de ADSM client 4. Uitvoeren van de client 5. Bekende problemen ______________________________________________________________________ 1. Introductie ADSM is een op het netwerk gebaseerd backupsysteem, het wordt verkocht door IBM, en is door veel organisaties in gebruik. Er zijn clients voor een grote diversiteit aan systemen (verschillende UNIX merken, Windows, Novell, Mac, Windows NT). Helaas is er tijdens dit schrijven geen versie voor Linux. Je zal gebruik moeten maken van de SCO binary, en de iBCS2-emulator moeten installeren voor het draaien van ADSM. Deze beschrijving is voor ADSM v2r1. Tijdens dit schrijven, ben ik me alleen bewust van een versie die met de i386 versie van Linux werkt. 2. Installeren van de iBCS module De iBCS2 module is beschikbaar vanaf ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2. Gebruik voor kernelversie 1.2.13 ibcs-1.2-950721.tar.gz, pak het uit en pas de patches ibcs-1.2-950808.patch1 en ibcs-1.2-950828.patch2 toe. Je kunt dan "make" intikken en de iBCS modules installeren met "insmod". Haal voor een 2.0 kernelversie ibcs-2.0-960610.tar.gz op, pak het uit naar een geschikte plaats, chdir naar die directory, en pas de volgende patch toe: --- 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) Kopieer vervolgens CONFIG.i386 naar CONFIG, en typ make. Maak de ben odigde apparaatbestanden aan als je die nog niet hebt door het uitvo eren van # cd /dev # ln -s null XOR # ln -s null X0R # mknod socksys c 30 0 # mknod spx c 30 1 3. Installeren van de ADSM client De SCO-binary wordt in drie tar-bestanden, of op disks geleverd. Ga naar de root-directory, stel je umask in overeenkomstig je beleid, en pak ze vanuit daar (als root) uit. In de Directory /tmp, vind je een installatie-script; voer dat uit. Je zal met de hand /usr/adsm/dsm.sys en /usr/adsm/dsm.opt moeten wijzigen. In dsm.sys, zijn de van belang zijnde op te geven regels: Servername De naam van de server TCPServeraddress De fully qualified hostnaam van de server NODename Je eigen hostnaam In dsm.opt, moet je opgeven Server Als hiervoor Followsymbolic Of je wel of niet symbolische links wilt volgen (in het algemeen niet verstandig) SUbdir Of je een backup wilt maken van subdirectory's (meestal wil je dat wel) domain De bestandssystemen waarvan je een backup wilt Je zal dan een SCO-compatibel /etc/mnttab aan moeten maken vanuit je /etc/fstab. Je kunt hiervoor het volgende Perl-script fstab2mnttab gebruiken. ______________________________________________________________________ #!/usr/bin/perl $mnttab_struct = "a32 a32 I L"; open(MTAB, "/etc/mtab") || die "Kan /etc/mtab niet openen: $!\n"; open(MNTTAB, ">/etc/mnttab") || die "Kan /etc/mnttab niet openen: $!\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 "Entry gemaakt voor: $device $mountpt $fstype\n"; } } close(MNTTAB); exit 0; ______________________________________________________________________ Je hoeft voor deze clients geen shared library's te installeren, alles is statisch gelinkt. 4. Uitvoeren van de client Er zijn twee clients, dsm, een X11-interface, en dsmc, een opdrachtregel interface. De werknemers in het computercentrum zullen je aangeven hoe het te activeren. Waarschijnlijk zal een opstartscript dat tijdens het booten wordt uitgevoerd nodig zijn: dsmc schedule -quiet 2>&1 >/dev/null & 5. Bekende problemen Helaas kan SCO alleen omgaan met hostnamen die uit niet meer dan acht tekens bestaan. Als je hostnaam langer is, of fully qualified, dan kan het zijn dat je de hostnaam in de NODename regel in /usr/adsm/dsm.sys op moet geven. Als je gebruik maakt van de variabele DISPLAY , zan zal je de qualified hostnaam aan moeten leveren (d.w.z. DISPLAY=host.full.do.main:0 in plaats van DISPLAY=host:0).