Thomas.Koenig@ciw.uni-karlsruhe.de
bokkie@nl.linux.org
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.
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 benodigde apparaatbestanden aan als je die nog niet hebt door het
uitvoeren van
# cd /dev # ln -s null XOR # ln -s null X0R # mknod socksys c 30 0 # mknod spx c 30 1
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:
De naam van de server
De fully qualified hostnaam van de server
Je eigen hostnaam
In dsm.opt
, moet je opgeven
Als hiervoor
Of je wel of niet symbolische links wilt volgen (in het algemeen niet verstandig)
Of je een backup wilt maken van subdirectory's (meestal wil je dat wel)
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.
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 &
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
).