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

루트(/) 파일 시스템을 복원하는 방법(Solstice DiskSuite/Solaris 볼륨 관리자)

손상된 루트 디스크를 교체한 경우를 비롯하여 새 디스크에 루트(/) 파일 시스템을 복원하려면 다음 절차를 수행하십시오. 복원하는 노드를 부트하면 안됩니다. 복원 절차를 수행하기 전에 클러스터가 문제 없이 실행되는지 확인하십시오.


주 –

장애가 발생한 디스크와 동일한 파일 시스템을 사용하여 새 디스크를 분할해야 하기 때문에 이 절차를 시작하기 전에 분할 영역 구조를 확인하고 필요한 파일 시스템을 다시 만드십시오.


  1. 복원하려는 노드를 제외한 노드 중에서 메타 세트에 액세스할 수 있는 클러스터 노드에서 수퍼유저가 됩니다.

  2. 모든 메타 세트에서 복원되는 노드의 호스트 이름을 제거합니다.

    제거하는 노드가 아닌 메타 세트의 노드에서 이 명령을 실행하십시오.


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

    -s setname

    디스크 세트 이름을 지정합니다.

    -f

    강제로 실행합니다.

    -d

    디스크 세트에서 삭제합니다.

    -h nodelist

    디스크 세트에서 삭제할 노드의 이름을 지정합니다.

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

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

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

    • Solaris CD를 사용하는 경우

      • SPARC: OpenBoot PROM ok 프롬프트에서 다음 명령을 입력합니다.


         ok boot cdrom -s
        

      • x86: 시스템의 CD 드라이브에 CD를 삽입한 다음 시스템을 종료하고 전원을 껐다 켜는 방법으로 부트합니다. Current Boot Parameters 화면에서 다음 명령을 입력합니다.


                             <<< 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 JumpStart TM 서버를 사용하는 경우

      • SPARC: OpenBoot PROM ok 프롬프트에서 다음 명령을 입력합니다.


        ok boot net -s
        

      • x86: 시스템을 종료한 다음 전원을 껐다 켜는 방법으로 부트합니다. Current Boot Parameters 화면에서 다음 명령을 입력합니다.


                             <<< 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(1M) 명령을 사용하여 루트 디스크에 모든 분할 영역과 스왑 공간을 만듭니다.

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

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

    장애가 발생한 디스크와 동일한 파일 시스템을 다시 만드십시오.


    주 –

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


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


    # mount device temp-mountpoint
    

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


    # cd temp-mountpoint
    # ufsrestore rvf dump-device
    # rm restoresymtable
    # cd /
    # umount temp-mountpoint
    # fsck raw-disk-device
    

    이제 파일 시스템이 복원되었습니다.

  9. 새 디스크에 새 부트 블록을 설치합니다.


    # /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device
    

  10. 단일 사용자 모드로 노드를 재부트합니다.


    # reboot -- "-s"
    

  11. scdidadm(1M) 명령을 사용하여 디스크 ID를 바꿉니다.


    # scdidadm -R rootdisk
    

  12. metadb(1M) 명령을 사용하여 상태 데이터베이스 복제본을 다시 만듭니다.


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

    -c copies

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

    -f raw-disk-device

    복제본을 만들 원시 디스크 장치입니다.

    -a

    복제본을 추가합니다.

  13. 클러스터 모드로 노드를 재부트합니다.

    1. 재부트하십시오.


      # reboot
      

      이 부트 중에 다음과 같은 명령으로 끝나는 오류 또는 경고 메시지가 나타날 수 있습니다.


      Type control-d to proceed with normal startup,
      (or give root password for system maintenance):

    2. CTRL-d를 눌러 복수 사용자 모드로 부트하십시오.

  14. 복원된 노드가 아닌 클러스터 노드에서 metaset 명령을 사용하여 복원된 노드를 모든 메타 세트에 추가합니다.


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

    -a

    호스트를 생성하고 이를 디스크 세트에 추가합니다.

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

예—루트(/) 파일 시스템 복원(Solstice DiskSuite/Solaris 볼륨 관리자)

다음은 테이프 장치 /dev/rmt/0에서 노드 phys-schost-1로 루트(/) 파일 시스템을 복원하는 예입니다. 노드 phys-schost-1을 제거하고 나중에 다시 디스크 세트 schost-1에 추가하기 위해 클러스터의 다른 노드 phys-schost-2에서 metaset 명령이 실행됩니다. 다른 명령은 모두 phys-schost-1에서 실행됩니다. 새 부트 블록이 /dev/rdsk/c0t0d0s0에 생성되고 3개의 상태 데이터베이스 복제본이 /dev/rdsk/c0t0d0s4에 만들어집니다.


[복원하려는 노드를 제외한 다른 클러스터 노드에서 수퍼유저가 됩니다.]
[메타 세트에서 노드 제거]
phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1
[장애가 발생한 디스크 교체 및 노드 부트]

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


[formatnewfs를 사용하여 분할 영역 및 파일 시스템 다시 만들기]
[임시 마운트 지점에 루트 파일 시스템을 마운트]
# mount /dev/dsk/c0t0d0s0 /a
[루트 파일 시스템 복원]
# cd /a
# ufsrestore rvf /dev/rmt/0
# rm restoresymtable
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
[새 부트 블록 설치]
# /usr/sbin/installboot /usr/platform/`uname \
-i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0
[단일 사용자 모드로 재부트]
# reboot -- "-s"
[디스크 ID 교체]
# scdidadm -R /dev/dsk/c0t0d0
[상태 데이터베이스 복제본 다시 만들기]
# metadb -c 3 -af /dev/rdsk/c0t0d0s4
# reboot
CTRL-d를 눌러 복수 사용자 모드로 부트하십시오.
[메타 세트에 노드를 다시 추가]
phys-schost-2# metaset -s schost-1 -a -h phys-schost-1