| 리눅스에서 솔라리스 DAT 장치로 리모트 백업 | 작성일 : 2003/08/09 00:19 |
| 조회수 : 11227 |
|
작성자 : 좋은진호(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 |
|||||||||
|
|