커피닉스, 시스템 엔지니어의 쉼터 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
* HanIRC의 #coffeenix 방
[ 장비 및 회선 후원 ]
HOME > 시스템 관리 / 서버운영 > 백업(backup) / 시스템 복구 도움말
검색 : 사이트 WHOIS 웹서버 종류


  리눅스에서 솔라리스 DAT 장치로 리모트 백업 작성일 : 2003/08/09 00:19
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 8442
          [ 이전화면 / 수정 ]   비밀번호 :     인쇄용 화면
      작성자 : 좋은진호(truefeel, http://coffeenix.net/ )
    작성일 : 2000.6.15 (KLDP에 올렸던 글)
    이글이 요즘에 의미가 있을지 의문이네요. 아래글에서 얘기한 rsh보다는 ssh를 쓰시길.


      
    리눅스박스에서 솔라리스 DAT로 리모트 백업하는 방법을 간단히 소개하겠습니다.
    (rsh와 dump를 이용하는 방법)
      
    (1) 솔라리스 쪽에서 할 것
       (solaris.truefeel.co.kr, IP는 123.123.123.1 이라고 가정)
    - 인터넷 수퍼데몬(/etc/inetd.conf)에서 rshd 데몬을 열어둔다.
    - root에 .rhosts 파일을 만든다.
    - /etc/hosts 파일에 리눅스 박스의 호스트명을 등록한다.
      
    (2) 리눅스박스에서 할 것
      (linux.truefeel.co.kr, IP는 123.123.123.2 라고 가정)
    - rsh 명령과 dump 명령
      
    -------------------------------------------------------------------
    실전에 들어가자!

    (1) 솔라리스에서 설정(rshd 데몬을 열어 리눅스의 rsh 명령을 받아들인다.)

    1. /etc/inetd.conf에서 rshd 데몬을 열어둔다.

    shell   stream  tcp     nowait  root    /usr/sbin/in.rshd       in.rshd

    2. inetd 데몬을 재실행한다.

    ~# kill -HUP `ps -ef|grep inetd|grep -v grep|awk '{print $2}'`

    또는 직접 ps 로 확인 후 kill -HUP

    3. 리눅스박스에서 rsh 명령으로 접근가능하도록 root홈에 .rhosts를
        등록한다. DAT 장치는 root(솔라리스의 root)가 접근하므로 root의
        .rhosts에 등록하는 것은 당연하겠죠.

    linux.truefeel.co.kr root

    4. /etc/hosts 에 리눅스 박스의 호스트명을 추가한다.

    (주) 이상하게도 /etc/hosts에 리눅스박스의 호스명을 넣지 않으면 리눅스쪽
    에서 rsh 명령을 할 때 'permission denied'라는 메시지와 함께 종료되버리더군요.
    솔라리스끼리 remote backup할 때는 /etc/hosts와 무관하게 잘 되구요.

    123.123.123.2 linux.truefeel.co.kr linux

    솔라리스 쪽의 준비는 모두 끝났고 백업 테잎을 넣어둔다.

    (2) 리눅스에서 rsh, dump 실행

    1. 백업 테잎을 감는다.
        (solaris는 솔라리스 서버명, /dev/rmt/0는 DAT 장치명)
      ~# rsh -l root solaris mt -f /dev/rmt/0 rewind

    2. 이제 백업을 시작한다. 다음 명령은 /usr 파티션을 백업받는 예이다.

      ~# dump 0acuf root@solaris:/dev/rmt/0n /usr
      DUMP: Date of this level 0 dump: Mon Jun 5 15:56:29 2000
      DUMP: Date of last level 0 dump: the epoch
      DUMP: Dumping /dev/hda1 (/) to /dev/rmt/0n on host root@solaris
      DUMP: mapping (Pass I) [regular files]
      DUMP: mapping (Pass II) [directories]
      DUMP: estimated 1056025 tape blocks.
      DUMP: Volume 1 started at: Mon Jun 5 15:57:36 2000
      DUMP: dumping (Pass III) [directories]
      DUMP: dumping (Pass IV) [regular files]
      DUMP: 2.57% done, finished in 3:09
      DUMP: 6.90% done, finished in 2:14
      DUMP: 11.28% done, finished in 1:57
      DUMP: 15.66% done, finished in 1:47
      DUMP: 20.08% done, finished in 1:39
      ...

    root@solaris:/dev/rmt/0n 는 리모트의 솔라리스 DAT 장치를 의미한다.
    0n는 rewind하지 않는다는 말이다. dump에 대한 자세한 것은 man page를
    보기 바란다.
    (참고 : GNU tar 또한 리모트 백업을 지원한다.)

    정상적으로 백업을 마쳤다면, /etc/dumpdates 에 결과가 남는다.

    ~# cat /etc/dumpdates
    /dev/hda1        0 Mon Jun 5 15:56:29 2000

    3. 테잎을 뺀다.

    ~# rsh -l root solaris mt off

    네트웍을 통해서 백업을 받게 되므로 당연히 백업 시간이 길어진다.
    저희 경우 10MBPS 네트웍에서 초당 150KB/s 전송속도로 1GB 정도의 용량을
    약 2시간동안 dump를 받았다. 무지 느리죠? 네트웍 상태에 따라 달라지겠죠.

    -----------------------------------------------------------
    리눅스 쪽에서 백업 스크립트를 만들면,

    #!/bin/sh
    #
    # 시스템전체 백업
    #

    # 리모트 서버 설정(ID, 서버명, 리모트 DAT 장치)
    REMOTE_ID="root"
    REMOTE_HOST="solaris"
    DAT_DEVICE="$REMOTE_ID@$REMOTE_HOST:/dev/rmt/0n"

    # 백업 파티션 및 결과 저장 파일
    BACKUP="/usr"
    RESULT_FILE="$HOME/backup_result"

    # 1. 테잎을 감는다.
    DATE_START=`date`
    rsh -l $REMOTE_ID $REMOTE_HOST mt -f /dev/rmt/0 rewind; sleep 3
      
    # 2. 백업 시작
    dump 0acuf $DAT_DEVICE /usr; sleep 3
      
    # 3. 백업 테잎을 감은 후 꺼낸다.
    rsh -l $REMOTE_ID $REMOTE_HOST mt -f /dev/rmt/0 rewind
    rsh -l $REMOTE_ID $REMOTE_HOST mt off
      
    DATE_END=`date`
      
    # 3. 백업 결과 저장
    echo "백업 파티션 : $BACKUP"
    echo "백업 시  작 : $DATE_START"
    echo "백업 종  료 : $DATE_END"

    echo "백업 파티션 : $BACKUP"     >> $RESULT_FILE
    echo "백업 시  작 : $DATE_START" >> $RESULT_FILE
    echo "백업 종  료 : $DATE_END"   >> $RESULT_FILE
      커피닉스 카페 최근 글
    [10/20] Cross Compiler 깔
    [07/14] SSL АО
    [04/26] Re: 도스화면 원격조종 여부
    [04/25] 도스화면 원격조종 여부
    [10/30] Cshell에서 난수 설정
    [10/23] 공항철도주식회사 SE 구인 件
    [01/26] Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/25] wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/11] 특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
    [08/01] DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
    [05/16] (주)후이즈 시스템엔지니어 (경력자) 모집
    [02/15] [AWS] Cloudfront edge 확인하기
    [01/20] Mobile Service/eCommerce 기업에서 Server / Java / PHP 개발자 구인
    [01/11] 탄탄한 퍼블리싱 모바일기업에서 Mobile 개발자를 모십니다.
    [01/11] 탄탄한 퍼블리싱 모바일기업에서 Web Front 개발자를 모십니다.
      New!   최근에 등록한 페이지
      KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
      오픈캐스케이드 캐드 (OpenCASCADE CAD)
      QCad for Windows --- GNU GPL (Free Software)
      The Hello World Collection
      IPMI를 활용한 리눅스 서버관리
      DNS 설정 검사
      nagiosgraph 설치 방법
      Slony-I 설치 방법 (postgresql replication tool)
      Qmail기반의 Anti spam 시스템 구축하기
      clusterssh

    [ 함께하는 사이트 ]




    운영진 : 좋은진호(truefeel), 야수(yasu), 범냉이, sCag
    2003년 8월 4일~