기술문서 제목 : ServiceGuard OPS Edition으로OPS 클러스터 구성
원본 위치 : http://docs.hp.com/ko/B5158-90043/index.html
quorum 서버 소프트웨어는 클러스터 구성 중에 실행해야 하며, 클러스터가 실행될 노드 이외의 다른 시스템에 설치해야 합니다.
![](http://docs.hp.com/img/s.gif)
![](http://docs.hp.com/img/s.gif)
![](http://docs.hp.com/img/s.gif)
![](http://docs.hp.com/img/s.gif)
![](http://docs.hp.com/img/note.png)
참고: quorum 서버가 실행 중인 노드는 서비스를 제공하는 클러스터와 같은 서브넷에 있는 것이 좋습니다. 이렇게 하면 quorum 서버 작업에 영향을 미칠 수 있는 네트워크 지연을 막을 수 있습니다. 다른 서브넷을 사용하는 경우 quorum 서버 시간 제한을 일으킬 수 있는 네트워크 지연이 생길 수 있습니다. 이러한 시간 제한이 발생하지 않도록 하려면 클러스터 ASCII 파일의 QS_TIMEOUT_EXTENSION 매개 변수를 사용하여 quorum 서버 시간 제한 간격을 늘립니다.
서버 접속에 클러스터 하트비트 네트워크가 사용된 경우에는 적어도 한 개의 다른 네트워크가 하트비트 네트워크여야 두 quorum 서버와 하트비트 통신에 동시에 장애가 발생하지 않습니다.
![](http://docs.hp.com/img/s.gif)
![](http://docs.hp.com/img/s.gif)
![](http://docs.hp.com/img/s.gif)
![](http://docs.hp.com/img/s.gif)
Quorum 서버 설치
HP-UX swinstall 명령을 사용하여 quorum 서버, 제품 번호 T8467BA를 실행할 시스템에 설치합니다. 단순히 quorum 서비스를 사용하는 노드에는 이 제품을 설치하면 안됩니다. 설치에 대한 자세한 내용은 사용하는 Quorum 서버의 Quorum Server Release Notes를 참조하십시오.
quorum 서버 실행 파일 qs는 /usr/lbin 디렉토리에 설치됩니다. 설치가 끝나면 특정 호스트 시스템에서 quorum 서비스를 얻을 수 있도록 QS가 실행할 서버에 인증 파일을 만들어야 합니다. 이 파일은 반드시 /etc/cmcluster/qs_authfile에 있어야 합니다. 이 quorum 서버에서 클러스터 서비스에 액세스할 모든 클러스터 노드 이름을 파일에 추가합니다. 아래 예제에서처럼 노드마다 한 줄을 사용합니다.
![](http://docs.hp.com/img/s.gif)
ftsys9.localdomain.com
ftsys10.localdomain.com
![](http://docs.hp.com/img/s.gif)
모든 노드에 액세스를 허용하려면 덧셈 기호(+) 다음에 CR을 사용합니다.
Quorum 서버 실행
![](http://docs.hp.com/img/s.gif)
quorum 서버는 다음 클러스터 작업 중에 실행해야 합니다.
-
cmquerycl 명령 실행 시
-
cmapplyconf 명령 실행 시
-
클러스터 재형성 시
기본적으로 quorum 서버 런타임 메시지는 stdout 및 stderr로 이동됩니다. /var/adm/qs 디렉토리를 만든 다음 stdout 및 stderr을 이 디렉토리의 파일로 재지정하는 것이 좋습니다(예: /var/adm/qs/qs.log).
quorum 서버를 실행할 루트 사용 권한이 있어야 합니다. quorum 서버가 설치된 시스템을 언제든지 다시 시작하고 다시 부팅할 수 있도록 quorum 서버를 구성합니다. 이렇게 하려면 /etc/inittab 파일에 다음과 같은 항목을 만듭니다.
![](http://docs.hp.com/img/s.gif)
qs:345:respawn:/usr/lbin/qs >> /var/adm/qs/qs.log 2>&1
![](http://docs.hp.com/img/s.gif)
다음과 같이 quorum 서버를 시작합니다.
![](http://docs.hp.com/img/s.gif)
# init q
![](http://docs.hp.com/img/s.gif)
명령이 완료되면 메시지가 나타납니다.
qs.log 파일을 검사하여 quorum 서버가 실행 중인지 확인합니다.
# cat /var/adm/qs/qs.log
로그에는 quorum 서버가 시작되었음을 나타내는 다음과 같은 항목이 포함되어 있어야 합니다.
![](http://docs.hp.com/img/s.gif)
Oct 04 12:25:06:0:main:Starting Quorum Server
Oct 04 12:25:09:0:main:Server is up and waiting for connections at port 1238
![](http://docs.hp.com/img/s.gif)
quorum 서버 작동 방법에 대해서는 3장을 참조하고 cmquerycl 명령을 사용하여 클러스터 ASCII 파일에 quorum 서버를 지정하는 방법에 대해서는 이 장의 "클러스터 구성" 절에 있는 "quorum 서버 지정" 절을 참조하십시오.
![](http://docs.hp.com/img/s.gif)
ServiceGuard OPS Edition 설치
기술문서 제목 : ServiceGuard OPS Edition으로OPS 클러스터 구성
원본 위치 : http://docs.hp.com/ko/B5158-90043/index.html
quorum 서버 소프트웨어는 클러스터 구성 중에 실행해야 하며, 클러스터가 실행될 노드 이외의 다른 시스템에 설치해야 합니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: quorum 서버가 실행 중인 노드는 서비스를 제공하는 클러스터와 같은 서브넷에 있는 것이 좋습니다. 이렇게 하면 quorum 서버 작업에 영향을 미칠 수 있는 네트워크 지연을 막을 수 있습니다. 다른 서브넷을 사용하는 경우 quorum 서버 시간 제한을 일으킬 수 있는 네트워크 지연이 생길 수 있습니다. 이러한 시간 제한이 발생하지 않도록 하려면 클러스터 ASCII 파일의 QS_TIMEOUT_EXTENSION 매개 변수를 사용하여 quorum 서버 시간 제한 간격을 늘립니다.
서버 접속에 클러스터 하트비트 네트워크가 사용된 경우에는 적어도 한 개의 다른 네트워크가 하트비트 네트워크여야 두 quorum 서버와 하트비트 통신에 동시에 장애가 발생하지 않습니다. |
![]() | |
![]() |
![]() |
![]() |
Quorum 서버 설치
HP-UX swinstall 명령을 사용하여 quorum 서버, 제품 번호 T8467BA를 실행할 시스템에 설치합니다. 단순히 quorum 서비스를 사용하는 노드에는 이 제품을 설치하면 안됩니다. 설치에 대한 자세한 내용은 사용하는 Quorum 서버의 Quorum Server Release Notes를 참조하십시오.
quorum 서버 실행 파일 qs는 /usr/lbin 디렉토리에 설치됩니다. 설치가 끝나면 특정 호스트 시스템에서 quorum 서비스를 얻을 수 있도록 QS가 실행할 서버에 인증 파일을 만들어야 합니다. 이 파일은 반드시 /etc/cmcluster/qs_authfile에 있어야 합니다. 이 quorum 서버에서 클러스터 서비스에 액세스할 모든 클러스터 노드 이름을 파일에 추가합니다. 아래 예제에서처럼 노드마다 한 줄을 사용합니다.
![]() |
|
![]() |
모든 노드에 액세스를 허용하려면 덧셈 기호(+) 다음에 CR을 사용합니다.
Quorum 서버 실행 |
![]() |
quorum 서버는 다음 클러스터 작업 중에 실행해야 합니다.
-
cmquerycl 명령 실행 시
-
cmapplyconf 명령 실행 시
-
클러스터 재형성 시
기본적으로 quorum 서버 런타임 메시지는 stdout 및 stderr로 이동됩니다. /var/adm/qs 디렉토리를 만든 다음 stdout 및 stderr을 이 디렉토리의 파일로 재지정하는 것이 좋습니다(예: /var/adm/qs/qs.log).
quorum 서버를 실행할 루트 사용 권한이 있어야 합니다. quorum 서버가 설치된 시스템을 언제든지 다시 시작하고 다시 부팅할 수 있도록 quorum 서버를 구성합니다. 이렇게 하려면 /etc/inittab 파일에 다음과 같은 항목을 만듭니다.
![]() |
|
![]() |
다음과 같이 quorum 서버를 시작합니다.
![]() |
|
![]() |
명령이 완료되면 메시지가 나타납니다.
qs.log 파일을 검사하여 quorum 서버가 실행 중인지 확인합니다.
# cat /var/adm/qs/qs.log
로그에는 quorum 서버가 시작되었음을 나타내는 다음과 같은 항목이 포함되어 있어야 합니다.
![]() |
|
![]() |
quorum 서버 작동 방법에 대해서는 3장을 참조하고 cmquerycl 명령을 사용하여 클러스터 ASCII 파일에 quorum 서버를 지정하는 방법에 대해서는 이 장의 "클러스터 구성" 절에 있는 "quorum 서버 지정" 절을 참조하십시오.
![]() |
ServiceGuard OPS Edition을 설치할 경우 OPS용 고가용성 클러스터 작업을 지원하기 위해 소프트웨어를 업데이트하고 커널을 재구성해야 합니다. 이미 HP-UX 11.0이 설치되어 있다고 가정합니다.
각 노드에 대해 다음 단계를 따르십시오.
-
MC/ServiceGuard가 없는지 확인합니다. MC/ServiceGuard와 ServiceGuard OPS Edition은 같은 노드에 설치할 수 없습니다.
-
테이프 드라이브나 CD ROM 드라이버에 설치 미디어를 넣습니다.
-
swinstall 명령을 사용하여 Software Distributor를 실행합니다.
-
올바른 입력 장치를 지정합니다.
-
표시된 목록에서 다음 번들을 선택합니다.
B5161FA ServiceGuard OPS Edition
-
번들을 선택한 후 OK를 선택합니다. 그러면 해당 소프트웨어가 로드됩니다.
-
각 노드에서 ioscan 을 실행하여 디스크와 드라이버가 제대로 구성되었는지 확인합니다.
클러스터를 구성하기 전에 적절한 논리 볼륨 하부 구조를 만들어 여러 노드의 데이터에 액세스할 수 있게 하십시오. 논리 볼륨 관리자(LVM), VERITAS Cluster Volume Manager(CVM) 또는 VERITAS Volume Manager(VxVM)를 사용할 수 있습니다. LVM 및 VxVM 구성은 클러스터 구성 전에, CVM 구성은 클러스터 구성 후에 수행합니다.
이 절에서는 OPS 데이터를 사용할 수 있도록 LVM 볼륨 그룹을 만드는 방법에 대해 설명합니다. 클러스터를 구성하기에 앞서, 서로 다른 노드에서 데이터를 액세스할 수 있도록 적절한 논리 볼륨 하부 구조를 만들어야 합니다. 이 작업은 논리 볼륨 관리자를 이용하여 수행합니다. 다음 작업의 단계는 별도로 설명합니다.
-
루트 논리 볼륨의 미러 만들기
-
클러스터 잠금 디스크 만들기
-
LVM 명령으로 OPS의 볼륨 그룹 만들기
-
LVM 명령으로 OPS의 미러링된 논리 볼륨 만들기
-
디스크 어레이에 OPS 볼륨 그룹 만들기
-
디스크 어레이에 OPS의 논리 볼륨 만들기
-
다른 노드에 대한 볼륨 그룹 배포
Event Monitoring Service HA Disk Monitor는 LVM 디스크의 상태를 모니터링하는 기능을 제공합니다. 미러링된 디스크에 이 모니터링 기능을 사용하려면 실제 볼륨 그룹에 해당 디스크를 구성해야 합니다. 자세한 내용은 Using HA Monitors설명서를 참조하십시오.
루트 논리 볼륨의 미러 만들기 |
![]() |
모든 클러스터 노드에서 미러링된 루트 볼륨을 사용하는 것이 바람직합니다. 루트 논리 볼륨에 디스크 어레이를 사용할 경우 ““디스크 어레이에 OPS 볼륨 그룹 만들기”” 절로 건너뛰십시오. 독립형 루트 디스크를 사용할 경우 여기에 나타난 대로 미러링됩니다.
다음 과정은 별도의 부트 및 루트 볼륨을 사용하고 있다는 가정 하에 부트 볼륨(/dev/vg00/lvol1), 루트 볼륨(/dev/vg00/lvol3) 및 기본 스왑(/dev/vg00/lvol2)의 미러를 만듭니다. 이 과정은 SAM을 사용하여 수행할 수 없습니다. 이 예제와 다음 명령에서 /dev/dsk/c4t5d0은 기본 디스크이고 /dev/dsk/c4t6d0은 미러입니다. 시스템의 루트 디스크에 올바른 장치 파일 이름을 사용하십시오.
-
미러에 사용할 부팅 가능한 LVM 디스크를 만듭니다.
# pvcreate -B /dev/rdsk/c4t6d0
-
이 디스크를 현재 루트 볼륨 그룹에 추가합니다.
# vgextend /dev/vg00 /dev/dsk/c4t6d0
-
새 디스크로 부팅 디스크를 만듭니다.
# mkboot -l /dev/rdsk/c4t6d0
-
부트, 루트, 주 스왑 논리 볼륨을 새 부트 가능 디스크에 미러링합니다. /usr, /swap같은 vg00의 모든 장치가 미러링되었는지 확인합니다.
참고: 새 디스크에서 부트 볼륨이 가장 처음의 연속된 익스텐트를 차지하고, 루트와 스왑이 올바른 위치에 자리 잡아야 하므로, 부트, 루트, 스왑 논리 볼륨(기본 설정, /dev/vg00/lvol1)을 반드시 다음과 같은 순서로 진행해야 합니다. 다음은 부트 논리 볼륨의 미러링 예제입니다.
# lvextend -m 1 /dev/vg00/lvol1 /dev/dsk/c4t6d0
다음은 기본 스왑 논리 볼륨의 미러링 예제입니다.
# lvextend -m 1 /dev/vg00/lvol2 /dev/dsk/c4t6d0
다음은 루트 논리 볼륨의 미러링 예제입니다.
# lvextend -m 1 /dev/vg00/lvol3 /dev/dsk/c4t6d0
-
부트, 루트 및 기본 스왑의 미러 사본에 대해 BDRA에 수록된 부팅 정보를 업데이트합니다.
# /usr/sbin/lvlnboot -b /dev/vg00/lvol1
# /usr/sbin/lvlnboot -s /dev/vg00/lvol2
# /usr/sbin/lvlnboot -r /dev/vg00/lvol3 -
미러가 제대로 작성되었는지 확인합니다.
# lvlnboot -v
이 명령의 출력 결과는 다음과 같습니다.
Boot Definitions for Volume Group /dev/vg00: Physical Volumes belonging in Root Volume Group: /dev/dsk/c4t5d0 (10/0.5.0) Boot Disk /dev/dsk/c4t6d0 (10/0.6.0) Boot Disk Boot: lvol1 on: /dev/dsk/c4t5d0 /dev/dsk/c4t6d0 Root: lvol3 on: /dev/dsk/c4t5d0 /dev/dsk/c4t6d0 Swap: lvol2 on: /dev/dsk/c4t5d0 /dev/dsk/c4t6d0 Dump: lvol2 on: /dev/dsk/c4t6d0, 0
클러스터 잠금 디스크 만들기 |
![]() |
물리적으로 모든 클러스터 노드와 연결되어 있는 어느 볼륨 그룹에나 클러스터 잠금 디스크를 구성할 수 있습니다. 패키지에서 사용하는 데이터가 들어 있는 볼륨 그룹이라도 괜찮습니다.
이중 클러스터 잠금 디스크를 사용하는 경우에는 클러스터 잠금 실제 볼륨의 기본 IO 시간 제한 값을 사용해야 합니다. 클러스터 잠금 실제 볼륨의 IO 시간 제한 값을 변경하면, 클러스터 재편성을 방지하기 위해 지정한 시간 내에 클러스터 노드에서 장애가 발생한 잠금 디스크를 감지하지 못할 수도 있습니다. 기존 IO 제한 시간 값에 대하여 다음 명령을 실행합니다.
# pvdisplay <lock device file name>
IO 시간 제한값은 "기본값"으로 설정되어야 합니다. IO 시간 제한값을 기본값으로 설정하려면 다음 명령을 실행합니다.
# pvchange -t 0 <lock device file name>
이중 클러스터 잠금은 특정한 하드웨어 구성에서만 사용할 수 있습니다. 3장의 "이중 클러스터 잠금"을 참조하십시오.
클러스터 잠금 디스크 정보의 백업
클러스터를 구성하고 클러스터 잠금 볼륨 그룹과 실제 볼륨을 만든 다음에는 각 잠금 볼륨 그룹에서 볼륨 그룹 구성 데이터의 백업을 만들어야 합니다. 구성한 각 잠금 볼륨 그룹에서 vgcfgbackup 명령을 사용하고, 디스크 장애 발생 시 vgcfgrestore 명령으로 잠금 구성을 새 디스크로 복원할 수 있도록 이 백업 파일을 보관하십시오.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 잠금 볼륨 그룹을 만들 때 SAM이나 HP-UX 명령 사용 여부에 상관 없이 잠금 볼륨 그룹 구성 데이터를 백업하고 복구하려면 vgcfgbackup 및 vgcfgrestore 명령을 사용해야 합니다. |
![]() | |
![]() |
![]() |
![]() |
미러링된 디스크에 OPS의 볼륨 그룹 만들기 |
![]() |
이 절에서 설명하는 과정은 개별 디스크의 미러링을 위한 실제 볼륨 그룹(Physical Volume Group)을 사용하여 각 논리 볼륨을 다른 입출력 버스의 디스크로 미러링합니다. 이런 종류의 미러링 방법을 PVG 완전 미러링(PVG-strict mirroring)이라고 합니다. 디스크가 미러 사본으로 사용되는 것과 동일한 방법으로 이미 디스크 하드웨어가 구성되어 있고, 이 하드웨어는 다른(기본) 사본에 사용되지 않는 버스의 각 노드에 연결되어 있다고 가정합니다.
LVM 사용에 대한 자세한 내용은 HP-UX 설명서 시스템 및 작업 그룹 관리를 참조하십시오.
볼륨 그룹 및 논리 볼륨 만들기
볼륨 그룹을 설정하지 않은 경우 다음 절의 과정을 수행하십시오. LVM을 이미 구성했으면 "클러스터 구성" 절로 건너뛰십시오.
볼륨 그룹을 위한 디스크 선택
두 노드의 디스크 목록을 얻어 두 노드의 동일한 디스크에 사용되는 장치 파일을 찾습니다. 각 노드에 대해 다음 명령을 사용하여 각 시스템에서 식별된 사용 가능한 디스크 목록을 표시하십시오.
![]() |
|
![]() |
다음 예제에서 사용되는 /dev/rdsk/c1t2d0과 /dev/rdsk/c0t2d0은 ftsys9 및 ftsys10 모두에서 동일한 디스크의 장치 이름으로 사용됩니다. 장치 파일 이름이 다른 노드에서 다르게 사용될 경우 해당 이름을 잘 기록하십시오.
실제 볼륨 만들기
구성 노드(ftsys9)에서 pvcreate 명령을 사용하여 디스크를 실제 볼륨으로 정의할 수 있습니다. 이 작업은 구성 노드에서만 수행하면 됩니다. 다음 명령을 사용하여 예제 구성을 위한 두 개의 실제 볼륨을 만듭니다.
![]() |
|
![]() |
PVG 완전 미러링을 사용하여 볼륨 그룹 만들기
다음 단계를 따라 구성 노드(ftsys9)에 볼륨 그룹을 만들 수 있습니다. 나중에 다른 노드에 동일한 볼륨 그룹을 만듭니다.
-
먼저 vgdatabase를 위한 그룹 디렉토리를 만듭니다.
# mkdir /dev/vgdatabase
-
그런 다음 아래와 같이 디렉토리 /dev/vgdatabase에 group이라는 이름의 제어 파일을 만듭니다.
# mknod /dev/vgdatabase/group c 64 0xhh0000
중심 숫자는 항상 64이고 16진 하위 숫자는 다음 형식을 갖습니다.
0xhh0000
여기에서 hh는 작성 중인 볼륨 그룹에서 고유해야 합니다. 이미 구성된 볼륨 그룹 다음에는 시스템에서 사용 가능한 그 다음 16진수를 사용합니다. 다음 명령을 사용하여 기존의 볼륨 그룹 목록을 표시합니다.
# ls -l /dev/*/group
-
다음 명령을 사용하여 볼륨 그룹을 만든 다음 실제 볼륨을 추가합니다.
# vgcreate -g bus0 /dev/vgdatabase /dev/dsk/c1t2d0
# vgextend -g bus1 /dev/vgdatabase /dev/dsk/c0t2d0첫째 명령은 볼륨 그룹을 만들고 bus0이라는 이름의 실제 볼륨 그룹에 실제 볼륨을 추가합니다. 둘째 명령은 볼륨 그룹에 둘째 드라이브를 추가하고 bus1이라는 이름의 다른 실제 볼륨 그룹에 추가합니다. 실제 볼륨 그룹을 사용하면 디스크 및 PV 링크의 PVG 완전 미러링을 사용할 수 있습니다.
-
추가 볼륨 그룹에 대해 이 과정을 반복합니다.
LVM 명령으로 OPS의 미러링된 논리 볼륨 만들기 |
![]() |
볼륨 그룹을 만들고 이 그룹에 사용할 실제 볼륨을 정의한 후에 데이터, 로그 및 제어 파일에 대해 미러링된 논리 볼륨을 정의합니다. 다음 절에 설명된 명령을 실행하여 쉘 스크립트를 사용하는 것이 좋습니다. 논리 볼륨을 만들 때 사용하는 명령은 OPS 재실행 로그 파일의 논리 볼륨이나 Oracle 데이터와 함께 사용할 논리 볼륨 작성 여부에 따라 조금씩 다릅니다.
OPS 재실행 로그 및 제어 파일을 위한 미러링된 논리 볼륨 만들기
미러 일관성 복구를 선택하여 재실행 로그 및 제어 파일로 사용할 논리 볼륨을 만드십시오. 다음 예에서와 같은 옵션을 사용하십시오.
![]() |
|
![]() |
여기서 -m 1 옵션은 단일 미러링을 지정합니다. -M n 옵션은 미러 쓰기 캐시 복구 기능을 설정하지 않았음을 나타내고 -c y는 미러 일관성 복구를 사용함을 의미합니다. -s g는 PVG 완전 미러링을 의미합니다. 즉, 실제 볼륨 그룹 간에 미러링이 발생합니다. -n redo1.log 옵션을 통해 논리 볼륨 이름을 지정할 수 있습니다. -L 4 옵션은 4MB를 할당함을 나타냅니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 재실행 로그 및 제어 파일에 -M n 및 -c y 옵션을 사용하는 것이 중요합니다. 이들 옵션을 사용하면 재실행 로그 파일은 시스템 장애 후, Oracle 데이터베이스 복구가 수행되기 전에 SLVM에 의해 재동기화됩니다. 이들 옵션이 제대로 설정되어 있지 않으면 데이터베이스 복구 작업을 계속 수행할 수 없습니다. |
![]() | |
![]() |
![]() |
![]() |
이 명령이 제대로 수행되면 시스템에 다음과 같은 메시지가 표시됩니다.
![]() |
|
![]() |
여기서 character 장치 파일 이름(원시 논리 볼륨 이름이라고도 함)은 Oracle DBA에서 OPS 데이터베이스를 만드는 데 사용합니다.
OPS 데이터 파일을 위한 미러링된 논리 볼륨 만들기
재실행 로그 또는 제어 파일 외에 데이터 파일에 대해 미러 쓰기 캐싱과 미러 일관성 복구를 모두 사용할 수 없도록 하여 미러 일관성 정책을 "none"으로 선택합니다. 아래 예에서와 동일한 옵션을 사용하여 Oracle 데이터 파일로 사용할 논리 볼륨을 만드십시오.
![]() |
|
![]() |
여기서 -m 1 옵션은 단일 미러링을 지정합니다. -M n 옵션은 미러 쓰기 캐시 복구 기능을 설정하지 않음을 나타내고, -c n은 미러 일관성 복구를 사용하지 않음을 의미합니다. -s g는 PVG 완전 미러링을 의미합니다. 즉, 실제 볼륨 그룹 간에 미러링이 발생합니다. -n system.dbf 옵션을 통해 논리 볼륨 이름을 지정할 수 있습니다. -L 28 옵션은 28MB를 할당함을 나타냅니다.
이 명령이 제대로 수행되면 시스템에 다음과 같은 메시지가 표시됩니다.
![]() |
|
![]() |
여기서 character 장치 파일 이름(원시 논리 볼륨 이름이라고도 함)은 Oracle DBA에서 OPS 데이터베이스를 만드는 데 사용합니다.
디스크 어레이에 OPS 볼륨 그룹 만들기 |
![]() |
이 절에 설명하는 절차는 RAID 보호된 디스크 어레이와 LVM의 PV 링크를 사용하여 클러스터의 각 노드에서 어레이의 모든 논리 단위까지 중복 데이터 경로를 정의했다고 가정합니다.
디스크 어레이에서, 각 노드에 중복 입/출력 채널을 사용하여 배열의 각 컨트롤러에 연결합니다. 그런 다음 배열에 정의한 LUN 또는 논리 디스크에 대한 대체 링크를 정의할 수 있습니다. SAM을 사용할 경우 구성할 디스크 어레이 종류를 선택하고 메뉴에 나와 있는 대로 대체 링크를 정의하십시오. LVM 명령을 사용할 경우 명령줄에 링크를 지정하십시오.
다음 예제는 LVM 명령을 사용하여 대체 링크를 구성하는 방법을 보여줍니다. 다음 디스크 구성을 이용합니다.
![]() |
|
![]() |
디스크 어레이가 구성되었고 ioscan 명령을 실행하면 같은 LUN(논리 디스크)에 대해 다음 두 장치 파일이 나타난다고 가정합니다.
![]() |
|
![]() |
이 논리 디스크에 대한 볼륨 그룹을 구성하려면 다음과 같이 하십시오.
-
먼저, vg_ops에 대한 그룹 디렉토리를 설정합니다.
# mkdir /dev/vg_ops
-
그런 다음 아래와 같이 디렉토리 /dev/vg_ops에 group이라는 이름의 제어 파일을 만듭니다.
# mknod /dev/vg_ops/group c 64 0xhh0000
중심 숫자는 항상 64이고 16진 하위 숫자는 다음 형식을 갖습니다.
0xhh0000
여기서 hh는 작성 중인 볼륨 그룹에서 고유해야 합니다. 이미 구성된 볼륨 그룹 다음에는 시스템에서 사용 가능한 그 다음 16진수를 사용합니다. 다음 명령을 사용하여 기존의 볼륨 그룹 목록을 표시합니다.
# ls -l /dev/*/group
-
LUN과 관련된 장치 파일 중 하나에서 pvcreate 명령을 사용하여 실제 볼륨으로 LUN을 LVM에 정의합니다.
# pvcreate -f /dev/rdsk/c0t15d0
이 작업은 LUN의 장치 파일 이름 중 하나만 사용하여 수행할 수 있습니다. -f 옵션은 그 실제 볼륨이 일부 다른 볼륨 그룹에서 사용되었을 때만 필요합니다.
-
다음 명령을 사용하여 두 개 링크가 있는 볼륨 그룹을 만듭니다.
# vgcreate /dev/vg_ops /dev/dsk/c0t15d0 /dev/dsk c1t3d0
LVM은 이제 /dev/dsk/c0t15d0에 기록된 I/O 채널을 디스크에 대한 주 링크로 인식합니다. 주 링크에 장애가 발생할 경우 LVM은 /dev/dsk/c1t3d0에 기록된 대체 I/O 채널로 자동 전환합니다. vgextend 명령을 사용하여 볼륨 그룹에 별도의 디스크를 추가하여 각 PV 링크에 적절한 실제 볼륨 이름을 지정하십시오.
만들려는 볼륨 그룹마다 이 과정 전체를 반복하십시오. 시스템 관리를 쉽게 하기 위해 다른 여러 볼륨 그룹을 사용하여 데이터와 제어 파일에서 로그를 분리할 수도 있습니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: HP-UX에서 기본 최대 볼륨 그룹 수는 10입니다. 합계 10이 넘는 새로운 볼륨 그룹을 만들려면 maxvgs 시스템 매개 변수 값을 늘린 다음 HP-UX 커널을 다시 만들어야 합니다. SAM에서 Kernel Configuration 영역을 선택한 다음 Configurable Parameters를 선택합니다. 목록에 Maxvgs가 나타납니다. |
![]() | |
![]() |
![]() |
![]() |
디스크 어레이에 OPS의 논리 볼륨 만들기 |
![]() |
볼륨 그룹을 만들고 PV 링크를 추가한 다음에 데이터, 로그, 제어 파일에 대한 논리 볼륨을 정의합니다. 다음은 몇 가지 예입니다.
![]() |
|
![]() |
Oracle 데모 데이터베이스 파일 |
![]() |
다음 파일들은 설치 중에 만들 수 있는 Oracle 데모 데이터베이스에 필요합니다.
표 5-1 데모 데이터베이스의 필수 Oracle 파일 이름
논리 볼륨 이름 |
LV |
원시 논리 볼륨 경로명 |
Oracle |
---|---|---|---|
opsctl1.ctl |
32 |
/dev/vg_ops/ropsctl1.ctl |
1 |
opsctl2.ctl |
32 | /dev/vg_ops/ropsctl2.ctl |
1 |
opsctl3.ctl |
32 |
/dev/vg_ops/ropsctl3.ctl |
1 |
system.dbf |
80 |
/dev/vg_ops/rsystem.dbf |
25 |
ops1log1.log |
10 |
/dev/vg_ops/rops1log1.log |
1 |
ops1log2.log |
10 |
/dev/vg_ops/rops1log2.log |
1 |
ops1log3.log |
10 |
/dev/vg_ops/rops1log3.log |
1 |
rollback1.dbf |
15 |
/dev/vg_ops/rrollback1.dbf |
4 |
rollback2.dbf |
15 |
/dev/vg_ops/rrollback2.dbf |
4 |
temp1.dbf |
4 |
/dev/vg_ops/rtemp1.dbf |
1 |
temp2.dbf |
4 |
/dev/vg_ops/rtemp2.dbf |
1 |
users.dbf |
4 |
/dev/vg_ops/rusers.dbf |
1 |
tools.dbf |
25 |
/dev/vg_ops/rtools.dbf |
15 |
ops2log1.log |
10 |
/dev/vg_ops/rops2log1.log |
1 |
ops2log2.log |
10 |
/dev/vg_ops/rops2log2.log |
1 |
ops2log3.log |
4 |
/dev/vg_ops/rops2log3.log |
1 |
ops3log1.log |
4 |
/dev/vg_ops/rops2log1.log |
1 |
ops3log2.log |
4 |
/dev/vg_ops/rops2log2.log |
1 |
ops3log3.log |
4 |
/dev/vg_ops/rops2log3.log |
1 |
opsdata1.dbf | /dev/vg_ops/ropsdata1.dbf | ||
opsdata2.dbf | /dev/vg_ops/ropsdata2.dbf | ||
opsdata3.dbf | /dev/vg_ops/ropsdata3.dbf |
* Oracle이 파일의 실제 데이터 용량 외에 헤더를 할당할 공간을 요구하기 때문에 논리 볼륨의 크기는 Oracle 파일 크기보다 큽니다.
데모 데이터베이스를 만들려면 이 파일들을 작성하십시오. 표의 아래쪽에 논리 볼륨 세 개가 추가 데이터 파일로 포함되었는데, 필요에 따라 적절한 크기로 작성할 수 있습니다. 명명 규칙에서 요구하는 경우 Oracle SID 및 데이터베이스 이름을 포함시켜 다른 인스턴스와 다른 데이터베이스에 대한 파일을 구분할 수 있습니다. ORACLE_BASE 디렉토리 구조를 사용한다면 해당 디렉토리에서 ORACLE_BASE 파일에 대한 심볼릭 링크를 만드십시오. 예를 들면 다음과 같습니다.
![]() |
|
![]() |
데이터 파일의 최대 크기에 대한 자세한 내용은 Oracle 8i (Oracle 부품 번호 A76961-01), 4장, "Database Limits"를 참조하십시오.
이 파일들을 작성한 다음 소유자를 oracle로 설정하고 그룹을 파일 모드 660의 dba로 설정하십시오. 논리 볼륨은 이제 주 모드에 있게 되고 원시 논리 볼륨 이름은 Oracle DBA에서 사용할 수 있게 되었습니다.
논리 볼륨 하부 구조 표시
볼륨 그룹을 표시하려면 vgdisplay 명령을 사용합니다.
![]() |
|
![]() |
논리 볼륨 구조 내보내기
OPS 볼륨 그룹을 공유하려면 구성 데이터를 클러스터의 다른 노드에 내보내야 합니다. SAM에서 또는 다음 절에 나오는 HP-UX 명령을 사용하여 이 작업을 할 수 있습니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: HP 고가용성 디스크 어레이를 사용하는 볼륨 그룹은 클러스터 잠금 볼륨 그룹으로 지정할 수 없습니다. 클러스터 잠금과 무관한 디스크가 들어 있는 다른 볼륨 그룹을 사용해야 합니다. |
![]() | |
![]() |
![]() |
![]() |
SAM으로 내보내기
SAM에서 Disks and File Systems를 선택하고 Volume Groups를 선택합니다. Actions 메뉴를 열고 Distribute를 선택합니다. 대화 상자에 나오는 지시대로 하나 이상의 추가 노드에 배포될 볼륨 그룹을 선택합니다. 볼륨 그룹이 위치할 각 노드의 이름을 입력한 다음 Add를 선택합니다. 목록이 완성되면 OK를 누릅니다. 그러면 SAM은 다른 노드에서 사용할 수 있도록 볼륨 그룹을 자동으로 구성합니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 볼륨 그룹을 배포할 때 SAM은 다른 노드에 PV 링크를 가져오지 못합니다. 따라서, 배포를 마치려면 모든 노드에서 vgextend 명령을 사용하여 배포한 볼륨 그룹에 대체 PV 링크를 추가합니다. vgdisplay 명령을 사용하여 모든 노드에 올바른 PV 링크 그룹이 있는지 확인하십시오. |
![]() | |
![]() |
![]() |
![]() |
LVM 명령으로 내보내기
다음 명령을 사용하여 다른 클러스터 노드에 동일한 볼륨 그룹을 설정할 수 있습니다. 이 예에서, 명령은 ftsys10 시스템에 새 볼륨 그룹을 설정합니다. 이 볼륨 그룹은 ftsys9 구성 노드에 만든 것과 같은 실제 볼륨을 담고 있습니다.
ftsys10(및 다른 노드)에 볼륨 그룹을 설정하려면 다음 단계를 따르십시오.
-
ftsys9에서 지정된 파일에 볼륨 그룹의 매핑을 복사합니다.
# vgexport -s -p -m /tmp/vg_ops.map /dev/vg_ops
-
계속 ftsys9에서, ftsys10(및 추가 노드)에 매핑 파일을 복사합니다.
# rcp /tmp/vg_ops.map ftsys10:/tmp/vg_ops.map
-
ftsys10(및 필요한 경우 다른 노드)에서, 볼륨 그룹 디렉토리와 group 제어 파일을 작성합니다.
# mkdir /dev/vg_ops
# mknod /dev/vg_ops/group c 64 0xhh0000group 파일의 경우 주 번호는 항상 64이고 16진수의 보조 번호는 다음 형태를 갖습니다.
0xhh0000
여기서 hh는 작성 중인 볼륨 그룹에서 고유해야 합니다. 가능하면 ftsys9와 동일한 숫자를 사용하십시오. 다음 명령을 사용하여 기존의 볼륨 그룹 목록을 표시합니다.
# ls -l /dev/*/group
-
맵 파일을 사용하여 노드 ftsys9에서 볼륨 그룹 데이터를 가져옵니다. 노드 ftsys10(및 필요한 경우 다른 노드)에 대해 다음을 입력합니다.
# vgimport -s -m /tmp/vg_ops.map /dev/vg_ops \
/dev/dsk/c3t12d0 /dev/dsk/c4t3d0주의: A3231A(모델 10) 및 A3232A(모델 20) 디스크 어레이과 함께 PV 링크를 사용하는 볼륨 그룹을 가져올 때는 특히 주의해야 합니다. 이런 배열에서는 각 디스크 장치 파일 이름이 별도의 컨트롤러를 통한 디스크로의 링크를 나타내고 모든 주 링크는 같은 컨트롤러를 사용해야 합니다. 장치 파일 이름이 다른 노드에서 다를 경우에도 구성 노드에 볼륨 그룹을 만들 때 지정한 모든 노드에서 같은 컨트롤러 순서대로 vgimport 명령에 PV 링크를 지정하는 것이 중요합니다. PV 링크에서 이렇게 하지 못하면 성능이 저하됩니다.
LVM으로 비 OPS 저장 하부 구조 만들기 |
![]() |
OPS 데이터 디스크가 아닌 다른 디스크를 사용하는 패키지를 만들려면, 그 패키지가 특정한 노드에서 시작될 때마다 활성화될 수 있는 별도의 볼륨 그룹을 구성해야 합니다. 패키지는 공유 모드보다는 OPS 볼륨 그룹에 사용되는 배타적 모드에서 볼륨 그룹을 활성화합니다. 패키지 볼륨 그룹에서의 또 다른 차이는 패키지가 시작될 때 마운트되는 파일 시스템을 정의할 수 있다는 것입니다. 반대로, OPS 데이터는 마운트된 파일 시스템을 사용하지 않는 원시 논리 볼륨에 저장됩니다.
디스크 어레이 비 OPS 볼륨 그룹 만들기
같은 LVM 명령을 사용하여 OPS에서 사용할 볼륨 그룹을 만들 때와 마찬가지로 패키지의 볼륨 그룹을 만듭니다. 다음 예는 패키지에서 사용할 디스크 어레이에 LUN을 나타내는 PV 링크 /dev/dsk/c5t2d0과 /dev/dsk/c6t2d0을 사용하는 볼륨 그룹을 만듭니다. 이 예는 /mnt1:에 마운트될 파일 시스템을 작성하는 명령을 포함하여 모든 명령을 보여줍니다.
-
구성 노드에서 디스크로부터 실제 볼륨을 만듭니다.
# pvcreate -f /dev/rdsk/c5t2d0
PV 링크에는 pvcreate 명령만 사용해야 합니다.
-
다음 명령을 사용하여 vg_pkg1 볼륨 그룹을 만듭니다.
# mkdir /dev/vg_pkg1
# mknod /dev/vg_pkg1/group c 64 0xhh0000미러 번호 hh를 시스템에서 사용할 수 있는 다음 16진수의 보조 그룹 번호와 바꿉니다.
-
디스크에 대해 2개의 PV 링크가 있는 볼륨 그룹을 만듭니다.
# vgcreate /dev/vg_pkg1 /dev/dsk/c5t2d0 /dev/dsk/c6t2d0
-
추가 볼륨 그룹에 대해 이 과정을 반복합니다.
-
12MB의 lvol1 논리 볼륨을 만듭니다.
# lvcreate -L 12 /dev/vg_pkg1
-
볼륨 그룹을 표시하려면 vgdisplay 명령을 사용합니다.
# vgdisplay -v /dev/vg_pkg1
-
논리 볼륨에 파일 시스템을 만들고 /mnt1에 마운트합니다.
# mkdir /mnt1
# newfs -F vxfs /dev/vg_pkg1/rlvol1
# mount /dev/vg_pkg1/lvol1 /mnt1 -
만들려는 다른 볼륨 그룹 대해 이 프로세스를 반복합니다.
-
다른 노드에서 사용할 수 있도록 볼륨 그룹을 설치하기 전에 먼저 볼륨 그룹에 있는 파일 시스템을 언마운트한 다음 비활성화해야 합니다. 실행 시간 중에 패키지 제어 스크립트를 통해 볼륨 그룹이 활성화되고 파일 시스템이 마운트됩니다.
# umount /mnt1
# vgchange -a n /dev/vg_pkg1
미러링된 개별 데이터 디스크로 비 OPS 볼륨 그룹 만들기
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 이 절에서 설명하는 절차는 OPS 인스턴스와 OPS 데이터를 이용하는 것이 아니라 응용 프로그램 패키지만 이용하려는 것입니다. |
![]() | |
![]() |
![]() |
![]() |
SAM을 사용하여 볼륨 그룹 및 논리 볼륨 만들기
SAM을 사용하여 HA 패키지에 필요한 볼륨 그룹 및 논리 볼륨 구조를 준비할 수 있습니다. SAM에서 Disks and File Systems Area를 선택합니다. 그런 다음 패키지와 함께 사용할 볼륨 그룹과 파일 시스템 각각에 대해 다음 절차를 따르십시오.
-
Volume Groups 하위 영역을 선택합니다.
-
Actions 메뉴에서 Create 또는 Extend를 선택합니다.
-
사용 가능한 디스크 목록의 볼륨 그룹에서 사용할 첫 번째 실제 디스크를 선택합니다.
-
볼륨 그룹 이름을 입력합니다. 예를 들면 다음과 같습니다. vgdatabase
-
Create 또는 Extend Volume Group을 선택합니다.
-
Add New Logical Volumes를 선택합니다.
-
볼륨 그룹에 마운트될 파일 시스템(예: /mnt1)을 지정합니다.
-
추가 볼륨 그룹, 논리 볼륨 및 파일 시스템에 대해 이 과정을 반복하십시오.
““다른 노드에 비 OPS 볼륨 그룹 배포”” 절로 건너뛰십시오.
LVM을 사용하여 볼륨 그룹 및 논리 볼륨 만들기
LVM 명령을 사용하여 미러링된 디스크에 패키지의 볼륨 그룹을 만들 수 있습니다. 이 절의 절차를 따르십시오.
-
볼륨 그룹을 위한 디스크 선택
두 노드의 디스크 목록을 얻어 두 노드의 동일한 디스크에 사용되는 장치 파일을 찾습니다. 각 노드에 대해 다음 명령을 사용하여 각 시스템에서 식별된 사용 가능한 디스크 목록을 표시하십시오.
# lssf /dev/dsk/*
다음 예제에서 사용되는 /dev/rdsk/c1t2d0과 /dev/rdsk/c0t2d0은 ftsys9 및 ftsys10 모두에서 동일한 디스크의 장치 이름으로 사용됩니다. 장치 파일 이름이 다른 노드에서 다르게 사용될 경우 해당 이름을 잘 기록하십시오.
-
실제 볼륨 만들기
구성 노드(ftsys9)에서 pvcreate 명령을 사용하여 디스크를 실제 볼륨으로 정의할 수 있습니다. 이 작업은 구성 노드에서만 수행하면 됩니다. 다음 명령을 사용하여 예제 구성을 위한 두 개의 실제 볼륨을 만듭니다.
# pvcreate -f /dev/rdsk/c1t2d0
# pvcreate -f /dev/rdsk/c0t2d0 -
볼륨 그룹 만들기
구성 노드(ftsys9)에 볼륨 그룹을 만들려면 다음과 같이 하십시오. 나중에, 다른 노드에 같은 볼륨 그룹이 만들어집니다.
-
먼저, vgdatabase에 대한 그룹 디렉토리를 설정합니다.
# mkdir /dev/vgdatabase
-
그런 다음 아래와 같이 디렉토리 /dev/vgdatabase에 group이라는 이름의 제어 파일을 만듭니다.
# mknod /dev/vgdatabase/group c 64 0xhh0000
중심 숫자는 항상 64이고 16진 하위 숫자는 다음 형식을 갖습니다.
0xhh0000
여기에서 hh 는 작성 중인 볼륨 그룹에서 고유해야 합니다. 이미 구성된 볼륨 그룹 다음에는 시스템에서 사용 가능한 그 다음 16진수를 사용합니다. 다음 명령을 사용하여 기존의 볼륨 그룹 목록을 표시합니다.
# ls -l /dev/*/group
-
다음 명령을 사용하여 볼륨 그룹을 만든 다음 실제 볼륨을 추가합니다.
# vgcreate /dev/vgdatabase /dev/dsk/c1t2d0
# vgextend /dev/vgdatabase /dev/dsk/c0t2d0첫째 명령은 볼륨 그룹을 만들고 만든 볼륨 그룹에 실제 볼륨을 추가합니다. 둘째 명령은 둘째 실제 볼륨을 해당 볼륨 그룹에 추가합니다.
-
추가 볼륨 그룹에 대해 이 과정을 반복합니다.
-
논리 볼륨 만들기
다음 명령을 사용하여 논리 볼륨을 만듭니다.(이 예는 볼륨 그룹 /dev/vgdatabase에 대한 예입니다.)
![]() |
|
![]() |
이 명령은 lvol1이라는 이름의 미러링된 120MB의 볼륨을 만듭니다. 명령에서 이름을 지정하지 않았기 때문에 기본적으로 이 이름이 사용됩니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 디스크 어레이를 RAID 1 또는 RAID 5 모드에서 사용할 경우 -m 1 옵션을 생략하십시오. |
![]() | |
![]() |
![]() |
![]() |
파일 시스템 만들기
설치 프로그램이 파일 시스템을 사용하면 나중에 파일 시스템을 만드십시오. 다음 명령을 사용하여 위에서 만든 논리 볼륨에 마운트할 파일 시스템을 만드십시오.
-
새로 만든 논리 볼륨에 파일 시스템을 만듭니다.
# newfs -F vxfs /dev/vgdatabase/rlvol1
논리 볼륨에 대한 원시 장치 파일의 사용에 주목합니다.
-
디스크를 마운트할 디렉토리를 만듭니다.
# mkdir /mnt1
-
디스크를 마운트하여 작업이 제대로 수행되었는지 확인합니다.
# mount /dev/vgdatabase/lvol1 /mnt1
mount 명령이 논리 볼륨에 대해 블록 장치 파일을 사용한다는 것에 주목합니다.
-
구성을 확인합니다.
# vgdisplay -v /dev/vgdatabase
다른 노드에 비 OPS 볼륨 그룹 배포
클러스터 데이터에 대한 볼륨 그룹을 만들었으면 볼륨 그룹을 활성화하는 데 필요한 클러스터 노드에서 사용할 수 있게 해야 합니다.
SAM으로 다른 클러스터 노드에 비 OPS 볼륨 그룹 배포
SAM에서 디스크 및 파일 시스템 영역을 선택한 다음 볼륨 그룹을 선택합니다. 하나 이상의 추가 노드에 배포할 볼륨 그룹을 선택합니다. 볼륨 그룹이 위치할 각 노드의 이름을 입력한 다음 Add를 선택합니다. 목록이 완성되면 확인을 선택합니다. 그러면 SAM은 다른 노드에서 사용할 수 있도록 볼륨 그룹을 자동으로 구성합니다.
볼륨 그룹을 배포한 다음 각 노드의 /etc/lvmpvg 파일을 확인하여 실제 볼륨 그룹이 해당 노드의 올바른 실제 볼륨 이름을 포함하는지 살펴보십시오.
LVM 명령으로 다른 클러스터 노드에 비 OPS 볼륨 그룹 배포
다음 명령을 사용하여 다른 클러스터 노드에 동일한 볼륨 그룹을 설정할 수 있습니다. 이 예에서, 명령은 ftsys10에 ftsys9에서 사용할 수 있던 것과 같은 실제 볼륨을 보유하는 새 볼륨 그룹을 설정합니다. 볼륨 그룹의 패키지가 실행될 수 있는 각 노드에 대해 개별적으로 동일한 과정을 수행해야 합니다.
ftsys10에 볼륨 그룹을 설정하려면 다음과 같이 하십시오.
-
ftsys9에서 지정된 파일에 볼륨 그룹의 매핑을 복사합니다.
# vgexport -p -s -m /tmp/vgdatabase.map /dev/vgdatabase
-
ftsys9에서 ftsys10으로 맵 파일을 복사합니다.
# rcp /tmp/vgdatabase.map ftsys10:/tmp/vgdatabase.map
-
ftsys10에서 볼륨 그룹 디렉토리를 만듭니다.
# mkdir /dev/vgdatabase
-
ftsys10에서 /dev/vgdatabase 디렉토리에 다음과 같이 제어 파일 group을 작성합니다.
# mknod /dev/vgdatabase/group c 64 0xhh0000
중심 숫자는 항상 64이고 16진 하위 숫자는 다음 형식을 갖습니다.
0xhh0000
여기에서 hh는 작성 중인 볼륨 그룹에서 고유해야 합니다. 가능하면 ftsys9와 동일한 숫자를 사용하십시오. 다음 명령을 사용하여 기존의 볼륨 그룹 목록을 표시합니다.
# ls -l /dev/*/group
-
맵 파일을 사용하여 노드 ftsys9에서 볼륨 그룹 데이터를 가져옵니다. 노드 fsys10에서 다음을 입력합니다.
# vgimport -s -m /tmp/vgdatabase.map /dev/vgdatabase
ftsys10의 디스크 장치 이름이 ftsys9의 장치 이름과 다를 수도 있습니다. 실제 볼륨 이름이 클러스터 전체에서 올바른지 확인해야 합니다.
-
ftsys10에서 해당 볼륨 그룹을 사용 가능하게 합니다.
# vgchange -a y /dev/vgdatabase
-
디스크를 마운트할 디렉토리를 만듭니다.
# mkdir /mnt1
-
ftsys10에서 볼륨 그룹을 마운트하고 확인합니다.
# mount /dev/vgdatabase/lvol1 /mnt1
-
ftsys10에서 볼륨 그룹을 언마운트 합니다.
# umount /mnt1
-
ftsys10에서 볼륨 그룹을 비활성화합니다.
# vgchange -a n /dev/vgdatabase
추가 볼륨 그룹 만들기
앞의 절에서는 주로 ServiceGuard에서 사용할 볼륨 그룹과 논리 볼륨을 만드는 방법을 보여주고 있습니다. 작성해야 하는 수만큼의 볼륨 그룹에 해당 과정을 반복합니다. 이 때, 볼륨 그룹 이름, 논리 볼륨 이름, 실제 볼륨 이름은 해당 이름으로 대체하십시오.
VxVM으로 비 OPS 저장 하부 구조 만들기 |
![]() |
클러스터를 구성하기 전에 적절한 논리 볼륨 하부 구조를 만들어 여러 노드의 데이터에 액세스할 수 있게 하십시오. 논리 볼륨 관리자(LVM), VERITAS Cluster Volume Manager(CVM) 또는 VERITAS Volume Manager(VxVM)를 사용할 수 있습니다. 필요에 따라 이들 볼륨을 함께 사용할 수 있습니다. LVM 및 VxVM 구성은 클러스터 구성 전에, CVM 구성은 클러스터 구성 후에 수행합니다.
이 절에서는 VERITAS 볼륨 관리자(VxVM)를 사용하여 비 OPS 저장을 구성하는 방법에 대해 설명합니다. 시작하기 전에 VxVM 저장된 디렉토리(/usr/lib/vxvm/bin)가 경로에 있는지 확인하십시오. 루트 디스크 그룹을 만들면(다음 절에서 설명) VxVM 명령이나 Storage Administrator GUI인 vmsa를 사용하여 구성 작업을 수행할 수 있습니다. vmsa를 사용 중이면 GUI를 실행하기 전에 Storage Administrator 서버가 실행 중인지 확인하십시오. 자세한 내용은 VERITAS Volume Manager for HP-UX Release Notes에 설명되어 있습니다. 자세한 내용은 VERITAS Volume Manager Storage Administrator Administrator’s Guide를 참조하십시오. 명령을 사용할 경우에는 VxVM 온라인 도움말을 참조하십시오.
VERITAS 볼륨 관리자 초기화
처음으로 디스크 그룹을 만들 경우에는 볼륨 관리자를 초기화해야 합니다. 이 작업은 적어도 하나의 디스크가 들어 있는 rootdg 디스크 그룹을 만들어 수행합니다. 각 노드에 VxVM을 설치한 후에 즉시 다음 명령을 한 번만 수행합니다.
# vxinstall
이 명령은 VxVM/CVM 초기화 순서를 안내하는 메뉴 구동 프로그램을 표시합니다. 기본 메뉴에서 “Custom” 옵션을 선택하고 rootdg에 포함시킬 디스크를 지정합니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
중요: VERITAS 볼륨 관리자의 rootdg는 HP-UX 루트 디스크와 같지 않으므로 HP-UX 루트 파일 시스템(/)에 사용할 수 없습니다. 또한, 공유 저장에 rootdg를 사용할 수 없습니다. 그러나, rootdg는 다른 로컬 파일 시스템(예: /export/home)에 사용할 수 있으므로 삭제할 필요가 없습니다.
각 노드에 한 번씩만 루트 디스크 그룹을 만들어야 합니다. |
![]() | |
![]() |
![]() |
![]() |
LVM에서 VxVM으로 디스크 변환
vxvmconvert(1m) 유틸리티를 사용하여 LVM 볼륨 그룹을 VxVM 디스크 그룹으로 변환할 수 있습니다. 디스크 그룹으로 변환하기 전에 볼륨 그룹을 비활성화해야 합니다. 즉, 볼륨 그룹을 사용하는 모든 패키지를 중지해야 합니다. VERITAS Volume Manager Migration Guide에 나타난 변환 절차대로 수행하십시오. 시작하기 전에 vgcfgbackup 명령을 사용하여 각 볼륨 그룹의 구성 백업을 작성하고 볼륨 그룹의 데이터도 백업해두십시오. 변환에 대한 자세한 내용은 부록 E, "LVM에서 VxVM 데이터 저장으로 변환"을 참조하십시오.
VxVM 디스크 초기화
VxVM 디스크 그룹에서 사용할 실제 디스크를 초기화해야 합니다. LVM에서 이전에 실제 디스크를 사용했다면 pvremove 명령을 사용하여 볼륨 그룹에 있는 모든 디스크에서 LVM 헤더 데이터를 삭제해야 합니다. 이러한 명령은 디스크와 이 디스크의 데이터를 LVM에서 사용할 수 없도록 하고 VxVM에서 초기화할 수 있도록 합니다. 이 명령은 이전에 LVM에서 디스크를 사용했지만 현재는 데이터를 여기에 저장하지 않을 때만 사용해야 합니다.? 데이터를 저장하려면 이전 절에 설명된 변환 프로세스를 사용하십시오.
VxVM의 디스크를 초기화하려면 클러스터의 노드에 로그온한 다음 vxdiskadm 프로그램을 사용하여 여러 디스크를 초기화하거나 아래 예제에서처럼 vxdisksetup 명령을 사용하여 한 번에 하나의 디스크를 초기화하십시오.
# /usr/lib/vxvm/bin/vxdisksetup -i /dev/dsk/c0t3d2
디스크 그룹 만들기
다음 단계대로 디스크 그룹을 만들어야 합니다.
-
아래 예에서처럼 vxdg 명령을 사용하여 디스크 그룹을 만듭니다.
# vxdg init logdata c0t3d2
-
다음 명령을 사용하여 구성을 확인하십시오.
# vxdg list
NAME STATE ID
rootdg enabled 971995699.1025.node1
logdata enabled 972078742.1084.node1
볼륨 만들기
다음 예제에서처럼 vxassist 명령을 사용하여 실제 볼륨을 만드십시오.
# vxassist -g logdata make log_files 1024m
이 명령은 디스크 그룹 logdata에 1024MB의 log_files 볼륨을 만듭니다. 이 볼륨은 블록 장치 파일 /dev/vx/dsk/logdata/log_files 또는 원시(문자) 장치 파일 /dev/vx/rdsk/logdata/log_files로 참조됩니다. 다음 명령을 사용하여 구성을 확인하십시오.
# vxprint -g logdata
이 명령의 출력 결과는 아래 예제에 표시되어 있습니다.
![]() |
|
![]() |
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 미러링된 저장 및 VxVM을 사용한 다중 경로 저장을 만드는 특수 명령에 대해서는 VERITAS 볼륨 관리자에 대한 HP-UX 설명서를 참조하십시오. |
![]() | |
![]() |
![]() |
![]() |
파일 시스템 만들기
설치 프로그램이 파일 시스템을 사용하면 나중에 파일 시스템을 만드십시오. 다음 명령을 사용하여 위에서 만든 논리 볼륨에 마운트할 파일 시스템을 만드십시오.
-
새로 만든 논리 볼륨에 파일 시스템을 만듭니다.
# newfs -F vxfs /dev/vx/rdsk/logdata/log_files
-
볼륨을 마운트할 디렉토리를 만듭니다.
# mkdir /logs
-
볼륨을 마운트합니다.
# mount /dev/vx/dsk/logdata/log_files /logs
-
파일 시스템이 나타났는지 확인한 다음 파일 시스템은 언마운트하십시오.
# umount /logs
디스크 그룹 내보내기
ServiceGuard 패키지에서 사용할 디스크 그룹을 만든 다음 각 디스크 그룹에 다음 명령을 사용하여 패키지 제어 스크립트에서 여러 클러스터 노드에 디스크 그룹을 가져올 수 있도록 합니다.
# vxdg deport <DiskGroupName>
여기서, <DiskGroupName>은 제어 스크립트에서 활성화할 디스크 그룹 이름입니다.
디스크 그룹이 모두 내보내지면 모든 클러스터 노드에서 다음 명령을 실행하여 디스크 그룹에 액세스할 수 있도록 해야 합니다.
# vxdctl enable
디스크 그룹 다시 가져오기
디스크 그룹을 내보낸 경우에는 패키지 제어 스크립트나 vxdg import 명령을 사용하여 이 디스크 그룹을 다시 가져와야 노드에서 사용할 수 있습니다. 유지 보수 또는 기타 목적을 위해 디스크 그룹을 수동으로 가져와야 할 경우에는 디스크 그룹을 가져오고, 해당 논리 볼륨을 모두 시작하고 아래 예제에서처럼 파일 시스템을 마운트하십시오.
# vxdg import dg_01
# vxvol -g dg_01 startall
# mount /dev/vx/dsk/dg_01/myvol /mountpoint
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: VxVM 디스크 그룹은 LVM 볼륨 그룹과 달리 클러스터 ASCII 구성 파일에 입력되지 않으며 패키지 ASCII 구성 파일에 입력되지 않습니다. |
![]() | |
![]() |
![]() |
![]() |
시스템 재부팅 시 지우고 가져오기
시스템 재부팅 시 클러스터 RC 스크립트는 noautoimport 플래그가 설정되어 있고, 다른 실행 노드에서 이들 디스크를 현재 가져오지 않았다고 가정하고 이전에 시스템에서 가져온 모든 디스크에 vxdisk clearimport를 수행합니다. clearimport 는 디스크 그룹에 있는 호스트 ID를 지워 패키지가 노드 간에 이동될 때 디스크 그룹에 연결된 모든 노드에서 이 호스트 ID를 가져오도록 합니다.
재부팅 시 지우고 가져오기를 사용하면 ServiceGuard에서 노드 장애(예: 전원 장애 시 시스템 충돌)를 정리할 수 있습니다. 장애 시 가져온 디스크에 노드 ID가 그대로 기록되어 있으면 노드를 재부팅하기 전에 또는 다른 노드에서 패키지 제어 스크립트로 이들 디스크를 가져오기 전에 이 ID를 지워야 합니다.
ServiceGuard가 클러스터에 구성되어 있는지 여부에 관계 없이 ServiceGuard를 설치한 모든 시스템에 noautoimport 플래그를 설정하여 이전에 가져온 디스크에 대해 clearimport가 수행됩니다.
클러스터 구성 |
![]() |
이 절에서는 기본 클러스터 구성을 정의하는 방법을 설명합니다. SAM에서 이 작업을 수행하려면 다음 절을 읽으십시오. ServiceGuard 명령을 사용하려면 ““ServiceGuard 명령을 사용하여 클러스터 구성”” 절로 건너뛰십시오.
SAM을 사용한 클러스터 구성
고가용성 클러스터를 구성하려면 구성 노드(ftsys9)에서 다음과 같이 하십시오.
-
SAM에서 Clusters->High Availability Clusters를 선택합니다.
-
Cluster Configuration 옵션을 선택합니다. SAM은 클러스터 구성 화면을 표시합니다. 클러스터가 아직 구성되지 않았으며 목록이 비어 있습니다. 하나 이상의 HA(고가용성) 클러스터가 로컬 네트워크에 이미 구성되어 있을 경우 목록에 해당 클러스터가 나타납니다.
-
Actions 메뉴를 선택한 다음 Create Cluster Configuration을 선택합니다. 그러면 단계 메뉴가 표시됩니다.
-
필요한 각 단계를 순서대로 선택한 다음 대화 상자에서 필요한 정보를 완성하거나 기본값을 그대로 사용합니다. 각 단계에 대한 자세한 내용을 보려면 Help를 선택하십시오.
-
모든 단계를 마쳤으면 Step 메뉴 화면을 선택합니다. 이렇게 하면 클러스터 구성 파일이 작성되고 해당 파일이 클러스터의 모든 노드에 복사됩니다. 파일 복사가 완료되면 Cluster Configuration 화면으로 되돌아갑니다.
-
Cluster Configuration 화면에서 나와서 High Availability Clusters 메뉴로 되돌아갑니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: SAM은 이진 클러스터 구성 파일을 작성 및 배포할 뿐 아니라 /etc/cmcluster/cmcl.config라는 이름의 ASCII 클러스터 구성 파일을 작성합니다. 이 파일은 SAM에 입력된 선택 가능한 레코드 형태로 제공됩니다. |
![]() | |
![]() |
![]() |
![]() |
““Oracle Parallel Server 설치 ”” 절로 건너뛰십시오.
ServiceGuard 명령을 사용하여 클러스터 구성
cmquerycl 명령을 사용하여 클러스터에 포함되거나 클러스터 구성 템플리트를 생성할 노드 세트를 지정하십시오. 다음은 ftsys9 노드에서 호출되는 명령의 한 예입니다.
![]() |
|
![]() |
이 예제에서는 기본 클러스터 구성 디렉토리 /etc/cmcluster에 ASCII 템플리트 파일을 만듭니다. 이 ASCII 파일에는 부분적으로 두 개의 노드 ftsys9 및 ftsys10에 있는 클러스터 구성 요소의 이름과 특성을 수록합니다. 필요할 경우 수록된 클러스터 특성을 편집하여 원하는 클러스터를 정의하십시오. 다음 예제처럼 가능한 모든 네트워크에서 하트비트를 전송하도록 파일을 편집하는 것이 좋습니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 클러스터에 노드, 네트워크 또는 디스크가 많이 연결된 크거나 복잡한 구성에서는 cmquerycl 명령이 완료되려면 몇 분이 소요될 수 있습니다. 보다 신속히 구성하려면 -k and -w 옵션을 사용하여 명령이 선택된 정보만 반환하도록 할 수 있습니다.
-k는 일부 디스크 진단 과정을 생략하여 잠재적인 클러스터 잠금 볼륨 그룹과 잠금 실제 볼륨에 대한 정보를 반환하지 않습니다. -w local을 사용하면 로컬 네트워크 진단을 지정할 수 있으며, 이 경우 LAN 연결은 각 노드 내의 인터페이스 사이에서만 검사됩니다. -w full을 사용하면 전체 네트워크 진단을 지정할 수 있으며, 이 경우 실제 연결은 클러스터의 모든 노드에 있는 모든 LAN 인터페이스 사이에서 검사됩니다. 자세한 내용은 cmquerycl(1m)의 온라인 도움말을 참조하십시오. |
![]() | |
![]() |
![]() |
![]() |
클러스터 구성 템플리트 파일
다음은 -w full 옵션과 함께 cmquerycl 명령을 사용하여 생성한 ASCII 구성 파일의 예제입니다.
![]() |
|
![]() |
cmquerycl 명령에 대한 온라인 도움말에서 이 파일에 표시된 모든 매개 변수의 정의를 볼 수 있습니다. “4장 “OPS 클러스터 계획 및 문서화”” 장에서도 다양한 매개 변수에 대해 설명합니다. 클러스터 구성 워크시트의 데이터를 사용하여 필요에 따라 /etc/cmcluster/cmcl.config 파일을 수정하십시오.
이 파일에서 키워드와 정의는 공백으로 구분됩니다. 주석을 사용할 수 있으며, 주석을 사용할 경우 왼쪽 줄 맨 앞에 파운드 기호(#)를 사용해야 합니다. 자세한 내용은 cmquerycl 명령에 대한 온라인 도움말을 참조하십시오.
패키지용 비OPS 볼륨 그룹 확인
파일은 클러스터 인식 볼륨 그룹, 즉 시간대별로 클러스터의 다른 노드에서 실행되는 패키지에서 액세스할 수 있는 모든 패키지 볼륨 그룹의 항목을 포함하고 있습니다. 클러스터에서 실행 중인 패키지에서 활성화할 각 볼륨 그룹에 대해 별도의 VOLUME_GROUP 줄이 나타나야 합니다. 볼륨 그룹을 표시되지 않게 하려면 ASCII 파일에서 볼륨 그룹 이름을 제거하십시오.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 볼륨 그룹이 클러스터 인식이 아니면 패키지 제어 스크립트에 의해 활성화될 수 없습니다. |
![]() | |
![]() |
![]() |
![]() |
OPS에서 사용할 LVM 볼륨 그룹 확인
템플리트 파일에는 클러스터의 다른 여러 노드에서 동시에 액세스하는 Oracle Parallel Server가 사용하는 모든 LVM 볼륨 그룹의 항목이 포함됩니다. 이 볼륨 그룹은 각 OPS 인스턴스를 활성화하는 제어 스크립트의 vgchange -a s 명령에 의해 활성화됩니다. 공유 모드에서 활성화될 각 LVM 볼륨 그룹에 대해 별도의 OPS_VOLUME_GROUP 행이 나타납니다. Oracle Parallel Server가 사용할 볼륨 그룹에는 OPS_VOLUME_GROUP 레이블이 붙습니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: OPS에서 사용하는 LVM 볼륨 그룹만 OPS_VOLUME_GROUP 매개 변수와 함께 나열되도록 하는 것이 중요합니다. 이 볼륨 그룹이 공유 모드에서 활성화된다고 표시되기 때문입니다. 다른 패키지에서 사용한 LVM 볼륨 그룹은 위에서 설명한 VOLUME_GROUP 매개 변수와 함께 나열되며 CVM 디스크 그룹은 패키지 구성 ASCII 파일의 STORAGE_GROUP 항목에서 확인해야 합니다. 이를 올바르게 나타내기 위해서는 기본 지정을 변경해야 합니다. |
![]() | |
![]() |
![]() |
![]() |
미리 구성된 볼륨 그룹 재배치
새로운 클러스터를 구성할 때, 이전 클러스터 구성에서 사용된 볼륨 그룹을 사용할 경우 현재 클러스터 인식(클러스터 ID로 표시됨) 볼륨 그룹이 아닌지 확인해야 합니다. 필요한 경우 다음 명령을 사용하여 클러스터 ID를 제거할 수 있습니다.
![]() |
|
![]() |
하트비트 서브넷 확인
클러스터 ASCII 파일에는 하트비트 서브넷 확인에 IP 주소에 대한 항목이 들어 있습니다. 전용 하트비트 서브넷을 사용하는 것이 좋지만 데이터 서브넷을 비롯하여 다른 서브넷에 하트비트를 구성할 수 있습니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: VERITAS CVM 디스크 그룹을 사용할 경우 단일 하트비트 서브넷만 구성할 수 있습니다. 이 서브넷은 전용 서브넷이 됩니다. 사용 가능한 하트비트 경로가 있는지 확인할 수 있도록 이 서브넷의 각 시스템에는 대기 LAN이 구성되어 있어야 합니다. |
![]() | |
![]() |
![]() |
![]() |
잠금 디스크 지정
다음 예제 중 하나에서처럼 클러스터 잠금은 두 개의 노드 클러스터에서 요구됩니다. 이 잠금은 모든 노드에서 액세스할 수 있어야 하고 노드에서 독립 전원을 사용해야 합니다. 클러스터 ASCII 파일에 잠금 디스크 정보 다음에 클러스터 이름을 입력하십시오. 잠금 디스크는 클러스터에 있는 모든 노드에 액세스할 수 있는 LVM 볼륨 그룹에 있어야 합니다.
cmquerycl로 작성된 ASCII 템플리트에 제공하는 기본적인 FIRST_CLUSTER_LOCK_VG와 FIRST_CLUSTER_LOCK_PV는 최소로 계산된 장애 조치 시간에 기초하여 선택된 디스크의 볼륨 그룹과 실제 볼륨의 이름입니다. 이 디스크가 전원 배선 요구 사항을 충족하는지 확인해야 합니다. 필요할 경우 클러스터에 있는 노드의 절반 이하에 전원을 공급하는 회로에서 전원을 공급 받는 디스크를 선택하십시오.
디스크의 장애 조치 시간을 나타내려면 cmquerycl 명령을 사용하여 클러스터의 모든 노드들을 지정합니다.
![]() |
|
![]() |
명령의 출력 결과에서는 각 노드와 관련된 재편성 시간과 각 노드에 연결된 디스크들을 나열합니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 구성에서 두 번째 잠금 볼륨 그룹이나 실제 볼륨을 특별히 요구하지 않는 한, 이를 구성하지 마십시오. 3장의 "클러스터 잠금" 절에 있는 "이중 클러스터 잠금" 부분을 참조하십시오. |
![]() | |
![]() |
![]() |
![]() |
또한, 보조 클러스터 잠금을 구성해야 하는 경우 다음 매개 변수를 클러스터 구성 파일에 입력하십시오.
![]() |
|
![]() |
여기에서 /dev/volume-group은 둘째 볼륨 그룹의 이름이고 block-special-file은 선택된 볼륨 그룹에 있는 잠금 디스크의 실제 볼륨 이름입니다. 이 행은 각 노드에 추가해야 합니다.
quorum 서버 지정
잠금 디스크 대신 quorum 서버를 지정하려면 cmquerycl 명령의 -q 옵션을 사용하여 Quorum 서버의 호스트 서버를 지정합니다. 예를 들면 다음과 같습니다.
# cmquerycl -n node1 -n node2 -q lp-qs
이 경우 생성된 클러스터 ASCII 파일에는 quorum 서버를 정의할 매개 변수가 들어 있습니다. 파일의 이 부분이 아래에 나타나 있습니다.
![]() |
|
![]() |
QS_HOST, QS_POLLING_INTERVAL 및 QS_TIMEOUT_EXTENSION을 입력합니다.
구성된 패키지의 최대 수 지정
ServiceGuard OPS Edition은 클러스터 시작 시 메모리와 스레드를 미리 할당합니다. 또한 클러스터 구성 파일의 MAX_CONFIGURED_PACKAGES 매개 변수에 지정된 패키지 수를 기반으로 이 값을 계산합니다. 이 값은 현재 클러스터에 구성된 패키지의 수와 같거나 커야 합니다. 기본값은 0으로, 이 경우 패키지를 사용하려면 값을 입력해야 합니다. 클러스터 당 최대 패키지 수는 60개입니다. ServiceGuard는 패키지마다 80KB의 메모리 이외에 약 6MB를 추가로 확보합니다. VERITAS CVM 디스크 저장을 사용할 경우에는 MAX_CONFIGURED_PACKAGES 값을 선택할 때 CVM-VxVM-PKG를 MAX_CONFIGURED_PACKAGES에 포함시켜야 합니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 각 노드의 HP-UX 커널 매개 변수를 조정하여 해당 노드에서 동시에 실행할 최대 패키지 수를 허용할 수 있을 만큼 크게 설정되어 있는지 확인하십시오. |
![]() | |
![]() |
![]() |
![]() |
클러스터 타이밍 매개 변수 수정
cmquerycl 명령은 HEARTBEAT_INTERVAL 및 NODE_TIMEOUT에 대한 기본 클러스터 타이밍 매개 변수를 제공합니다. 이러한 매개 변수를 변경하면 클러스터 재편성 시간과 장애 조치 시간에 직접적인 영향을 미칩니다. 클러스터가 과도한 시스템 로드나 네트워크 통신량 때문에 재편성되는 경우 이 매개 변수를 수정하는 것이 좋습니다.
NODE_TIMEOUT에 대한 기본값 2초는 30초의 최적 장애 조치 시간을 제공합니다. NODE_TIMEOUT을 10초로 변경하면 클러스터 관리자는 노드를 종료하기 위해 5배 더 오래 기다려야 하기 때문에 장애 조치 시간은 5배인 대략 150초가 됩니다. NODE_TIMEOUT 값은 2*HEARTBEAT_INTERVAL 이상이어야 합니다. 하나의 NODE_TIMEOUT 내에 최소 2개나 3개의 하트비트를 포함하는 것도 좋은 방법입니다.
직렬 하트비트 연결 식별
하트비트 연결로 직렬(RS232) 회선을 사용하는 경우 SERIAL_DEVICE_FILE 매개 변수를 사용하고 각 노드에서 사용 중인 직렬 포트에 해당하는 장치 파일 이름을 입력하십시오. 구성 중이나 후에 직렬 케이블이 올바르게 연결되어 있는지 확인하십시오.
클러스터 구성 확인
SAM은 입력된 구성을 자동으로 확인한 다음 오류를 보고합니다. ASCII 클러스터 구성 파일을 편집한 경우 다음 명령을 사용하면 파일의 내용을 확인할 수 있습니다.
![]() |
|
![]() |
이 명령이나 SAM의 자동 확인 기능 모두 다음 항목을 검사합니다.
-
네트워크 주소 및 연결
-
클러스터 잠금 연결성
-
클러스터 및 패키지에 대한 구성 매개 변수의 유효성
-
이름의 고유성
-
명령줄에 지정된 스크립트가 있는지 여부와 사용 권한
-
지정된 모든 노드가 동일한 하트비트 서브넷에 있는지 여부
-
잘못된 구성 파일 이름을 지정했는지 여부
-
모든 노드를 액세스할 수 있는지 여부
-
각각 하나씩의 CLUSTER_NAME, HEARTBEAT_INTERVAL, AUTO_START_TIMEOUT만 지정됩니다.
-
패키지 실행 및 중지 스크립트 시간 제한 값이 4294초 이하인지 여부
-
HEARTBEAT_INTERVAL의 값은 적어도 1초 이상입니다.
-
NODE_TIMEOUT의 값은 적어도 HEARTBEAT_INTERVAL 값의 두 배 이상입니다.
-
AUTO_START_TIMEOUT 변수 값은 >=0입니다.
-
하트비트 네트워크 최소 요구 사항. 클러스터는 대기 기능이 있는 하나의 하트비트 LAN, 두 개의 하트비트 LAN, 하나의 하트비트 LAN과 하나의 RS232 연결, 또는 로컬 LAN 전환 기능은 없으나 2개 이상의 인터페이스의 링크 집계로 구성된 기본 LAN을 가진 하나의 하트비트 네트워크 중에서 하나를 사용해야 합니다.
-
CVM 디스크 저장을 사용할 경우 하나의 하트비트 서브넷만 구성됩니다.
-
하나 이상의 NODE_NAME이 지정되었는지 여부
-
각 노드가 각 하트비트 네트워크에 연결되어 있는지 여부
-
모든 하트비트 네트워크가 동일한 종류의 LAN인지 여부
-
지정된 네트워크 인터페이스 장치 파일이 유효한 LAN 장치 파일인지 여부
-
RS-232가 사용되면 그 RS232는 2 노드 클러스터에 구성되고 노드 당 직렬(RS232) 포트 연결이 하나만 있습니다.
-
VOLUME_GROUP과 OPS_VOLUME_GROUP 항목은 현재 클러스터 인식으로 표시되어 있지 않습니다.
클러스터가 온라인 상태에 있을 때 SAM(또는 cmcheckconf 명령)은 구성에서 특정 변경 사항에 대한 모든 조건이 유효한지도 검사합니다.
이진 구성 파일 배포
모든 클러스터 매개 변수를 지정한 다음에는 SAM 또는 HP-UX 명령을 사용하여 구성을 적용합니다. 이렇게 하면 클러스터의 모든 노드에 이진 구성 파일이 배포됩니다. 패키지를 구성하기 전에 이 작업을 별도로 수행하는 것이 좋습니다(다음 장 “6장 “패키지 및 서비스 구성”” 참조). 이 방법으로 실행 중인 클러스터에서 cmviewcl 명령을 사용하여 클러스터 잠금, 하트비트 네트워크 및 다른 클러스터 수준의 작업을 확인할 수 있습니다. 구성을 배포하기 전에 보안 파일이 클러스터 노드 간의 복사를 허용하는지 확인하십시오. 자세한 내용은 이 장의 앞에 있는 “시스템 준비”를 참조하십시오.
SAM으로 구성 파일 배포
SAM의 Cluster Configuration 하위 영역에서 매개 변수 입력을 완료하면 클러스터의 모든 노드로 파일을 복사할 것인지 확인하는 메시지가 표시됩니다. 이 때 OK를 선택하면 ServiceGuard는 이진 구성 파일과 ASCII 구성 파일을 클러스터의 모든 노드에 복사합니다.
HP-UX 명령으로 구성 파일 배포
다음 단계에 따라 이진 구성 파일을 만들어 클러스터의 모든 노드에 배포하십시오.
-
잠금 디스크를 초기화할 수 있도록 클러스터 잠금 볼륨 그룹을 활성화합니다.
# vgchange -a y /dev/vglock
-
이진 구성 파일을 작성하여 각 노드에 배포합니다.
# cmapplyconf -v -C /etc/cmcluster/cmclconf.config
-
클러스터 잠금 볼륨 그룹을 비활성화합니다.
# vgchange -a n /dev/vglock
cmapplyconf 명령은 클러스터 구성 파일의 이진 버전을 작성하여 클러스터의 모든 노드에 배포합니다. 이렇게 하면 모든 노드에서 파일의 내용이 일관된 상태를 유지합니다. cmapplyconf 명령은 ASCII 구성 파일을 배포하지 않습니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
주의: 클러스터 잠금 볼륨 그룹은 잠금 디스크가 초기화될 수 있도록 cmapplyconf 명령을 호출하는 노드에서만 활성화되어야 합니다. 잠금 볼륨 그룹이 다른 노드에서 활성화되어 있는 동안 한 노드에서 SAM을 사용하거나 cmapplyconf 명령을 실행하여 클러스터를 구성하려고 하면 클러스터 잠금은 알 수 없는 상태로 남게 됩니다. 따라서 클러스터를 구성할 때 클러스터 잠금 볼륨 그룹이 해당 구성 노드에서만 활성 상태이고 다른 모든 노드에 대해서는 비활성화되어 있는지 확인해야 합니다.
반드시 cmapplyconf를 실행한 다음 구성 노드의 클러스터 잠금 볼륨 그룹을 비활성화하십시오. |
![]() | |
![]() |
![]() |
![]() |
볼륨 그룹 및 클러스터 잠금 구성 데이터 저장
SAM 또는 HP-UX 명령으로 클러스터 구성을 만들었으면 만든 클러스터 인식 볼륨 그룹마다 vgcfgbackup 명령을 사용하여 볼륨 그룹 구성 데이터의 백업 사본을 만드십시오. 볼륨 그룹의 디스크를 교체해야 할 경우 vgcfgrestore 명령을 사용하여 디스크의 메타 데이터를 복원할 수 있습니다. 이 과정에 대한 자세한 내용은 “8장 “클러스터 문제점 해결”” 장의 ““디스크 교체”” 절에 설명되어 있습니다.
처음 클러스터를 만들 때는 클러스터 잠금 볼륨 그룹을 포함해서 모든 클러스터와 OPS 볼륨 그룹에 vgcfgbackup을 사용하십시오. SAM 또는 HP-UX 명령으로 추가하는 새로운 클러스터 인식 볼륨 그룹마다 이 명령을 다시 사용하십시오.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 클러스터 잠금 디스크를 클러스터 실행 중에 교체해야 할 경우에는 반드시 vgcfgrestore 명령을 사용하여 교체 디스크에 잠금 정보를 복원해야 합니다. 그렇지 않으면 잠금 디스크의 모든 중복 사본에 문제가 발생하고 교체 장치나 LUN에 복원된 잠금 구성이 없을 경우 전체 클러스터에 장애가 발생할 수 있습니다. 클러스터 잠금 디스크가 디스크 어레이에 구성되어 있는 경우, RAID 보호는 클러스터 잠금 데이터의 중복 사본을 제공합니다. MirrorDisk/UX는 클러스터 잠금 정보를 미러링하지 않습니다. |
![]() | |
![]() |
![]() |
![]() |
ServiceGuard Manager를 사용한 클러스터 작동 검사
ServiceGuard Manager는 클러스터에 구성된 모든 노드와 패키지 및 현재 상태를 나타냅니다. 자세한 내용은 7장의 “ServiceGuard Manager 사용” 절을 참조하십시오. ServiceGuard Manager를 사용하여 다음과 같은 사항을 확인하십시오.
-
구성된 노드가 모두 실행 중인지 확인합니다.
-
구성된 패키지가 모두 실행 중이고 해당 노드에서 실행되고 있는지 확인합니다.
-
클러스터, 노드 및 패키지의 속성 시트의 설정이 정확한지 확인합니다.
클러스터가 정확하게 구성되어 있으면 보관용으로 구성 데이터 사본을 파일에 저장합니다. 상당 기간의 변경을 이해하기 위해서 이 파일의 데이터를 이후 버전 클러스터와 비교할 수 있습니다.
ServiceGuard 명령을 사용한 클러스터 작동 검사
ServiceGuard 는 클러스터를 수동 제어할 수 있는 명령도 몇 가지 제공합니다.
-
cmrunnode는 노드를 시작하는 데 사용됩니다.
-
cmhaltnode는 실행 중인 노드를 수동으로 중지하는 데 사용됩니다. 이 명령은 shutdown(1m)에서도 사용됩니다.
-
cmruncl은 중지된 클러스터를 수동으로 시작하는 데 사용됩니다.
-
cmhaltcl은 클러스터를 수동으로 중지하는 데 사용됩니다.
다음과 같이 이러한 명령을 사용하여 클러스터 작동을 검사할 수 있습니다.
-
클러스터가 아직 온라인 상태가 아닌 경우 다음 방법으로 클러스터를 실행합니다.
# cmruncl -v
-
클러스터가 시작된 경우 다음 명령을 사용하여 클러스터 구성 요소가 제대로 작동하고 있는지 확인합니다.
# cmviewcl -v
모든 노드 및 네트워크가 예상대로 기능하는지 확인하십시오. cmviewcl 사용에 대한 자세한 내용은 "클러스터 및 패키지 유지 관리" 장을 참조하십시오.
-
다음 명령을 사용하여 노드가 예상대로 클러스터에서 나가고 들어가는지 확인합니다.
-
클러스터 노드에서 cmhaltnode 명령을 실행합니다.
-
cmviewcl 명령을 사용하여 노드가 클러스터에서 나갔는지 확인합니다.
-
cmrunnode 명령을 실행합니다.
-
cmviewcl 명령을 다시 사용하여 노드가 작동하는지 확인합니다.
-
-
다음 명령을 사용하여 클러스터 작동을 중지시킵니다.
# cmhaltcl -v -f
추가 클러스터 테스트에 대해서는 "클러스터 문제 해결" 장을 참조하십시오. "ServiceGuard 명령"에 대한 자세한 목록은 부록 "ServiceGuard OPS Edition 명령"을 참조하십시오.
CVM을 사용하여 저장 하부 구조 만들기 |
![]() |
클러스터를 구성하기 전에 적절한 논리 볼륨 하부 구조를 만들어 여러 노드의 데이터에 액세스할 수 있게 하십시오. 논리 볼륨 관리자(LVM), VERITAS Cluster Volume Manager(CVM) 또는 VERITAS Volume Manager(VxVM)를 사용할 수 있습니다. LVM 및 VxVM 구성은 클러스터 구성 전에, CVM 구성은 클러스터 구성 후에 수행합니다. LVM에서 CVM 저장으로 변환하는 방법에 대해서는 부록 F를 참조하십시오.
이 절에서는 VERITAS 클러스터 볼륨 관리자(CVM)를 사용하여 저장을 구성하는 방법에 대해 설명합니다. 예제는 OPS 디스크 그룹을 구성하는 방법을 보여주지만 비 OPS 사용을 위해 CVM 디스크 그룹을 만들 수도 있습니다. 플렉스(미러), 다중 경로 및 RAID 구성에 대한 세부 사항을 비롯한 자세한 내용은 VERITAS 볼륨 관리자에 대한 HP-UX 설명서를 참조하십시오.
VERITAS 볼륨 관리자 초기화
처음으로 디스크 그룹을 만들 경우에는 볼륨 관리자를 초기화해야 합니다. 이 작업은 적어도 하나의 디스크가 들어 있는 rootdg 디스크 그룹을 만들어 수행합니다. 각 노드에 CVM을 설치한 후에 다음 명령을 사용하십시오.
# vxinstall
이 명령은 CVM 초기화 순서를 안내하는 메뉴 구동 프로그램을 표시합니다. 기본 메뉴에서 “Custom” 옵션을 선택하고 rootdg에 포함시킬 디스크를 지정합니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
중요: VERITAS 볼륨 관리자의 rootdg는 HP-UX 루트 디스크와 같지 않으므로 HP-UX 루트 파일 시스템(/)에 사용할 수 없습니다. 또한, 공유 저장에 rootdg를 사용할 수 없습니다. 그러나, rootdg는 다른 로컬 파일 시스템(예: /export/home)에 사용할 수 있으므로 삭제할 필요가 없습니다. 볼륨 관리자를 처음 사용할 경우에만 rootdg 디스크 그룹이 필요합니다. |
![]() | |
![]() |
![]() |
![]() |
CVM에서 사용할 수 있도록 클러스터 준비
VERITAS 클러스터 볼륨 관리자(CVM)를 사용하려면 특수한 CVM 패키지와 함께 실행하는 클러스터가 있어야 합니다. 즉, 디스크 그룹을 만들기 전에 클러스터를 구성하여 실행해야 합니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 클러스터 구성은 이전 절에 설명되어 있습니다. |
![]() | |
![]() |
![]() |
![]() |
CVM 디스크 그룹 구성에 클러스터를 준비하려면 클러스터 ASCII 구성 파일에서 MAX_CONFIGURED_PACKAGES를 1보다 큰 값으로 설정하고 하나의 하트비트 서브넷만 구성하십시오. 그런 다음 다음 명령을 사용하십시오. 이 명령은 클러스터 정보를 CVM에 알리는 특수 패키지를 만듭니다.
# cmapplyconf -P /etc/cmcluster/cvm/VxVM-CVM-pkg.conf
![]() | |
![]() |
![]() |
![]() | |
![]() |
경고! 이 파일은 편집하지 마십시오. |
![]() | |
![]() |
![]() |
![]() |
이 명령이 제대로 수행되면 다음 절에 설명된 대로 클러스터를 시작하고 공유할 디스크 그룹을 만들 수 있습니다. 클러스터를 시작하면 모든 노드에 있는 VxVM-CVM-pkg라고 하는 특수한 시스템 다중 노드 패키지로 실행됩니다. 다음 cmviewcl -v 명령 실행 결과는 이 패키지를 보여줍니다.
![]() |
|
![]() |
클러스터 시작 및 주 노드 확인
클러스터를 실행합니다. 이렇게 하면 특수한 CVM 패키지가 활성화됩니다.
# cmruncl
CVM를 시작하면 주 노드가 선택됩니다. 이 노드는 디스크 그룹 구성 명령을 실행해야 하는 노드입니다. 주 노드를 결정하려면 클러스터의 각 노드에서 다음 명령을 실행하십시오.
# vxdctl -c mode
한 노드는 자신을 주 노드로 인식합니다. 이 노드에서 디스크 그룹을 만듭니다.
LVM에서 CVM으로 디스크 변환
vxvmconvert 유틸리티를 사용하여 LVM 볼륨 그룹을 CVM 디스크 그룹으로 변환할 수 있습니다. 디스크 그룹으로 변환하기 전에 볼륨 그룹을 비활성화해야 합니다. 즉, 볼륨 그룹을 사용하는 모든 패키지를 중지해야 합니다. 부록 F에 설명된 절차를 참조하십시오.
CVM에 대한 디스크 초기화
CVM 디스크 그룹에 사용할 물리 디스크를 초기화해야 합니다. LVM에서 이전에 물리 디스크를 사용한 경우에는pvremove 명령을 사용하여 볼륨 그룹에 있는 모든 디스크에서 LVM 헤더 데이터를 삭제해야 합니다. 이전에 LVM에서 디스크를 사용하지 않은 경우에는 이 작업이 필요하지 않습니다.
CVM의 디스크를 초기화하려면 주 노드에 로그온한 다음 vxdiskadm 프로그램을 사용하여 여러 디스크를 초기화하거나 아래 예제에서처럼 vxdisksetup 명령을 사용하여 한 번에 하나의 디스크를 초기화하십시오.
# /usr/lib/vxvm/bin/vxdisksetup -i /dev/dsk/c0t3d2
OPS를 위한 디스크 그룹 만들기
vxdg 명령을 사용하여 디스크 그룹을 만듭니다. 아래 예제에서처럼 -s 옵션을 사용하여 공유 모드를 지정합니다.
# vxdg -s init dg_ops c0t3d2
다음 명령을 사용하여 구성을 확인하십시오.
# vxdg list
![]() |
|
![]() |
볼륨 만들기
다음 예제에서처럼 vxassist 명령을 사용하여 실제 볼륨을 만드십시오.
# vxassist -g log_files make dg_ops 1024m
이 명령은 디스크 그룹 dg_ops에 1024MB의 log_files 볼륨을 만듭니다. 이 볼륨은 블록 장치 파일 /dev/vx/dsk/dg_ops/log_files 또는 원시(문자) 장치 파일 /dev/vx/rdsk/dg_ops/log_files로 참조됩니다.
다음 명령을 사용하여 구성을 확인하십시오.
# vxdg list
![]() | |
![]() |
![]() |
![]() | |
![]() |
중요: 이러한 파일을 만든 후에 vxedit 명령을 사용하여 원시 볼륨 파일 소유권을 oracle로 변경하고 그룹 소유권을 dba로 변경하고 사용 권한을 660으로 변경합니다. 예를 들면 다음과 같습니다.
# cd /dev/vx/rdsk/dg_ops # 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 디스크 미러 분리 정책은 '전체적'입니다. 즉, 한 노드에서 특정한 미러 사본
(플렉스)을 볼 수 없게 되면 모든 노드에서도 이 미러 사본을 볼 수 없게 됩니다. 다른 정책은 ‘로컬’입니다. 즉, 한 노드에서 특수한 미러 사본을 볼 수 없게 되면 CVM은 이 노드의 볼륨에 대한 액세스만 비활성화합니다.
이 정책은 디스크 그룹을 기준으로 다음과 같이 vxedit 명령을 사용하여 재설정할 수 있습니다.
# vxedit set diskdetpolicy=[global|local] <DiskGroupName>
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 미러링된 저장 및 CVM을 사용한 다중 경로 저장을 만드는 특수 명령에 대해서는 VERITAS 볼륨 관리자에 대한 HP-UX 설명서를 참조하십시오. |
![]() | |
![]() |
![]() |
![]() |
Oracle 데모 데이터베이스 파일
다음 볼륨 집합은 설치 중에 만들 수 있는 Oracle 데모 데이터베이스에 필요합니다.
표 5-2 데모 데이터베이스의 필수 Oracle 파일 이름
볼륨 이름 |
크기(MB) |
원시 장치 파일 이름 |
Oracle 파일 크기(MB) |
---|---|---|---|
cntrl1 | /dev/vx/rdsk/dg_ops/opsctl1.ctl |
1 | |
cntrl2 | /dev/vx/rdsk/dg_ops/opsctl2.ctl |
1 | |
ops1log1 |
/dev/vx/rdsk/dg_ops/ops1log1.log |
1 | |
ops2log2 | /dev/vx/rdsk/dg_ops/ops1log2.log |
25 | |
ops1log3 | /dev/vx/rdsk/dg_ops/ops1log3.log |
1 | |
ops1log4 | /dev/vx/rdsk/dg_ops/ops1log4.log |
1 | |
rollback01 | /dev/vx/rdsk/dg_ops/rollback1.dbf |
4 | |
rollback02 | /dev/vx/rdsk/dg_ops/rollback2.dbf |
4 | |
temp1 | /dev/vx/rdsk/dg_ops/temp1.dbf |
1 | |
temp2 | /dev/vx/rdsk/dg_ops/temp2.dbf |
1 | |
users | /dev/vx/rdsk/dg_ops/users.dbf |
1 | |
tools | /dev/vx/rdsk/dg_ops/tools.dbf |
15 | |
ops2log1 | /dev/vx/rdsk/dg_ops/ops2log1.log |
1 | |
ops2log2 | /dev/vx/rdsk/dg_ops/ops2log2.log |
1 | |
ops2log3 | /dev/vx/rdsk/dg_ops/ops2log3.log |
1 | |
ops3log1 | /dev/vx/rdsk/dg_ops/ops2log1.log |
1 | |
ops3log2 | /dev/vx/rdsk/dg_ops/ops2log2.log |
1 | |
ops3log3 | /dev/vx/rdsk/dg_ops/ops2log3.log |
1 | |
opsdata1 | /dev/vx/rdsk/dg_ops/opsdata1.dbf | ||
opsdata2 | /dev/vx/rdsk/dg_ops/opsdata2.dbf | ||
opsdata3 | /dev/vx/rdsk/dg_ops/opsdata3.dbf |
데모 데이터베이스를 만들려면 이 파일들을 작성하십시오. 표의 아래쪽에 논리 볼륨 세 개가 추가 데이터 파일로 포함되었는데, 필요예 따라 적절한 크기로 작성할 수 있습니다. 명명 규칙에서 요구하는 경우 Oracle SID 및 데이터베이스 이름을 포함시켜 다른 인스턴스와 다른 데이터베이스에 대한 파일을 구분할 수 있습니다. ORACLE_BASE 디렉토리 구조를 사용한다면 해당 디렉토리에서 ORACLE_BASE 파일에 대한 심볼릭 링크를 만드십시오. 예를 들면 다음과 같습니다.
![]() |
|
![]() |
Oracle 디렉토리에 대한 자세한 정보는 Oracle Server for HP 9000 Installation and Configuration Guide를 참조하십시오. 최대 데이터 파일 크기에 대한 자세한 내용은 Oracle Reference를 참조하십시오.
클러스터 구성에 디스크 그룹 추가
VxVM 명령을 사용하여 CVM 저장 장치를 만들면 각 패키지 구성 ASCII 파일에 디스크 그룹을 지정해야 합니다. 패키지에서 사용할 각 CVM 디스크 그룹에 DISK_GROUP 매개 변수를 사용하십시오. CVM 디스크 그룹, 파일 시스템, 논리 볼륨 및 마운트 옵션을 확인해야 합니다. 패키지 구성 프로세스는 6장에 설명되어 있습니다.
Oracle Parallel Server 설치 |
![]() |
Oracle Parallel Server를 설치하기 전에 클러스터가 실행 중인지 확인하십시오. 한 노드에서 oracle 사용자로 로그인한 다음 Oracle installer를 사용하여 Oracle 소프트웨어를 설치하고 올바른 Oracle 런타임 실행 파일을 만듭니다. Oracle installer는 실행 파일을 클러스터의 다른 노드에도 복사합니다. 다음 설치 옵션을 선택하여 OPS 소프트웨어를 설치하고 데모 데이터베이스를 만듭니다.
![]() |
|
![]() |
Oracle 설치에 대한 자세한 정보는 Oracle 설치 설명서를 참고하십시오. 이 설치의 한 부분으로 Oracle 설치 관리자는 앞에서 만든 논리 볼륨의 문자(원시) 장치 파일 이름을 사용하여 주 노드에 Oracle 데모 데이터베이스를 만듭니다. 데모 데이터베이스를 위해 이 장 앞에 있는 표 "표 5-1 “데모 데이터베이스의 필수 Oracle 파일 이름”"에 나타난 대로 14개의 논리 볼륨을 만듭니다. 설치 관리자가 데이터베이스 파일 이름을 물으면 기본값을 사용하는 대신 원시 논리 볼륨의 경로명을 입력하십시오. 데모 데이터베이스를 설치하지 않으려면 다음을 선택하십시오.
![]() |
|
![]() |
이 경우, 개발 또는 프로덕션 시스템을 만들기에 적절한 개수의 원시 논리 볼륨을 만드십시오. 모든 인스턴스에 충분한 수의 로그 파일을 작성해야 합니다.
재연결
ServiceGuard OPS Edition 버전과 함께 제공된 새 라이브러리 또는 ServiceGuard OPS Edition 라이브러리 패치를 사용하여 모든 노드의 OPS 프로세스 소프트웨어를 다시 링크시켜야 하는 경우가 있습니다. 이러한 라이브러리 이름에 대한 자세한 내용은 Release Notes를 참조하십시오.
$ORACLE_HOME/rdbms/lib 디렉토리에서 다음 명령을 실행하면 재링크가 수행됩니다.
make -f ins_rdbms.mk ioracle
환경 변수 ORACLE_HOME을 설정하고 내보내야 합니다. 단일 작업 실행 파일도 재연결해야 합니다.
실행 클러스터 관리 |
![]() |
이 절에서는 클러스터의 일상적인 관리에 대한 몇 가지 접근 방법에 대해 설명합니다. 추가 도구 및 제안 사항에 대해서는 7장 "클러스터 및 패키지 유지 관리"에서 설명합니다.
ServiceGuard Manager를 사용한 클러스터 작동 검사
ServiceGuard Manager는 클러스터에 구성된 모든 노드와 패키지 및 현재 상태를 나타냅니다. 자세한 내용은 7장의 “ServiceGuard Manager 사용” 절을 참조하십시오. ServiceGuard Manager를 사용하여 다음과 같은 사항을 확인하십시오.
-
구성된 노드가 모두 실행 중인지 확인합니다.
-
구성된 패키지가 모두 실행 중이고 해당 노드에서 실행되고 있는지 확인합니다.
-
클러스터, 노드 및 패키지의 속성 시트의 설정이 정확한지 확인합니다.
클러스터가 정확하게 구성되어 있으면 보관용으로 구성 데이터 사본을 파일에 저장합니다. 상당 기간의 변경을 이해하기 위해서 이 파일의 데이터를 이후 버전 클러스터와 비교할 수 있습니다.
ServiceGuard 명령을 사용한 클러스터 작동 검사
ServiceGuard는 클러스터를 제어할 수 있는 몇 가지 명령을 제공합니다.
-
cmrunnode는 노드를 시작하는 데 사용됩니다.
-
cmhaltnode는 실행 중인 노드를 수동으로 중지하는 데 사용됩니다. 이 명령은 shutdown(1m)에서도 사용됩니다.
-
cmruncl은 중지된 클러스터를 수동으로 시작하는 데 사용됩니다.
-
cmhaltcl은 클러스터를 수동으로 중지하는 데 사용됩니다.
다음과 같이 이러한 명령을 사용하여 클러스터 작동을 검사할 수 있습니다.
-
클러스터가 아직 온라인 상태가 아닌 경우 다음 방법으로 클러스터를 실행합니다.
# cmruncl -v
-
클러스터가 시작된 경우 다음 명령을 사용하여 클러스터 구성 요소가 제대로 작동하고 있는지 확인합니다.
# cmviewcl -v
모든 노드 및 네트워크가 예상대로 기능하는지 확인하십시오. cmviewcl 사용에 대한 자세한 내용은 7장 "클러스터 및 패키지 유지 관리"를 참조하십시오.
-
다음 명령을 사용하여 노드가 예상대로 클러스터에서 나가고 들어가는지 확인합니다.
-
클러스터 노드에서 cmhaltnode 명령을 실행합니다.
-
cmviewcl 명령을 사용하여 노드가 클러스터에서 나갔는지 확인합니다.
-
cmrunnode 명령을 실행합니다.
-
cmviewcl 명령을 다시 사용하여 노드가 작업에 반환되었는지 확인합니다.
-
-
다음 명령을 사용하여 클러스터 작동을 중지시킵니다.
# cmhaltcl -v -f
추가 클러스터 테스트 작업은 "문제점 해결" 장을 참조하십시오. MC/ServiceGuard 명령의 완전한 목록은 부록 A를 참조하십시오.
볼륨 그룹의 자동 활성화 방지
/etc/lvmrc 파일을 사용하여 시스템이 시작될 때 OPS 및 패키지 볼륨 그룹이 활성화되지 않게 해야 합니다. 이렇게 하려면 모든 노드에서 /etc/lvmrc 파일을 편집하십시오. AUTO_VG_ACTIVATE를 0으로 설정한 다음 클러스터에 연결되지 않은 모든 볼륨 그룹을 custom_vg_activation 함수에 포함하십시오. 패키지에서 사용할 볼륨 그룹은 제어 스크립트에 의해 활성화가 제어되기 때문에 파일의 어느 부분에도 포함하지 마십시오.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 루트 볼륨 그룹은 custom_vg_activation 함수에 포함될 필요가 없습니다. 부트 시에 /etc/lvmrc 파일이 사용되기 전에 자동으로 활성화되기 때문입니다. |
![]() | |
![]() |
![]() |
![]() |
자동 시작 기능 설정
자동 시작은 각 노드가 클러스터에 개별적으로 참여하는 과정입니다. 이 과정을 제어하기 위해 ServiceGuard는 시작 스크립트를 제공합니다. 클러스터가 이미 존재할 경우 노드는 이 클러스터에 참여하려고 합니다. 실행 중인 클러스터가 없으면 노드는 설정된 모든 노드로 구성되는 클러스터를 편성하려고 합니다. 자동 클러스터 시작을 사용하여 클러스터를 시작하는 것이 좋습니다. 시스템 관리자가 수행해야 하는 작업은 없습니다.
자동 클러스터 시작을 사용하려면 클러스터의 모든 노드에 구성된 /etc/rc.config.d/cmcluster 파일에서 플래그 AUTOSTART_CMCLD를 1로 설정하십시오. 그러면 시작할 때 노드는 클러스터에 참여합니다.
다음은 /etc/rc.config.d/cmcluster 파일의 예제입니다.
![]() |
|
![]() |
시스템 메시지 변경
필요하면 다음과 같은 내용을 포함하도록 시스템 로그인 메시지를 수정할 수 있습니다.
![]() |
|
![]() |
추가적인 클러스터 특정 정보와 함께 이 메시지에 모든 클러스터 노드의 목록을 포함시킬 수 있습니다.
/etc/issue 및 /etc/motd 파일은 클러스터 관련 정보를 포함하도록 사용자 정의할 수 있습니다.
OPS 인스턴스의 시작과 종료 구성에 패키지 사용
적절한 볼륨 그룹을 활성화하고 OPS를 실행하는 패키지를 만듦으로써 클러스터 노드 상에서 OPS 인스턴스를 시작하고 종료하는 일을 자동화할 수 있습니다. 자세한 내용은 "패키지 및 서비스 구성" 장의 "OPS 인스턴스를 시작하는 패키지 만들기" 절을 참조하십시오.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: 최대 OPS 인스턴스 개수는 클러스터 당 127개입니다. |
![]() | |
![]() |
![]() |
![]() |
Oracle 인스턴스 시작
Oracle 설치가 완료되었으면, 모든 패키지 제어 스크립트가 각 노드에 위치하고, 각각의 /etc/rc.config.d/cmcluster 스크립트에 AUTOSTART_CMCLD=1 항목이 들어 있는지 확인합니다. 그런 다음 각 노드를 재부팅하십시오. 재부팅후 몇 분 뒤에 클러스터가 재편성되고, 패키지 제어 스크립트가 데이터베이스 인스턴스와 응용 프로그램을 시작할 것입니다.
Oracle이 시작되었으면 두 노드에서 SAM 프로세스 관리 영역 또는 ps -ef 명령을 사용하여 모든 OPS 데몬과 Oracle 프로세스가 실행 중인지 확인합니다.
수동으로 시작 및 종료
패키지를 사용하지 않고 OPS 인스턴스를 시작하고 종료하려면 다음과 같이 하십시오.
-
시작하는 순서는 다음과 같습니다.
-
클러스터를 시작합니다(cmrunnode 또는 cmruncl).
-
데이터베이스 볼륨 그룹이나 디스크 그룹을 공유 모드에서 활성화합니다.
-
공유 모드로 Oracle을 작동 시킵니다.
-
Oracle 응용 프로그램이 있으면 작동시킵니다.
-
-
종료하는 순서는 다음과 같습니다.
-
Oracle 응용 프로그램이 있으면 종료합니다.
-
Oracle을 종료합니다.
-
데이터베이스 볼륨 그룹이나 디스크 그룹을 비활성화합니다.
-
클러스터를 종료합니다(cmhaltnode 또는 cmhaltcl).
-
위에 설명한 종료 절차를 따르지 않으면 cmhaltcl 또는 cmhaltnode가 GMS 클라이언트(OPS 8i)가 활성이라는 메시지 또는 공유 볼륨 그룹이 활성이라는 메시지와 함께 실패할 것입니다.
단일 노드 클러스터 관리
MC/ServiceGuard 클러스터에 필요한 노드의 수는 보호하려는 응용 프로그램의 프로세싱 요구 사항에 따라 달라집니다. MC/ServiceGuard의 네트워크 장애 보호 기능을 활용하도록 단일 노드 클러스터를 구성할 수 있습니다.
단일 노드 클러스터에서는 클러스터에 다른 노드가 없기 때문에 클러스터 잠금은 필요하지 않습니다. 노드가 하나만 있을 경우에는 cmquerycl 명령의 출력 결과에 클러스터 잠금 정보 영역이 생략됩니다.
중복 네트워크가 필요하지만 하트비트를 전송할 노드가 없기 때문에 하트비트 LAN을 지정하지 않아도 됩니다. 클러스터 구성 ASCII 파일에서 ServiceGuard에서 모니터할 LAN을 모두 지정하십시오. LAN에 이미 IP 주소가 있을 경우에는 HEARTBEAT_IP 키워드가 아닌 STATIONARY_IP 키워드와 함께 이들 주소를 지정하십시오. 대기 LAN의 경우 LAN 장치 이름과 함께 NETWORK_INTERFACE 키워드만 지정하면 됩니다.
단일 노드 실행
단일 노드 클러스터나 다중 노드 클러스터에서 단일 노드가 실행되고 한 노드를 제외한 모든 노드에서 장애가 발생했거나 종료되어도 응용 프로그램이 실행됩니다. MC/ServiceGuard 데몬 cmcld가 활성 상태에 있으면 다른 노드들은 나중에 클러스터에 다시 참여할 수 있습니다.
단일 노드 실행에서 MC/ServiceGuard 데몬에 장애가 발생할 경우, 단일 노드와 응용 프로그램은 계속 실행됩니다. 이것은 다중 노드 클러스터에서 MC/ServiceGuard 데몬이 손실되는 것과는 다른데, 이 경우는 TOC와 함께 노드가 중지되고 패키지는 대체 노드로 전환됩니다. 이 시나리오에서는 응용 프로그램이 계속 실행 중이고 패키지가 전환될 다른 노드가 없기 때문에 단일 노드를 중지할 필요가 없습니다. 하지만, 단일 노드에서 계속 실행 중인 응용 프로그램을 다른 노드가 다시 시작하면 데이터가 손상될 수 있기 때문에 MC/ServiceGuard를 다시 시작해서는 안됩니다. 따라서 클러스터를 다시 시작하지 말고 적당한 시간에 노드를 중지한 다음 다시 시작하십시오. 이렇게 하면 응용 프로그램이 종료되고 노드가 다시 시작되었을 때 MC/ServiceGuard가 클러스터를 다시 시작합니다.
클러스터 구성 삭제
SAM을 사용하거나 cmdeleteconf 명령을 실행하여 모든 클러스터 노드에서 클러스터 구성을 삭제할 수 있습니다. -f 옵션을 사용하지 않는 한 이 명령은 파일을 삭제하기 전에 확인 메시지를 표시합니다. 클러스터가 중지된 경우에만 구성을 삭제할 수 있습니다. 이 명령은 클러스터의 모든 노드에서 이진 구성 파일을 삭제하고 모든 클러스터 인식 볼륨 그룹을 클러스터를 인식하지 않는 볼륨 그룹으로 재설정합니다.
![]() | |
![]() |
![]() |
![]() | |
![]() |
참고: cmdeleteconf 명령은 클러스터 이진 파일 /etc/cmcluster/cmclconfig만 제거합니다. /etc/cmcluster 디렉터리의 다른 파일을 삭제하지는 않습니다. |
![]() | |
![]() |
![]() |
![]() |
클러스터를 중지해야 하는 경우에도 클러스터의 모든 노드에 전원이 공급되어야 하며 cmdeleteconf 명령을 사용하기 전에 액세스할 수 있어야 합니다. 노드에 전원이 공급되지 않는 경우 전원을 연결하고 노드를 시작하십시오. 노드를 액세스할 수 없을 경우 다음 메시지와 함께 액세스할 수 없는 노드 목록이 표시됩니다.
![]() |
|
![]() |
Yes를 선택하여 구성을 제거합니다. 나중에 사용할 수 없는 노드에 다시 액세스할 수 있게 되면 해당 노드에서 cmdeleteconf 명령을 실행하여 구성 파일을 제거하십시오.