순서

개요

 요즘에 서버는 테잎 드라이브 없이 주문 되고 배달 됩니다. 그리고 대신에 오직 DVD-ROM 드라이브 만을 포함하고 있습니다. 이 글의 절차는 시스템 복구를 위해 개발되었습니다.

이 글에서 필자는 아래와 같은 디스크들과 파일 시스템을 가진 시스템을 사용합니다:

/dev/md/dsk/d0         4.8G   129M   4.6G     3%    /
/dev/md/dsk/d3         4.8G   191M   4.6G     4%    /usr
/dev/md/dsk/d4         4.8G   1.1G   3.7G    23%    /var
/dev/md/dsk/d6          37G   3.2G    33G     9%    /opt
/dev/md/dsk/d5         8.2G   3.5G   4.6G    44%    /var/crash

미러들은 다음과 같습니다:

Mirror          Mirror A        Device A    Mirror B        Device B
/dev/md/dsk/d0  /dev/md/dsk/d10 c1t0d0s0    /dev/md/dsk/d20 c1t1d0s0
/dev/md/dsk/d3  /dev/md/dsk/d13 c1t0d0s3    /dev/md/dsk/d23 c1t1d0s3
/dev/md/dsk/d4  /dev/md/dsk/d14 c1t0d0s4    /dev/md/dsk/d24 c1t1d0s4
/dev/md/dsk/d6  /dev/md/dsk/d16 c1t0d0s6    /dev/md/dsk/d26 c1t1d0s6
/dev/md/dsk/d5  /dev/md/dsk/d15 c1t0d0s5    /dev/md/dsk/d25 c1t1d0s5

솔라리스 볼륨 매니저 메타-데이타베이스는 각 디스크의 슬라이스 7번 즉, c0t0d0s7c1t0d0s7 에 위치합니다.

CD/DVD-ROM 디바이스는 /dev/dsk/c0t0d0s0 입니다.


이 절차의 잠재적인 활용방법
  • 백업 CD/DVD 를 만듬으로써 특정시점으로의 복구가 가능함
  • 시스템의 카피본 CD/DVD 를 만듬으로써 현시스템의 설치본을 복사할 수 있음
  • 베어메탈(전체 OS 없이 백업및 복구가 가능하도록 함) 복구 CD/DVD 를 통해서 호스트를 부팅가능하도록 함으로써 다른 백업 방법을 사용할 수 있음
  • 호스트로의 파일 복사가 불가능한 극도로 예민하고 보안이 요구되는 환경에서의 CD/DVD 백업 생성 가능

요구사항

 솔라리스9 운영체제의 커스텀 부트 CD-ROM 을 만들기 위해서는 다음과 같은 몇가지 아이템들이 요구 됩니다:

  • 솔라리스 9 소프트웨어 1/2, 2/2 미디어(필자는 9/05 버전을 사용했음)
  • 솔라리스9을 운용하고 있는 SPARC 기반 서버 혹은 워크스테이션
  • 임시 파일들과 이미지 파일들이 저장될 400Mbyte 의 파일 시스템 사이즈 + ufsdump 어카이브 사이즈의 두배용량
  • /var/crash 파일 시스템. 보통 비어 있지만 서버의 크래시 덤프를 위해 설정됨
  • CD/DVD 라이터와 적절한 소프트웨어. DVD ISO 파일을 위한 8기가바이트 정도의 공간(만약 듀얼-레이어 DVD 가 사용된다면) 이 필요함
  • 공 CD 혹은 DVD

볼륨 매니저가 기동되고 있다면 중지 시키기

 만약 볼륨 매니저가 기동되고 있다면 CD 를 삽입했을때 자동마운트가 될 것입니다. 이것은 CD 가 수동으로 마운트 되는 것을 방해 하고 dd 커맨드의 작동을 금지 시킵니다.

볼륨 메니저가 기동되고 있는지 알아보려면 다음의 커맨드를 이용합니다:

# ps -ef | grep vold

볼륨 메니저를 멈추기 위해 다음의 명령을 사용합니다:

# /etc/init.d/volmgt stop


build
디렉토리 설정하고 mkisofs 를 복사하기

ISO 이미지를 만들기 위한 디렉토리를 생성합니다.

# mkdir -p /var/crash/build/s0/ufsdumps
# cd /var/crash/build

SUNWmkcd 가 설치되어 있지 않다면 mkisofs 를 이 디렉토리에 복사 합니다. 솔라리스 소프트웨어 디스크 2/2 를 CD 드라이브에 삽입합니다.

# mount -o ro -F hsfs /dev/dsk/c0t0d0s0 /cdrom
# bzcat /cdrom/Solaris_9/Product/SUNWmkcd/archive/none.bz2 | cpio -C 512 -idum
# umount /cdrom


ISO 빌드 파일 생성하기

솔라리스 소프트웨어 디스크 1/2 를 CD 드라이브에 삽입합니다.

# mount -o ro -F hsfs /dev/dsk/c0t0d0s0 /cdrom
# cd /cdrom
# find . -print | cpio -pudm /var/crash/build/s0

# cd /var/crash/build
# dd if=/dev/dsk/c0t0d0s1 of=./s1
# dd if=/dev/dsk/c0t0d0s2 of=./s2
# dd if=/dev/dsk/c0t0d0s3 of=./s3
# dd if=/dev/dsk/c0t0d0s4 of=./s4
# dd if=/dev/dsk/c0t0d0s5 of=./s5

만약 CD 의 공간이 문제라면 필요 없는 다수의 파일들을 삭제할 수 있습니다. (DVD 에 굽는다면 이 단계는 필요 하지 않습니다.)

# cd /var/crash/build/s0/
# rm .install_config
# cd Solaris_9
# rm -rf ./Docs
# rm -rf ./Misc
# rm -rf ./Patches
# rm -rf ./Product
# cd Tools

boot 심볼릭 링크를 제외한 모든 것을 삭제 합니다.

이 시점에서 모든 CD/DVD 빌드 파일이 존재 합니다.


ufsdump
어카이브 생성을 통한 호스트 백업

 패치 번들을 포함한 모든 소프트웨어 백업 및 패키지 파일들을 제거 합니다. root 의 패스워드를 제거 함으로써 복구된 시스템이 어디에서든 쉽게 사용될 수 있도록 할 수 있습니다. 또한 이 파일들을 /var/crash 에 임시로 복사해 둘 수 있습니다. 만약 듀얼-레이어 DVD 를 사용할 예정이라면 root, usr, opt, 그리고 var ufsdumps 를 8기기바이트 정도로 압축해야 합니다.


옵션 1: 콜드 백업

솔라리스 소프트웨어 1/2를 CD/DVD 드라이브에 삽입합니다.

If /var/crash is mirrored, split the mirror.

# metadetach d5 d25

호스트를 재부팅하고 부팅을 인터럽트합니다.

# init 0

CD 를 이용해서 싱글-유저 모드로 부팅합니다.

# boot cdrom -s

/var/crash 을 가지고 있는 파일 시스템을 마운트 합니다.

# mount /dev/dsk/c1t0d0s5 /a
# cd /a/build/s0/ufsdumps

디스크 파티션들을 ufsdumps 을 이용해서 덤프받습니다.

# ufsdump 0f - /dev/dsk/c1t0d0s0 | compress > ./root_ufs.Z
# ufsdump 0f - /dev/dsk/c1t0d0s3 | compress > ./usr_ufs.Z
# ufsdump 0f - /dev/dsk/c1t0d0s4 | compress > ./var_ufs.Z
# ufsdump 0f - /dev/dsk/c1t0d0s6 | compress > ./opt_ufs.Z

호스트를 재부팅 합니다.

# init 6

root 로 로그인합니다.

/var/crash 미러를 재 부착합니다.

# metattach d5 d25


옵션 2: 핫 백업

# cd /var/crash/build/s0/ufsdumps
# ufsdump 0f - /dev/md/rdsk/d0 | compress > ./root_ufs.Z
# ufsdump 0f - /dev/md/rdsk/d3 | compress > ./usr_ufs.Z
# ufsdump 0f - /dev/md/rdsk/d4 | compress > ./var_ufs.Z
# ufsdump 0f - /dev/md/rdsk/d6 | compress > ./opt_ufs.Z


ISO 이미지 만들기

아래의 명령을 이용합니다:

# cd /var/crash/build/s0/ufsdumps
# echo "Solaris Bootable Backup Disk" > Version.txt
# hostname >> Version.txt
# date >> Version.txt

# cd /var/crash/build
# ./mkisofs -R -d -L -l -sparc-boot s1,s2,s3,s4,s5 -o sol9boot.iso ./s0

이제 sol9boot.iso 이미지 파일을 다른 장소로 복사하고 CD 혹은 DVD 로 굽습니다.


CD/DVD 를 이용해서 복구하기

CD/DVD 를 이용한 복구에는 여러가지 옵션이 있습니다.


옵션 1: DVD 의 한개(혹은 소수의 파일들) 을 ufsdumps 를 이용해 복구하기

부팅 가능한 솔라리스 백업 디스크를 찾아서 DVD/CD 드라이브에 삽입합니다.

 restore 디렉토리로 이동해서 DVD/CD 를 마운트 하고 파일들을 복구 하는 과정을 통해 필요한 파일들만 복구 합니다. 필자는 ufsrestore 커맨드를 이용해서 ufsrestore 를 동적 모드로 사용했습니다. ufsrestore 멘페이지를 통해서 복구할 파일을 선택하는 방법에 대해 알아보시기 바랍니다.

다음의 커맨드를 이용합니다. 여기서 <restore directory><archive> 는 각각 복구될 파일 시스템입니다.

# cd <restore directory>
# mount -o ro -F hsfs /dev/dsk/c0t0d0s0 /cdrom
# zcat /cdrom/ufsdumps/<archive> | ufsrestore if -
<restore directory>	<archive>
/			root_ufs.Z
/var			var_ufs.Z
/usr			usr_ufs.Z
/opt			opt_ufs.Z


옵션 2: /, /usr, 혹은 /var 파일 시스템의 전체 복구

 이 절차는 오직 /, /usr, 그리고 /var 를 위한 것으로 이러한 파일 시스템은 호스트를 재부팅 시켜서 싱글-유저 모드로 들어가도 언마운트 되지 않고 필요한 커맨드들은 /usr 에 존재합니다.

 부팅가능한 솔라리스 백업 디스크를 찾아 삽입하고 /, /var, /usr 어카이브도 사용 가능해야 합니다.

미러들을 탈착합니다. 복구하고 싶은 것에 따라서 /, /usr, /var, 의 미러들을 제거 합니다.

/ 는 다음의 커맨드를 이용합니다:

# metadetach d0 d20

/usr 은 다음의 커맨드를 이용합니다:

# metadetach d0 d23

/var 는 다음의 커맨드를 이용합니다:

# metadetach d4 d24

DVD/CD 를 통해 부팅 합니다.

오픈부트 ok 프롬프트르 들어 갑니다.

호스트를 정지시키고 부트 프로세스를 인터럽트 합니다.

# init 0

boot cdrom -s
INIT: SINGLE USER MODE

이 환경을 좀더 유저 친화적으로 만들어 봅시다.

# stty erase ^H
# TERM=vt100;export TERM

/ 파일 시스템을 복구하려면 아래의 커맨드를 이용합니다:

# newfs /dev/rdsk/c1t0d0s0
# mount /dev/dsk/c1t0d0s0 /a
# cd /a
# zcat /cdrom/ufsdumps/root_ufs.Z | ufsrestore rf -
# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk  /dev/rdsk/c1t0d0s0
# /usr/sbin/drvconfig -r /a/devices -p /a/etc/path_to_inst
# cd /devices
# /usr/bin/find . -print | cpio -pduVm /a/devices
....................................................
0 blocks
# /usr/sbin/disks -r /a
# /usr/sbin/devlinks -r /a
# cd /
# umount /a
# fsck /dev/rdsk/c1t0d0s0

/usr 파일 시스템을 복구하려면 아래의 커맨드를 이용합니다:

# newfs /dev/rdsk/c1t0d0s3
# mount /dev/dsk/c1t0d0s3 /a
# cd /a
# zcat /cdrom/ufsdumps/usr_ufs.Z | ufsrestore rf -
# cd ..
# umount /a
# fsck /dev/rdsk/c1t0d0s3

/var 파일 시스템을 복구하려면 아래의 커맨드를 이용합니다:

# newfs /dev/rdsk/c1t0d0s4
# mount /dev/dsk/c1t0d0s4 /a
# cd /a
# zcat /cdrom/ufsdumps/var_ufs.Z | ufsrestore rf -
# cd ..
# umount -a
# fsck /dev/rdsk/c1t0d0s4

호스트를 재부팅합니다.

# cd /
# init 6

/, /usr, /var 의 미러를 복구하려는 것에 따라서 재부착시킵니다.

/ 는 다음의 커맨드를 이용합니다:

# metattach d0 d20

/usr 는 다음의 커맨드를 이용합니다:

# metattach d3 d23

/var 는 다음의 커맨드를 이용합니다:

# metattach d4 d24

metastat 를 이용해서 미러가 올바르게 부착되었는지 확인합니다.


옵션 3: 비-루트 파일 시스템의 복구

이 절차는 오직 백업된 비 루트 (/, /usr, 혹은 /var) 파일 시스템을 위한 것입니다.

이것은 디스크, 파티션, 그리고 미러링이 여전히 완벽한 상태라고 가정합니다.

DVD/CD 의 ufsdump 를 이용한 복구 :

ufsdump
DVD/CD (이것은 /opt 어카이브를 가진 부팅 가능한 DVD 혹은 CD) 를 CD 드라이브에 삽입합니다.

다음의 커맨드를 이용해 파일 시스템을 언마운트 합니다. <mount point> 는 복구될 파일 시스템 입니다.

#  unmount <mount point>
<filesystem>	<mount point>
d6		/opt

파일 시스템을 언마운트 하기 위해 싱글-유저 모드로 재부팅해야할 것입니다.

# init s

시스템은 비-루트 파일시스템들이 언마운트 된 상태로 올라왔을 것입니다.

아래의 커맨드를 이용해서 파일 시스템을 포맷합니다. <filesystem>는 복구될 파일 시스템 입니다.

# newfs /dev/md/rdsk/<filesystem>
<filesystem>	<mount point>
d6		/opt

파일 시스템을 복구 합니다. 이 작업을 위해서는 아래의 커맨드를 통해서 restore 디렉토리로 이동하고 백업을 복구 합니다.

# cd <restore dir>
# mount -o ro -F hsfs /dev/dsk/c0t0d0s0 /cdrom
# zcat /cdrom/ufsdumps/<archive> | ufsrestore rf -
<restore dir>	<archive>
/opt		opt_ufs.Z

복구된 파일 시스템을 아래의 커맨드를 이용해서 확인합니다.

# cd /
# unmount <mount point>
# fsck /dev/md/rdsk/<filesystem>
<filesystem>	<mount point>
d6		/opt

호스트를 재부팅 하고 모든것이 정상인지 확인합니다.

# init 6


옵션 4: 부트 디스크 복구하기

다음의 절차는 부트 디스크에 오류가 생겼을때를 위한 절차 입니다. 이것은 오류가 생긴 부트 디스크를 동일한 사이즈의 디스크로 교체 하는 것을 다루고 있습니다. 이 예제는 더 큰 디스크, 유사한 디스크 혹은 다른 디스크 슬라이스 번호를 사용하도록 시스템을 재설정 하는 것에 대해서는 다루고 있지 않습니다.

이 섹션은 솔라리스가 관리하는 내부의 핫 스왑 디스크 c1t0d0c1t1d0 의 미러 를 사용합니다.

/, /var, /usr 어카이브가 들어 있는 부팅가능한 디스크를 삽입합니다.

DVD/CD 를 이용해 부팅합니다.

오픈부트 ok 프롬프트로 들어 갑니다.

# init 0

{3} ok boot cdrom -s
Resetting ...

<edited>
INIT: SINGLE USER MODE

이 환경을 좀더 유저 친화적으로 만들어 봅시다:

# stty erase ^H
# TERM=vt100;export TERM

만약 디스크가 물리적으로 오류가 생겼따면 교체 합니다.

부트 디스크를 파티셔닝 합니다:

# format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
       0. c1t0d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
          /pci@1c,600000/scsi@2/sd@0,0

Specify disk (enter its number): 0
selecting c1t0d0

format 유틸리티를 통해서 파티션 테이블을 이전과 동일하게 설정합니다.

부트 디스크 파일 시스템을 생성합니다:

# newfs /dev/rdsk/c1t0d0s0
# newfs /dev/rdsk/c1t0d0s3
# newfs /dev/rdsk/c1t0d0s4
# newfs /dev/rdsk/c1t0d0s5
# newfs /dev/rdsk/c1t0d0s6

부트 디스크 파일 시스템을 DVD/CD 의 ufsdumps 를 통해서 복구합니다:

# mount /dev/dsk/c1t0d0s0 /a
# cd /a
# zcat /cdrom/ufsdumps/root_ufs.Z | ufsrestore rf -

# mount /dev/dsk/c1t0d0s3 /a/usr
# cd /a/usr
# zcat /cdrom/ufsdumps/usr_ufs.Z | ufsrestore rf -

# mount /dev/dsk/c1t0d0s4 /a/var
# cd /a/var
# zcat /cdrom/ufsdumps/var_ufs.Z | ufsrestore rf -

# mount /dev/dsk/c1t0d0s5 /a/var/crash
# cd /a/var/crash
# mkdir <hostname>

필요하다면 호스트 이름도 동일하게 변경합니다.

Hostname:

새로운 호스트 이름을 저장합니다.

# vi /a/etc/inet/hosts

새로운 호스트 이름을 저장합니다.

# vi /a/etc/nodename

새로운 호스트 이름을 저장합니다. <interface> 는 이 시스템의 프라이머리 인터페이스 입니다. 예를 들어 hostname.bge0.

# vi /a/etc/hostname.<interface>

새로운 호스트 이름을 저장합니다.

# vi /a/etc/net/ticlts/hosts

새로운 호스트 이름을 저장합니다.

# vi /a/etc/net/ticots/hosts

새로운 호스트 이름을 저장합니다.

# vi /a/etc/net/ticotsord/hosts

IP address:

IP 주소를 변경합니다.

# vi /a/etc/inet/hosts

넷 마스크를 추가 합니다.

# vi /a/etc/inet/netmasks

이 서브넷을 위한 새로운 게이트웨이를 지정합니다.

# vi /a/etc/defaultrouter

DNS 리졸버(resolver):

DNS 리졸버(resolver) 와 DNS 이름을 변경합니다.

# vi /a/etc/resolv.conf

타임 서버:

타임 서버를 변경합니다.

# vi /a/etc/inet/ntp.conf

root 패스워드를 변경합니다.

패스워드 필드를 FbzXO4ipjrbAU 로 변경합니다. 이것은 패스워드를 sun123 으로 설정할 것입니다.

# vi /a/etc/shadow

부트 블럭을 설치 합니다:

# cd /a/etc
# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk  /dev/rdsk/c1t0d0s0
# /usr/sbin/drvconfig -r /a/devices -p /a/etc/path_to_inst
# cd /devices
# /usr/bin/find . -print | cpio -pduVm /a/devices
....................................................
0 blocks

# /usr/sbin/disks -r /a
# /usr/sbin/devlinks -r /a

vfstab 과 시스템을 변경합니다:

# vi vfstab

아래와 같은 항목을:

#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/md/dsk/d1       -       -       swap    -       no      -
/dev/md/dsk/d0  /dev/md/rdsk/d0 /       ufs     1       no      -
/dev/md/dsk/d3       /dev/md/rdsk/d3      /usr    ufs     1       no      -
/dev/md/dsk/d4       /dev/md/rdsk/d4      /var    ufs     1       no      -
/dev/md/dsk/d6       /dev/md/rdsk/d6      /opt    ufs     2       yes     nosuid
/dev/md/dsk/d5       /dev/md/rdsk/d5      /var/crash      ufs     2       yes     -
swap    -       /tmp    tmpfs   -       yes     -

이렇게 바꿉니다:

#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c1t0d0s1       -       -       swap    -       no      -
/dev/dsk/c1t0d0s0  /dev/rdsk/c1t0d0s0 /       ufs     1       no      -
/dev/dsk/c1t0d0s3  /dev/rdsk/c1t0d0s3      /usr    ufs     1       no      -
/dev/dsk/c1t0d0s4  /dev/rdsk/c1t0d0s4      /var    ufs     1       no      -
/dev/dsk/c1t0d0s6  /dev/rdsk/c1t0d0s6      /opt    ufs     2       yes     nosuid
/dev/dsk/c1t0d0s5  /dev/rdsk/c1t0d0s5      /var/crash      ufs     2       yes     -
swap    -       /tmp    tmpfs   -       yes     -

파일을 저장합니다:

# vi system

아래 와 같은 줄을 완전히 삭제 합니다(주석처리 하지 마시기 바랍니다):

rootdev:/pseudo/md@0:0,0,blk
# cd /
# init 6

root 로 로그온 합니다.

미러 디스크의 파티션을 설정합니다:

# prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t1d0s2

부트 디스크를 Solstice 디스크스윗을 이용해서 미러링 합니다.

상태 데이타베이스의 복제본을 생성합니다:

# metadb -a -f -c 3 /dev/dsk/c1t0d0s7
# metadb -a -c 3 /dev/dsk/c1t1d0s7

데이타베이스 복제가 생성되었는지 확인합니다:

# metadb -i

/ (root) 파일 시스템의 서브미러를 생성합니다:

# metainit -f d10 1 1 c1t0d0s0
d10: Concat/Stripe is setup
# metainit -f d20 1 1 c1t1d0s0
d20: Concat/Stripe is setup
# metainit d0 -m d10
d0: Mirror is setup

루트가 미러링 되도록 수정합니다. 파일 시스템이 손상되는 것을 막기 위해 metaroot 커맨드 수행후에 바로 재부팅 합니다.

# metaroot d0
# init 6

console login: root

# metainit -f d11 1 1 c1t0d0s1
d11: Concat/Stripe is setup
# metainit -f d21 1 1 c1t1d0s1
d21: Concat/Stripe is setup
# metainit d1 -m d11
d1: Mirror is setup

# metainit -f d13 1 1 c1t0d0s3
d13: Concat/Stripe is setup
# metainit -f d23 1 1 c1t1d0s3
d23: Concat/Stripe is setup
# metainit d3 -m d13
d3: Mirror is setup

# metainit -f d14 1 1 c1t0d0s4
d14: Concat/Stripe is setup
# metainit -f d24 1 1 c1t1d0s4
d24: Concat/Stripe is setup
# metainit d4 -m d14
d4: Mirror is setup

# metainit -f d15 1 1 c1t0d0s5
d15: Concat/Stripe is setup
# metainit -f d25 1 1 c1t1d0s5
d25: Concat/Stripe is setup
# metainit d5 -m d15
d5: Mirror is setup

# metainit -f d16 1 1 c1t0d0s6
d16: Concat/Stripe is setup
# metainit -f d26 1 1 c1t1d0s6
d26: Concat/Stripe is setup
# metainit d6 -m d16
d6: Mirror is setup

/etc/vfstab 을 수정합니다 :

# vi /etc/vfstab

아래와 같은 항목을:

#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c1t0d0s1       -       -       swap    -       no      -
/dev/md/dsk/d0  /dev/md/rdsk/d0 /       ufs     1       no      -
/dev/dsk/c1t0d0s3       /dev/rdsk/c1t0d0s3      /usr    ufs     1       no      -
/dev/dsk/c1t0d0s4       /dev/rdsk/c1t0d0s4      /var    ufs     1       no      -
/dev/dsk/c1t0d0s6       /dev/rdsk/c1t0d0s6      /opt    ufs     2       yes     nosuid
/dev/dsk/c1t0d0s5       /dev/rdsk/c1t0d0s5      /var/crash      ufs     2       yes     -
swap    -       /tmp    tmpfs   -       yes     -

이렇게 바꿉니다:

#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/md/dsk/d1       -       -       swap    -       no      -
/dev/md/dsk/d0  /dev/md/rdsk/d0 /       ufs     1       no      -
/dev/md/dsk/d3       /dev/md/rdsk/d3      /usr    ufs     1       no      -
/dev/md/dsk/d4       /dev/md/rdsk/d4      /var    ufs     1       no      -
/dev/md/dsk/d6       /dev/md/rdsk/d6      /opt    ufs     2       yes     nosuid
/dev/md/dsk/d5       /dev/md/rdsk/d5      /var/crash      ufs     2       yes     -
swap    -       /tmp    tmpfs   -       yes     -

파일을 저장합니다:

init 6

미러를 부착시킵니다:

# metattach d0 d20
d0: submirror d20 is attached
# metattach d1 d21
d1: submirror d21 is attached
# metattach d3 d23
d3: submirror d23 is attached
# metattach d4 d24
d4: submirror d24 is attached
# metattach d5 d25
d5: submirror d25 is attached
# metattach d6 d26
d6: submirror d26 is attached

metastat 를 이용해서 미러의 상태를 확인합니다:

# metastat

/opt 파일 시스템을 복구 합니다. usr ufsdump 를 가지고 있는 DVD/CD 를 삽입합니다.

# cd /opt
# mount -o ro -F hsfs /dev/dsk/c0t0d0s0 /cdrom
# zcat /cdrom/ufsdumps/opt_ufs.Z | ufsrestore rf -

호스트를 재부팅합니다:

# init 6


저자에 관하여

Ross Moffatt 은 UNIX 시스템 관리자로 10년 이상 일해 왔습니다. ross.stuff@telstra.com 를 이용해서 연락하실 수 있습니다.


이 글의 영문 원본은
http://www.sun.com/bigadmin/content/submitted/boot_dvd_ufsdump.jsp
에서 보실 수 있습니다.

2008/03/11 11:08 2008/03/11 11:08

TRACKBACK :: http://blog.sdnkorea.com/blog/trackback/522

댓글을 달아 주세요

[로그인][오픈아이디란?]

◀ Prev 1  ... 129 130 131 132 133 134 135 136 137  ... 624  Next ▶