9. 도서관/__사. Network

ufsdump dd

행복 금융 2008. 10. 14.

윈도우에서 사용하는 고스트 같은 플그램은 없는걸로 알고있습니다.

하지만 유닉스(솔라리스를 포함한..)에서는 윈도우보다 OS를 넘기는게 간단하죠.

singel mode에서 tar 나 ufsdump와같은 backup 명령으로 퍼넘겨도 되구요.

disk type이 같다면 dd명령으로 disk copy 해도 됩니다.

OS이니까 boot block만 따로 설치해 주면 되죠.

여러가지 방법이 있겠지만 그중에 한가지 방법을  설명드리면 다음과 같습니다.

 

 

 

1].backup 받을 디스크에 boot drive 의 정보를 카피 합니다.

# prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2

fmthard는 New volume table of contents now in place의 약자 입니다.

주의 할점은 두 디스크가 같은 모델 같은 같은 사이즈여야 합니다. 

< 주의 >기존의 OS파티션과 새로운 디스크의 파티션을 같게 한다.


c0t0d0 을 c0t1d0 ( t0 disk의 Solaris 2.8 slices/partitions을 copy할 디스크 )
다음과 같은 작업을 할 것이다.
c0t3d0s0 / -> c0t1d0s0 / 복사하고
c0t3d0s4 /var -> c0t1d0s4 /var 복사하고
c0t3d0s5 /opt -> c0t1d0s5 /opt 복사하고
c0t3d0s6 /usr -> c0t1d0s6 /usr 복사 할 것입니다


[2] 새로운 디스크를 마운트 하기위해 newfs (new file system)를 실행 합니다.


각각의 파티션을 다음과 같이 실행 합니다.

# newfs -v /dev/rdsk/c0t1d0s0
# newfs -v /dev/rdsk/c0t1d0s4
# newfs -v /dev/rdsk/c0t1d0s5
# newfs -v /dev/rdsk/c0t1d0s6


[3] fsck 를 실행 시켜서 마운트를 순조롭게 합니다.

# fsck /dev/rdsk/c0t1d0s0
# fsck /dev/rdsk/c0t1d0s4
# fsck /dev/rdsk/c0t1d0s5
# fsck /dev/rdsk/c0t1d0s6

[4] 마운트 포인트 디렉터리를 만듭니다.

기존 디스크의 파티션 수만큼 디렉터리를 만듭니다.

# mkdir /root2
# mkdir /var2
# mkdir /opt2
# mkdir /usr2

[5] 새로운 파티션을 위에서 만들어 놓은 디렉터리로 마운트 합니다.

# mount /dev/dsk/c0t1d0s0 /root2
# mount /dev/dsk/c0t1d0s4 /var2
# mount /dev/dsk/c0t1d0s5 /opt2
# mount /dev/dsk/c0t1d0s6 /usr2

[6] 이제부터 옮깁니다 ~~

# cd /
# ufsdump 0f - /dev/rdsk/c0t3d0s0 | (cd /root2; ufsrestore xf -)
# ufsdump 0f - /dev/rdsk/c0t3d0s4 | (cd /var2; ufsrestore xf -)
# ufsdump 0f - /dev/rdsk/c0t3d0s5 | (cd /opt2; ufsrestore xf -)
# ufsdump 0f - /dev/rdsk/c0t3d0s6 | (cd /usr2; ufsrestore xf -)

# cd /usr
# ufsdump 0f - /usr | (cd /usr2; ufsrestore xf - )


DUMP: Writing 32 Kilobyte records
DUMP: Date of this level 0 dump: Wed Dec 10 17:33:42 1997
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/rdsk/c0t3d0s0 (tmpdns:/usr) to standard output
DUMP: Mapping (Pass I) [regular files]
DUMP: Mapping (Pass II) [directories]
DUMP: Estimated 317202 blocks (154.88MB)
DUMP: Dumping (Pass III) [directories]
DUMP: Broken pipe
DUMP: The ENTIRE dump is aborted


[7] fsck를 실행 해서 복사한 디스크를 정리 합니다.

# fsck /dev/rdsk/c0t1d0s0
# fsck /dev/rdsk/c0t1d0s4
# fsck /dev/rdsk/c0t1d0s5
# fsck /dev/rdsk/c0t1d0s6

[8] 새로운 디스크의 /mount_point/etc/vfstab 파일을 수정 합니다.

# cd /root2 (기존의 t3부분을 t1으로 바꿉니다.)
# vi /root2/etc/vfstab

주의 하세요 !!
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes -
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/dsk/c0t1d0s1 - - swap - no -
/dev/dsk/c0t1d0s0 /dev/rdsk/c0t1d0s0 / ufs 1 no -
/dev/dsk/c0t1d0s6 /dev/rdsk/c0t1d0s6 /usr ufs 1 no -
/dev/dsk/c0t1d0s4 /dev/rdsk/c0t1d0s4 /var ufs 1 no -
/dev/dsk/c0t1d0s5 /dev/rdsk/c0t1d0s5 /opt ufs 2 yes -
swap - /tmp tmpfs - yes -

:wq!

[9] 이제는 새로운 디스크에 installboot 을 사용하여 bootblk 을 설정하는 작업
입니다.
시스템을 halt 하시고 다음과 같이 합니다.

ok boot cdrom -sw


[10] 다음과 같은 순서대로 실행 하여야 합니다.

1) disk를 교체.
 
2) OS cdrom 을 이용하여 single user mode 로 booting
 
3) disk partition을 만든후 filesystem을 creation하고, mount한후 data를
    restore
 
4) "installboot" command를 이용하여 bootblock을 install 
 
5) root partition을 mount한후 device tree를 re-build
  # drvconfig -r /a -p /a/etc/path_to_inst
  # cd /devices
  # find . -print | cpio -pduVm /a/devices
  # disks -r /a
  # devlinks -r /a

6) luxadm command를 사용하여 EEPROM의 "boot-device" parameter를 수정
  # luxadm set_boot_dev /dev/dsk/{root slice entry}
  (가능하면, EEPROM의 "boot-device" parameter로 같이 수정한다.)

7) system을 rebooting한다.

'9. 도서관 > __사. Network' 카테고리의 다른 글

VoIP, 빌려쓰면 안되겠니?  (0) 2008.10.14
Install a Solaris Boot Block  (0) 2008.10.14
hostname 변경  (0) 2008.10.14
ufsdump  (0) 2008.10.14
voip 전망  (0) 2008.10.10

댓글

💲 추천 글