Sun Cluster 3.0 시스템 관리 안내서

8.3.3 메타 디바이스에 있었던 루트(/) 파일 시스템 복원 방법(Solstice DiskSuite)

이 프로시저를 사용하여 백업이 수행되었을 때 메타 디바이스에 있었던 루트(/) 파일 시스템을 복원하십시오. 루트 디스크가 손상되어 새 디스크로 대체될 때와 같은 환경에서 이 프로시저를 수행하십시오. 복원되고 있는 노드는 시동되어서는 안됩니다. 복원 프로시저를 수행하기 전에 클러스터가 문제 없이 실행되는지 확인하십시오.


주 -

실패한 디스크와 동일한 형식을 사용하여 새 디스크를 구획해야 하기 때문에, 이 프로시저를 시작하기 전에 구획 계획을 식별한 후 적절할 때 파일 시스템을 재작성하십시오.


  1. 복원하려는 노드가 아닌 메타 세트에 대한 액세스가 있는 클러스터 노드의 수퍼유저가 되십시오.

  2. metaset(1M) 명령을 사용하여 모든 메타 세트에서 복원되고 있는 노드의 호스트 이름을 제거하십시오.


    # metaset -s setname -f -d -h node
    
    -s setname

    메타 세트 이름을 지정합니다.

    -f

    강제 실행.

    -d

    메타 세트로부터 삭제합니다.

    -h node

    메타 세트로부터 삭제할 노드의 이름을 지정합니다.

  3. 루트(/) 파일 시스템이 복원될 노드의 실패한 디스크를 대체하십시오.

    서버와 함께 제공된 문서의 디스크 대체 프로시저를 참조하십시오.

  4. 복원되고 있는 노드를 시동하십시오.

    • Solaris CD-ROM을 사용하고 있는 경우, 다음 명령을 실행하십시오.


      ok boot cdrom -s
      
    • JumpStart 서버를 사용하고 있는 경우, 다음 명령을 실행하십시오.


      ok boot net -s
      
  5. format(1M) 명령을 사용하여 모든 구획을 작성한 후 루트 디스크에서 교환하십시오.

    실패한 디스크에 있었던 원래 구획 계획을 재작성하십시오.

  6. newfs(1M) 명령을 사용하여 적절할 때 루트(/) 파일 시스템 및 다른 파일 시스템을 작성하십시오.

    실패한 디스크에 있었던 원래 파일 시스템을 재작성하십시오.


    주 -

    /global/.devices/node@nodeid 파일 시스템 작성을 확인하십시오.


  7. 임시 마운트 지점에 루트(/) 파일 시스템을 마운트하십시오.


    # mount device temp-mount-point
    

  8. 다음 명령을 사용하여 루트(/) 파일 시스템을 복원하십시오.


    # cd  temp-mount-point
    # ufsrestore rvf dump-device
    # rm restoresymtable
    

  9. 새 디스크에 새 시동 블록을 설치하십시오.


    # /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device
    
  10. MDD 루트 정보에 대한 /temp-mount-point/etc/system 파일에 있는 행을 제거하십시오.


    * Begin MDD root info (do not edit)
    forceload: misc/md_trans
    forceload: misc/md_raid
    forceload: misc/md_mirror
    forceload: misc/md_hotspares
    forceload: misc/md_stripe
    forceload: drv/pcipsy
    forceload: drv/glm
    forceload: drv/sd
    rootdev:/pseudo/md@0:0,10,blk
    * End MDD root info (do not edit)

  11. /temp-mount-point/etc/vfstab 파일을 편집하여 메타 디바이스에서 메타 디바이스의 일부인 루트 디스크에 있는 각 파일 시스템에 대한 해당 보통 슬라이스로 루트 항목을 변경하십시오.


    Example: 
    Change from-
    /dev/md/dsk/d10   /dev/md/rdsk/d10    /      ufs   1     no       -
     
    Change to-
    /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0  /usr   ufs   1     no       -
  12. 임시 파일 시스템을 마운트 취소한 후 원천 디스크 디바이스를 검사하십시오.


    # cd /
    # umount  temp-mount-point
    # fsck raw-disk-device
    
  13. 단일 사용자 모드에서 노드를 다시 시동하십시오.


    # reboot -- "-s"
    
  14. scdidadm 명령을 사용하여 디스크 ID를 대체하십시오.


    # scdidadm -R rootdisk
    
  15. metadb(1M) 명령을 사용하여 상태 데이터베이스 복제본을 재작성하십시오.


    # metadb -c copies -af raw-disk-device
    
    -c copies

    작성할 복제본 수를 지정합니다.

    -af raw-disk-device

    초기 상태 데이터베이스 복제본을 이름 지정된 원천 디스크 디바이스에 작성합니다.

  16. 클러스터 모드에서 노드를 다시 시동하십시오.

    1. 다시 시동을 시작하십시오.


      # reboot
      

      이 시동 중에 다음 명령으로 끝나는 오류 또는 경고 메시지를 볼 수 있습니다.


      Type control-d to proceed with normal startup,
      (or give root password for system maintenance):
    2. CTRL-d를 눌러 다중 사용자 모드로 시동하십시오.

  17. 복원된 노드가 아닌 클러스터 노드에서, metaset(1M) 명령을 사용하여 모든 메타 세트에 복원된 노드를 추가하십시오.


    phys-schost-2# metaset -s setname -a -h node
    
    -a

    메타 세트를 추가(작성)합니다.

    Solstice DiskSuite 문서에 따라 루트(/)에 대해 메타 디바이스/이중복사를 설정하십시오.

    노드는 클러스터 모드로 다시 시동됩니다. 클러스터를 사용할 준비가 되어 있습니다.

8.3.3.1 예제-메타 디바이스에 있었던 루트(/) 파일 시스템 복원 방법(Solstice DiskSuite)

다음 예에서는 테이프 디바이스 /dev/rmt/0에서 노드 phys-schost-1로 복원된 루트(/) 파일 시스템을 보여줍니다. metaset 명령은 제거된 후 나중에 메타 세트 schost-1에 노드 phys-schost-1을 추가하기 위해 클러스터 phys-schost-2에 있는 또다른 노드에서 실행됩니다. 다른 모든 명령은 phys-schost-1에서 실행됩니다. 새 시동 블록은 /dev/rdsk/c0t0d0s0에 작성되고, 세 개의 상태 데이터베이스 복제본은 /dev/rdsk/c0t0d0s4에 재작성됩니다.


[Become superuser on a cluster node with access to the metaset,
other than the node to be restored]
[Remove the node from the metaset:]
phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1
[Replace the failed disk and boot the node:]
ok boot cdrom -s
[Use format and newfs to recreate partitions and file systems.]
[Mount the root file system on a temporary mount point:]
# mount /dev/dsk/c0t0d0s0 /a
[Restore the root file system:]
# cd /a
# ufsrestore rvf /dev/rmt/0
# rm restoresymtable
[Install a new boot block:]
# /usr/sbin/installboot /usr/platform/`uname \
-i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0
[Remove the lines in /temp-mount-point/etc/system file for MDD root information:]
* Begin MDD root info (do not edit)
forceload: misc/md_trans
forceload: misc/md_raid
forceload: misc/md_mirror
forceload: misc/md_hotspares
forceload: misc/md_stripe
forceload: drv/pcipsy
forceload: drv/glm
forceload: drv/sd
rootdev:/pseudo/md@0:0,10,blk
* End MDD root info (do not edit)
[Edit the /temp-mount-point/etc/vfstab file]
Example: 
Change from-
/dev/md/dsk/d10   /dev/md/rdsk/d10    /      ufs   1     no       -
 
Change to-
/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0  /usr   ufs   1     no       -
[Unmount the temporary file system and check the raw disk device:]
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
[Reboot in single-user mode:]
# reboot -- "-s"
[Replace the disk ID:]
# scdidadm -R /dev/dsk/c0t0d0
[Recreate state database replicas:]
# metadb -c 3 -af /dev/rdsk/c0t0d0s4
# reboot
Type CTRL-d to boot into multiuser mode.
[Add the node back to the metaset:]
phys-schost-2# metaset -s schost-1 -a -h phys-schost-1