· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/ADSM-Backup

Linux ADSM Mini-Howto

Linux ADSM Mini-Howto

by Thomas König, Thomas.Koenig@ciw.uni-karlsruhe.de

v, 15 January 1997 공문헌 rain@physix.chonbuk.ac.kr 2000년 3월 26일
이 문서는 Linux/i386에서 ADSM 백업 시스템을 사용하기 위한 클라이언 트 프로그램의 설치와 사용에 관해서 다룬다.

1. 소개

ADSM은 많은 단체에서 사용되고 있는 IBM에서 판매하는 네트워크 기본의 백업 시스 템이다. 매우 다양한 시스템(여러 종류의 유닉스 브랜드, 윈도우, 노벨, 맥, 윈도우 NT)을 지원한다. 불행하게도 이글을 쓰고 있는 시점에, 고유의 리눅스 버전이 존재 하지 않는다.

여러분이 SCO 바이너리를 사용해야 하며, ADSM을 실행시키기 위해 iBCS2-에뮬레이터 를 설치해야 한다. 여기서는 ADSM v2r1을 다룬다.

이글을 쓰고 있는 현재, 난 리눅스의 i386버전에서 작업을 하고 있다.

2. iBCS 모듈 설치

iBCS2 모듈은 ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2 에서 구할 수 있다. 만약 여러분이 리눅스 커널 1.2.13을 사용하고 있다면 ibcs-1.2-950721.tar.gz를 받아와 압축을 풀고 ibcs-1.2-950808.patchibcs-1.2-950828.patch2로 패치를 적용해야 한 다. "make"를 입력한 다음 "insmod" 명령으로 iBCS 모듈을 설치할 수 있다.

2.0커널 버전을 사용한 다면, ibcs-2.0-960610.tar.gz를 받아서 적당한 디렉토 리에 압축을 풀고 디렉토리로 이동하여 다음과 같이 패치를 적용시키면 된다:


--- 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)
그런 다음, CONFIG.i386CONFIG로 복사하고 make를 쳐라.

만약 여러분이 이미 그 과정을 거치지 않았다면, 실행중에 필요한 디바이스 파일을 생성해야 한다.

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

3. ADSM 클라이언트 설치하기

SCO 바이너리는 세 개의 tar 파일 또는 디스크를 제공한다. root 디렉토리로 바꾸고 여 러분의 정책에 따라 여러분의 umask를 설정하고 그 파일의 압축을 풀어라(root 권한으 로). /tmp 디렉토리에서 설치 스크립트를 찾을 수 있을 것이다; 그것을 실행시켜라.

/usr/adsm/dsm.sys/usr/adsm/dsm.opt를 손수 편집해야 할 것이다. dsm.sys에서 지정해야할 중요한 라인은 다음과 같다:

Servername

서버의 이름

TCPServeraddress

서버에 부여된 호스트명

NODename

여러분만의 호스트명

dsm.opt에서 여러분은 다음과 같이 지정해야 한다.
Server

전에 정해주었던 데로

Followsymbolic

심볼릭 링크를 할 것인지, 말 것인지(보통 좋은 생각은 아님)

SUbdir

백업할 하위 디렉토리(여러분이 원하는 곳)

/etc/fstab에서 부터 SCO-호환 /etc/mnttab을 생성해야 한다. 다음 과 같은 펄 스크립트, fstab2mnttab을 사용할 수 있다.


#!/usr/bin/perl

$mnttab_struct = "a32 a32 I L";

open(MTAB, "/etc/mtab") || die "Cannot open /etc/mtab: $!\n";
open(MNTTAB, ">/etc/mnttab") || die "Cannot open /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 "Mode entry for: $device $mountpt $fstype\n";
    }
}

close(MNTTAB);
exit 0;

이들 클라이언트를 위해 공유 라이브러리를 설치할 필요는 없다; 모두 정적으로 링크 되어 있다.

4. 클라이언트 실행하기

X11 인터페이스에서의 dsm과 커맨드라인 인터페이스에서의 dsmc 두 가지 클 라이언트가 있다. 여러분의 컴퓨터 관리자가 어떤걸 실행시켜야 할지 알려줄 것이다. 부팅시에 몇 가지 스크립트가 시작될 것이고 다음 예제가 필요하게 될 것이다.

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

5. 알려진 문제점들

불행하게도, SCO는 8자 이상의 호스트명을 지원하지 않는다. 만약 여러분의 호스트명이 더 길게 지정되어 있다면 /usr/adsm/dsm.sys에서 NODename의 호스트명을 새로 지정할 필요가 있다.

여러분이 다양한 DISPLAY를 사용할 수 있다면 완전한 호스트명을 지정해 주어야 할 것 이다(바꿔 말하면 DISPLAY=host:0대신에 DISPLAY=host.full.do.main:0으로).




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:29
Processing time 0.0025 sec