본문 바로가기
HP-UX/Operating System

[HP-UX] CVM을 사용하여 저장소 인프라 만들기

by 레이루이 2008. 5. 2.
반응형

(HP 제품 번호 'T1859-90045', 발행 날짜 '2007년 2월' )

클러스터를 구성하는 것 외에도, 서로 다른 노드에서 데이터를 액세스할 수 있도록 적절한 논리 볼륨 인프라를 만들어야 합니다. 이 작업은 LVM(Logical Volume Manager), VxVM(Veritas Volume Manager) 또는 Veritas CVM(Cluster Volume Manager)을 통해 수행합니다. LVM 및 VxVM 구성은 클러스터 구성 이전에 완료되며 CVM 구성은 클러스터 구성 후에 완료됩니다.

이 절에서는 Veritas CVM(Cluster Volume Manager)을 사용하여 저장소를 구성하는 방법에 대해 설명합니다. 예제에서는 RAC 디스크 그룹을 구성하는 방법에 대해 설명하지만 RAC용으로 사용하지 않을 CVM 디스크 그룹을 만들 수도 있습니다. Plexe(미러), 다중 경로 지정 및 RAID 구성 등을 포함한 자세한 내용은 Veritas Volume Manager에 대한 HP-UX 설명서를 참조하십시오.

Veritas Volume Manager 초기화

디스크 그룹을 처음으로 만들 경우 볼륨 관리자를 초기화해야 합니다. 이 작업을 위해서는 최소 하나 이상의 디스크를 포함하는 rootdg라고 하는 디스크 그룹을 만들어야 합니다. 각각의 노드에서 CVM을 설치한 후 다음 명령을 사용하십시오.

# vxinstall

이 명령은 CVM 초기화 과정을 안내하는 메뉴 방식의 프로그램을 표시합니다. 주 메뉴에서 "Custom" 옵션을 선택하고 rootdg에 포함할 디스크를 지정합니다.

중요: rootdg 디스크 그룹을 만드는 것은 볼륨 관리자를 처음 사용할 때만 필요합니다. CVM 4.1에서는 rootdg가 필요하지 않습니다.

CVM 4.x 이상 사용

이 절에서는 CFS 파일 시스템 없이 CVM 4.x 이상만 사용하여 클러스터 및 시스템 다중 노드 패키지를 준비하는 방법에 대해 설명합니다. CFS와 CVM을 지원하는 HP-UX 버전에 대한 자세한 내용은 “Veritas CFS 및 CVM 정보”를 참조하십시오.

CVM 4.x 이상에서 사용할 클러스터 및 시스템 다중 노드 패키지 준비

  1. 클러스터 파일 만들기

    # cd /etc/cmcluster

    # cmquerycl -C clm.asc -n ever3a -n ever3b

    클러스터 파일 편집

  2. 클러스터 만들기

    # cmapplyconf -C clm.asc

    • 클러스터 시작

      # cmruncl

      # cmviewcl

      다음 출력이 표시됩니다.

      CLUSTER          STATUS       
      ever3_cluster    up

      NODE         STATUS       STATE
      ever3a       up           running
      ever3b       up           running
  3. Cluster Volume Manager(CVM) 구성

    시스템 다중 노드 패키지 SG-CFS-pkg를 구성하여 CVM 스택을 구성 및 시작합니다. VxVM-CVM-pkg와 달리 SG-CFS-pkg는 하트비트 서브넷을 하나로 제한하지 않으며 여러 서브넷을 지원합니다.

    다음 cmapplyconf 명령을 사용합니다.

    # cmapplyconf -P /etc/cmcluster/cfs/SG-CFS-pkg.conf

    # cmrunpkg SG-CFS-pkg

    CVM이 시작되면 마스터 노드가 선택됩니다. 이 노드에서 디스크 그룹 구성 명령을 실행해야 합니다. 마스터 노드를 확인하려면 클러스터의 각 노드에서 다음 명령을 실행합니다.

    # vxdctl -c mode

    다음 출력이 표시됩니다.

    mode: enabled: cluster active - SLAVEmaster: ever3b

    또는

    mode: enabled: cluster active - MASTERslave: ever3b

    • 디스크를 LVM에서 CVM으로 변환

      vxvmconvert 유틸리티를 사용하여 LVM 볼륨 그룹을 CVM 디스크 그룹으로 변환합니다. 이 작업을 하기 전에 볼륨 그룹을 비활성화해야 합니다. 즉, 해당 볼륨 그룹을 사용하는 모든 패키지의 작동을 중단해야 합니다. 이 절차는 HP-UX 11i v2의 Serviceguard 관리 제12판 사용 설명서 부록 G에 설명되어 있습니다.

    • CVM용 디스크 초기화

      CVM 디스크 그룹에 사용할 물리 디스크를 초기화해야 합니다. 이전에 물리 디스크를 LVM과 함께 사용한 경우 pvremove 명령을 사용하여 볼륨 그룹의 모든 디스크에서 LVM 헤더 데이터를 삭제해야 합니다. 이전에 디스크를 LVM과 함께 사용하지 않은 경우에는 이 작업이 필요하지 않습니다.

      CVM에 사용할 디스크를 초기화하려면 마스터 노드에 로그온한 다음 vxdiskadm 프로그램을 사용하여 다중 디스크를 초기화하거나 vxdisksetup 명령을 사용하여 다음 예제처럼 한 번에 하나의 디스크를 초기화합니다.

      # /etc/vx/bin/vxdisksetup -i c4t4d0

    • RAC용 디스크 그룹 만들기

      vxdg 명령을 사용하여 디스크 그룹을 만듭니다. 다음 예제처럼 -s 옵션을 사용하여 공유 모드를 지정합니다.

      # vxdg -s init ops_dg c4t4d0

  4. 볼륨 만들기 및 클러스터 파일 시스템 추가

    # vxassist -g ops_dg make vol1 10240m

    # vxassist -g ops_dg make vol2 10240m

    # vxassist -g ops_dg make vol3 300m

  5. 구성 보기

    # cmviewcl

    CLUSTER          STATUS       
    ever3_cluster    up

    NODE         STATUS       STATE
    ever3a       up           running
    ever3b       up           running

    MULTI_NODE_PACKAGES

    PACKAGE      STATUS     STATE        AUTO_RUN     SYSTEM
    SG-CFS-pkg   up         running      enabled      yes
중요: 이 파일을 만든 후에 vxedit 명령을 사용하여 원시 볼륨 파일의 소유권을 Oracle로 변경하고 그룹 멤버쉽을 dba로 변경합니다. 그리고 사용 권한을 다음과 같이 660으로 변경합니다.

# cd /dev/vx/rdsk/ops_dg

# vxedit -g ops_dg set user=oracle *

# vxedit -g ops_dg set group=dba *

# vxedit -g ops_dg set mode=660 *

이제 주 노드에서 논리 볼륨을 사용할 수 있고 Oracle DBA는 원시 논리 볼륨 이름을 사용할 수 있습니다.

CVM의 미러 분리 정책

필요한 CVM 디스크 미러 분리 정책은 'global'입니다. 즉, 한 노드가 특정 미러 복사본(plex)을 볼 수 없으면 어떤 노드도 해당 복사본을 볼 수 없습니다. 이에 대한 대체 정책은 'local'입니다. 즉, 어떤 노드가 특정 미러 복사본을 볼 수 없으면 해당 노드에 대해서만 볼륨 액세스를 무효화합니다.

이 정책은 다음과 같이 vxedit 명령을 사용하여 디스크 그룹별로 재설정할 수 있습니다.

# vxedit set diskdetpolicy=global <DiskGroupName>

참고: CVM을 사용하는 미러링된 다중 경로 저장소를 만들기 위한 특정 명령은 Veritas Volume Manager에 대한 HP-UX 설명서에 설명되어 있습니다.

CVM 3.x 사용

이 절에서는 CVM 3.x만 사용하여 클러스터 및 시스템 다중 노드 패키지를 준비하는 방법에 대해 설명합니다. CFS와 CVM을 지원하는 HP-UX 릴리즈에 대한 자세한 내용은 “Veritas CFS 및 CVM 정보”를 참조하십시오.

클러스터를 CVM 3.x와 함께 사용할 수 있도록 준비

Veritas CVM(Cluster Volume Manager) 버전 3.x를 사용하려면 클러스터가 특수 CVM 패키지와 함께 실행되고 있어야 합니다. 즉, 디스크 그룹을 만들기 전에 클러스터를 미리 구성 및 실행하고 있어야 합니다.

참고: 클러스터 구성은 앞의 절에 설명되어 있습니다.

CVM 디스크 그룹 구성을 위한 클러스터를 준비하려면 하나의 하트비트 서브넷만 구성해야 합니다. 그리고 클러스터 정보를 CVM에 전달하는 특수 패키지를 만드는 다음 명령을 실행합니다.

# cmapplyconf -P /etc/cmcluster/cvm/VxVM-CVM-pkg.conf

경고! 위의 파일은 수정하면 안 됩니다.

위 명령이 성공적으로 완료되면 클러스터를 시작하고 다음 절에서 설명하는 것처럼 공유용으로 디스크 그룹을 만듭니다.

클러스터 시작 및 마스터 노드 확인

클러스터를 실행합니다. 특수 CVM 패키지가 활성화됩니다.

# cmruncl

클러스터가 시작되면 모든 노드에 있는 VxVM-CVM-pkg라는 특수 시스템 다중 노드 패키지도 함께 실행됩니다. 이 패키지는 cmviewcl -v 명령을 실행하면 다음과 같은 결과로 나타납니다.

CLUSTER      STATUS       
bowls        up

NODE STATUS STATE
spare up running
split up           running
strike up running

SYSTEM_MULTI_NODE_PACKAGES:

PACKAGE STATUS STATE
VxVM-CVM-pkg up           running


CVM이 시작되면 마스터 노드가 선택됩니다. 이 노드에서 디스크 그룹 구성 명령을 실행해야 합니다. 마스터 노드를 확인하려면 클러스터의 각 노드에서 다음 명령을 실행합니다.

# vxdctl -c mode

노드 하나가 마스터로 표시됩니다. 이 노드에서 디스크 그룹을 만듭니다.

디스크를 LVM에서 CVM으로 변환

vxvmconvert 유틸리티를 사용하면 LVM 볼륨 그룹을 CVM 디스크 그룹으로 변환할 수 있습니다. 이 작업을 하기 전에 볼륨 그룹을 비활성화해야 합니다. 즉, 해당 볼륨 그룹을 사용하는 모든 패키지의 작동을 중단해야 합니다. 이 절차는 Serviceguard 관리 제12판 사용 설명서 부록 G에 설명되어 있습니다.

CVM용 디스크 초기화

CVM 디스크 그룹에 사용할 물리 디스크를 초기화해야 합니다. 이전에 물리 디스크를 LVM과 함께 사용한 경우 pvremove 명령을 사용하여 볼륨 그룹의 모든 디스크에서 LVM 헤더 데이터를 삭제해야 합니다. 이전에 디스크를 LVM과 함께 사용하지 않은 경우에는 이 작업이 필요하지 않습니다.

CVM에 사용할 디스크를 초기화하려면 마스터 노드에 로그온한 다음 vxdiskadm 프로그램을 사용하여 여러 디스크를 초기화하거나 vxdisksetup 명령을 사용하여 다음 예제처럼 한 번에 하나의 디스크를 초기화합니다.

# /usr/lib/vxvm/bin/vxdisksetup -i /dev/dsk/c0t3d2

RAC용 디스크 그룹 만들기

vxdg 명령을 사용하여 디스크 그룹을 만듭니다. 다음 예제처럼 -s 옵션을 사용하여 공유 모드를 지정합니다.

# vxdg -s init ops_dg c0t3d2

다음 명령으로 구성을 확인합니다.

# vxdg list

NAME         STATE                  ID

rootdg        enabled             971995699.1025.node1
ops_dg        enabled,shared      972078742.1084.node2

볼륨 만들기

vxassist 명령을 사용하여 논리 볼륨을 만듭니다. 다음은 그 예제입니다.

# vxassist -g ops_dg make log_files 1024m

이 명령을 실행하면 ops_dg라는 디스크 그룹에 log_files라는 1024MB의 볼륨이 만들어집니다. 이 볼륨은 블록 장치 파일/dev/vx/dsk/ops_dg/log_files 또는 원시(문자) 장치 파일/dev/vx/rdsk/ops_dg/log_files로 참조할 수 있습니다.

다음 명령으로 구성을 확인합니다.

# vxdg list

중요: 이 파일을 만든 후에 vxedit 명령을 사용하여 원시 볼륨 파일의 소유권을 Oracle로 변경하고 그룹 멤버쉽을 dba로 변경합니다. 그리고 사용 권한을 다음과 같이 660으로 변경합니다.

# cd /dev/vx/rdsk/ops_dg

# vxedit -g ops_dg set user=oracle *

# vxedit -g ops_dg set group=dba *

# vxedit -g ops_dg set mode=660 *

이제 주 노드에서 논리 볼륨을 사용할 수 있고 Oracle DBA는 원시 논리 볼륨 이름을 사용할 수 있습니다.

CVM의 미러 분리 정책

필요한 CVM 디스크 미러 분리 정책은 'global'입니다. 즉, 한 노드가 특정 미러 복사본(plex)을 볼 수 없으면 어떤 노드도 해당 복사본을 볼 수 없습니다. 이에 대한 대체 정책은 'local'입니다. 즉, 어떤 노드가 특정 미러 복사본을 볼 수 없으면 해당 노드에 대해서만 볼륨 액세스를 무효화합니다.

이 정책은 다음과 같이 vxedit 명령을 사용하여 디스크 그룹별로 재설정할 수 있습니다.

# vxedit set diskdetpolicy=global <DiskGroupName>

참고: CVM을 사용하는 미러링된 다중 경로 저장소를 만들기 위한 특정 명령은 Veritas Volume Manager에 대한 HP-UX 설명서에 설명되어 있습니다.

Oracle 데모 데이터베이스 파일

다음 파일들은 설치 중에 만들 수 있는 Oracle 데모 데이터베이스에 필요합니다.

표 2-2 데모 데이터베이스의 필수 Oracle 파일 이름

볼륨 이름

크기(MB)

원시 장치 파일 이름

Oracle 파일 크기(MB)

opsctl1.ctl

118

/dev/vx/rdsk/ops_dg/opsctl1.ctl

110

opsctl2.ctl

118

/dev/vx/rdsk/ops_dg/opsctl2.ctl

110

opsctl3.ctl

118

/dev/vx/rdsk/ops_dg/opsctl3.ctl

110

ops1log1.log

128

/dev/vx/rdsk/ops_dg/ops1log1.log

120

ops1log2.log

128

/dev/vx/rdsk/ops_dg/ops1log2.log

120

ops1log3.log

128

/dev/vx/rdsk/ops_dg/ops1log3.log

120

ops2log1.log

128

/dev/vx/rdsk/ops_dg/ops2log1.log

120

ops2log2.log 128 /dev/vx/rdsk/ops_dg/ops2log2.log

120

ops2log3.log

128

/dev/vx/rdsk/ops_dg/ops2log3.log

120

opssystem.dbf 508 /dev/vx/rdsk/ops_dg/opssystem.dbf 500
opssysaux.dbf 808 /dev/vx/rdsk/ops_dg/opssysaux.dbf

800

opstemp.dbf 258 /dev/vx/rdsk/ops_dg/opstemp.dbf

250

opsusers.dbf 128 /dev/vx/rdsk/ops_dg/opsusers.dbf 120
opsdata1.dbf 208 /dev/vx/rdsk/ops_dg/opsdata1.dbf

200

opsdata2.dbf 208 /dev/vx/rdsk/ops_dg/opsdata2.dbf

200

opsdata3.dbf 208 /dev/vx/rdsk/ops_dg/opsdata3.dbf

200

opsspfile1.ora

508

/dev/vx/rdsk/ops_dg/opsspfile1.ora 500
opspwdfile.ora

508

/dev/vx/rdsk/ops_dg/opspwdfile.ora 500
opsundotbs1.dbf

508

/dev/vx/rdsk/ops_dg/opsundotbs1.dbf 500
opsundotbs2.dbf

508

/dev/vx/rdsk/ops_dg/opsundotbs2.dbf

500

opsexmple1.dbf

168

/dev/vx/rdsk/ops_dg/opsexample1.dbf 160

데모 데이터베이스를 만들려면 이 파일들을 작성하십시오. 표의 아래쪽에 논리 볼륨 세 개가 추가 데이터 파일로 포함되었는데, 필요에 따라 적절한 크기로 작성할 수 있습니다. 명명 규칙에서 요구하는 경우 Oracle SID 및 데이터베이스 이름을 포함시켜 다른 인스턴스와 다른 데이터베이스에 대한 파일을 구분할 수 있습니다. ORACLE_BASE 디렉토리 구조를 사용한다면 해당 디렉토리에서 ORACLE_BASE 파일에 대한 심볼릭 링크를 만드십시오.

예제:

# ln -s /dev/vx/rdsk/ops_dg/opsctl1.ctl \
    /u01/ORACLE/db001/ctrl01_1.ctl

예제:

  1. ASCII 파일을 만들고 각 데이터베이스 개체에 대한 경로를 정의합니다.

    control1=/u01/ORACLE/db001/ctrl01_1.ctl
  2. 다음과 같은 환경 변수를 설정합니다. 여기서 filename은 만들어진 ASCII 파일의 이름입니다.

    # export DBCA_RAW_CONFIG=<full path>/filename

클러스터 구성에 디스크 그룹 추가

CVM 4.x 이상의 경우 디스크 그룹 활성화를 위해 다중 노드 패키지가 구성되어 있으면 CVM 디스크 그룹이 활성 상태가 되도록 응용 프로그램 패키지가 패키지 종속성을 갖도록 구성되어야 합니다.

다중 노드 패키지를 사용하지 않는 CVM 3.5 및 CVM 4.x 이상의 경우 VxVM 명령으로 CVM 저장소의 단위를 만든 후 각 패키지 구성 ASCII 파일에 디스크 그룹을 지정해야 합니다. 패키지에서 사용할 각 CVM 디스크 그룹마다 STORAGE_GROUP 매개 변수를 하나씩 사용합니다. 또한 패키지 제어 스크립트에서 CVM 디스크 그룹, 파일 시스템, 논리 볼륨 및 마운트 옵션을 명시해야 합니다. CFS와 CVM을 지원하는 HP-UX 릴리즈에 대한 자세한 내용은 “Veritas CFS 및 CVM 정보”를 참조하십시오.

패키지 구성 프로세스에 대한 자세한 내용은 Serviceguard 관리 제12판 사용 설명서를 참조하십시오.

반응형