Solaris OS용 Sun Cluster 시스템 관리 안내서

ProcedureSolstice DiskSuite 메타 장치 또는 Solaris Volume Manager 볼륨에 있던 루트(/) 파일 시스템을 복원하는 방법

백업을 수행할 때 Solstice DiskSuite 메타 장치 또는 Solaris 볼륨 관리자 볼륨에 있던 루트(/) 파일 시스템을 복원하려면 이 절차를 수행합니다. 루트 디스크가 손상되어 새 디스크로 교체하는 경우와 같은 상황에서 이 절차를 수행하십시오. 복원하는 노드를 부트하면 안됩니다. 복원 절차를 수행하기 전에 클러스터가 오류 없이 실행되는지 확인합니다.


주 –

새 디스크는 장애가 발생한 디스크와 같은 형식으로 분할해야 하므로 이 절차를 시작하기 전에 분할 영역 구조를 확인하고 적절한 형식으로 파일 시스템을 다시 만듭니다.


이 절차에서는 장문형 Sun Cluster 명령을 제공합니다. 대부분의 명령에는 단문형도 있습니다. 명령은 명령 이름이 장문형과 단문형인 것을 제외하면 동일합니다. 명령 및 단문형 명령의 목록을 보려면 부록 A, Sun Cluster 객체 지향 명령를 참조하십시오.

  1. 수퍼유저 또는 복원할 노드가 아닌 디스크 세트에 액세스하여 클러스터 노드에 solaris.cluster.modifiy RBAC 인증을 제공하는 역할로 전환합니다.

    복원할 노드가 아닌 다른 노드를 사용합니다.

  2. 모든 디스크 세트에서 복원 중인 노드의 호스트 이름을 제거합니다.


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

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

    -f

    디스크 세트에서 마지막 호스트를 삭제합니다.

    -d

    메타 세트에서 삭제합니다.

    -h nodelist

    메타 세트에서 삭제할 노드의 이름을 지정합니다.

  3. 루트(/) 파일 시스템을 복원할 노드에서 장애가 발생한 디스크를 교체합니다.

    서버와 함께 제공되는 문서에서 디스크를 교체하는 절차를 참조하십시오.

  4. 복원할 노드를 부트합니다.

    • Solaris OS CD를 사용할 경우, 다음을 참조하십시오.

      • SPARC: 다음을 입력합니다.


        ok boot cdrom -s
        
      • x86: CD를 시스템의 CD 드라이브에 넣고 시스템을 종료한 다음 전원을 껐다가 켜서 부트합니다. 현재 부트 매개 변수 화면에서 b 또는 i를 입력합니다.


                             <<< Current Boot Parameters >>>
        Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@
        7,1/sd@0,0:a
        Boot args:
        
        Type b [file-name] [boot-flags] <ENTER> to boot with options
        or   i <ENTER>                          to enter boot interpreter
        or   <ENTER>                            to boot with defaults
        
                         <<< timeout in 5 seconds >>>
        Select (b)oot or (i)nterpreter: b -s
        
    • Solaris JumpStartTM 서버를 사용하는 경우 다음을 참조하십시오.

      • SPARC: 다음을 입력합니다.


        ok boot net -s
        
      • x86: CD를 시스템의 CD 드라이브에 넣고 시스템을 종료한 다음 전원을 껐다가 켜서 부트합니다. 현재 부트 매개 변수 화면에서 b 또는 i를 입력합니다.


                             <<< Current Boot Parameters >>>
        Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@
        7,1/sd@0,0:a
        Boot args:
        
        Type b [file-name] [boot-flags] <ENTER> to boot with options
        or   i <ENTER>                          to enter boot interpreter
        or   <ENTER>                            to boot with defaults
        
                         <<< timeout in 5 seconds >>>
        Select (b)oot or (i)nterpreter: b -s
        
  5. format 명령을 사용하여 루트 디스크에 모든 분할 영역과 스왑 공간을 만듭니다.

    장애가 발생한 디스크와 동일한 분할 영역 구조를 다시 만듭니다.

  6. newfs 명령을 사용하여 루트(/) 파일 시스템과 필요한 다른 파일 시스템을 만듭니다.

    장애가 발생한 디스크와 동일한 파일 시스템을 다시 만듭니다.


    주 –

    /global/.devices/node@nodeid 파일 시스템을 만들어야 합니다.


  7. 임시 마운트 지점에 루트(/) 파일 시스템을 마운트합니다.


    # mount device temp-mountpoint
    
  8. 다음 명령을 사용하여 루트(/) 파일 시스템을 복원합니다.


    # cd temp-mountpoint
    # ufsrestore rvf dump-device
    # rm restoresymtable
    
  9. 새 디스크에 새 부트 블록을 설치합니다.


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


    * 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. Solstice DiskSuite 메타 장치 또는 Solaris Volume Manager 볼륨에서 메타 장치 또는 볼륨의 일부인 루트 디스크에 있는 각 파일 시스템의 해당되는 정상 슬라이스로 루트 항목을 변경하도록 /temp-mountpoint/etc/vfstab 파일을 편집하십시오.


    Example: 
    Change from—
    /dev/md/dsk/d10   /dev/md/rdsk/d10    /      ufs   1     no       -
    
    Change to—
    /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0  /      ufs   1     no       -
  12. 임시 파일 시스템 마운트를 해제하고 원시 디스크 장치를 검사합니다.


    # cd /
    # umount temp-mountpoint
    # fsck raw-disk-device
    
  13. 노드를 복수 사용자 모드로 재부트합니다.


    # reboot
    
  14. 디스크 ID를 대체합니다.


    # cldevice repair rootdisk
    
  15. metadb 명령을 사용하여 상태 데이터베이스 복제본을 다시 만듭니다.


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

    만들 복제본의 수를 지정합니다.

    -af raw-disk-device

    이름이 지정된 원시 디스크 장치에 초기 상태 데이터베이스 복제본을 만듭니다.

  16. 복원된 노드가 아닌 다른 클러스터 노드에서 모든 디스크 세트에 복원된 노드를 추가합니다.


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

    메타 세트를 만들어 추가합니다.

    Solstice DiskSuite 설명서에 따라 루트(/)의 메타 장치 또는 볼륨/미러를 설정합니다.

    노드가 클러스터 모드로 재부트됩니다. 이제 클러스터를 사용할 준비가 되었습니다.


예 11–7 Solstice DiskSuite 메타 장치 또는 Solaris Volume Manager 볼륨에 있던 루트(/) 파일 시스템 복원

다음 예에서는 테이프 디바이스 /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 or assume a role that provides solaris.cluster.modify RBAC authorization 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:]

Solaris OS CD에서 노드를 부트합니다.


[Use format and newfs to re-create 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-mountpoint/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-mountpoint/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:]
# reboot
[Replace the disk ID:]
# cldevice repair /dev/rdsk/c0t0d0
[Re-create state database replicas:]
# metadb -c 3 -af /dev/rdsk/c0t0d0s4
[Add the node back to the metaset:]
phys-schost-2# metaset -s schost-1 -a -h phys-schost-1