320x100

안녕하세요.

오늘은 PowerHA 구성 방법을 알아보겠습니다.

 

PowerHA 란?

AIX Unix Linux 에서 고 가용성 클러스터 를위한 IBM의 솔루션입니다. IBM System p 플랫폼은 고 가용성 클러스터 다중 처리를 나타냅니다. IBM HACMP 제품은 1991 년에 처음 출시되었습니다.

PowerHA
 최대 32 개의 컴퓨터 또는 노드에서 실행할  있으며 노드는 애플리케이션을 능동적으로 실행 (활성)하거나 다른 노드가 실패   (수동인계 대기 중입니다파일 시스템  데이터는 클러스터의 시스템간에 공유   있습니다.

PowerHA
IBM Reliable Scalable Cluster Technology (RSCT)에 크게 의존합니다. PowerHA RSCT 인식 클라이언트입니다. RSCT AIX와 함께 배포됩니다. RSCT에는 클러스터와 관련된 이벤트에 대한 응답을 조정하는 그룹 서비스라는 데몬이 포함되어 있습니다 ( : 인터페이스 또는 노드 실패 또는 관리자가 클러스터 구성 변경). PowerHA V6.1까지 RSCT는 토폴로지 서비스 데몬 (topsvcs)을 사용하여 클러스터 노드, 네트워크 및 네트워크 어댑터의 오류를 모니터링했습니다. 현재 릴리스 (V7.1)에서 RSCT는 노드 간의 좌표 응답을 제공하지만 모니터링 및 통신은 CAA (Cluster Aware AIX) 인프라에서 제공됩니다.

 

PowerHA 구성 방법

기본적으로 PowerHA 파일셋의 설치가 필요합니다.

PowerHA는 별도로 IBM계약을 통하여 설치 및 기술지원을 받으실수 있습니다.

[node1:root]/>halevel -s
7.2.5 GA

현재 설치된 PowerHA 버젼은 7.2.5 입니다.

 

1. /etc/hosts 파일 수정 (node1/2 모두 작업)

[node1:root]/>cat /etc/hosts
...
10.50.1.81      node1
10.50.1.82      node2
10.50.1.83      VIP

 각 노드의 IP VIP를 입력해 줍니다.

 

2. rhosts 파일 생성 (node1/2 모두 작업)

[node1:root]/>vi /etc/cluster/rhosts
node1
node2
[node1:root]/>vi /usr/es/sbin/cluster/etc/rhosts
node1
node2

3. 할당된 디스크 정보 확인

[node1:root]/>lspv
hdisk0          00c5c1d71c2b08a9                    rootvg          active      
hdisk1          00c5c1d73963a388                    None                        
hdisk2          00c5c1d73a9d410c                    testvg          active      
hdisk3 (Shared)         00c5c1d73a9d414b                    None                        >>
미사용, 50GB
hdisk4 (Shared)         00c5c1d73a9d4187                    None                        >>
미사용, 50GB
hdisk5 (Shared)         00c5c1d73a9d41c2                    NSD01                       >> GPFS
사용중
hdisk6 (Shared)         00c5c1d73a9d41fd                    NSD02                       >> GPFS
사용중
hdisk7 (Shared)         00c5c1d73a9d423a                    NSD03                       >> GPFS
사용중
hdisk8 (Shared)         00c5c1d73a9d4276                    TB01                         >> GPFS
사용중
hdisk9 (Shared)         00c5c1d73a9d42b1                    None                        >>
미사용, 1GB
hdisk10 (Shared)        00c5c1d73a9d42ee                    None                        >>
미사용, 1GB
hdisk11 (Shared)        00c5c1d73a9d432a                    None                        >>
미사용, 1GB
hdisk12 (Shared)       00c5c1d73a9d4367                    None                         >>
미사용, 1GB

현재 node1/2 파티션에 hdisk3에서 hdisk12 까지의 공유디스크가 할당되어 있는 상태입니다.

현재 hdisk5~hdisk8까지는 GPFS 용도로 사용중이며 표시한 미사용 공유디스크를 이용하여 PowerHA를 구성하겠습니다.

 

4. Cluster, Node, Network 생성 (Node1에서 작업)

[node2:root]/>smitty hacmp > Cluster Nodes and Networks > Standard Cluster Deployment > Setup Cluster, Nodes and Networks (Typical)

Cluster Name 을 설정해주고 node2 노드를 추가해줍니다.

생성을 할때 오류가 뜰경우에는 clcomd 데몬을 재시작해줍니다.

#stopsrc -s clcomd ; startsrc -s clcomd

[node1:root]/>cltopinfo
Cluster Name:    PowerHA_cluster
Cluster Type:    Standard
Heartbeat Type:  Unicast
Repository Disk: None

There are 2 node(s) and 1 network(s) defined

NODE node1:
        Network net_ether_01
                node1   10.50.1.81

NODE node2:
        Network net_ether_01
                node2   10.50.1.82

No resource groups defined

생성된 cluster정보는 위의 명령어로 확인하실 수 있습니다.

 

5. Repository Disk 설정 (Node1에서 작업)

 클러스터 저장소 디스크(Repository Disk)가 다음 용도로 사용됩니다.

  • 클러스터 전체 구성 관리
  • 클러스터 메시징 및 Heart-Beat
  • 노드 간의 또 다른 중복 통신 경로로 사용됩니다.

클러스터 리포지토리 디스크에 할당된 디스크 공간은 최소 512MB, 최대 460GB여야 합니다.

디스크를 저장소 디스크(Repository Disk)로 할당한 후에는 디스크를 다른 용도로 사용할 수 없습니다.

저장소 디스크로 사용하는 디스크(Repository Disk)에 사용자 데이터가 포함되어 있지 않은지 확인하십시오.

디스크가 PowerHA SystemMirror에 의해 저장소 디스크(Repository Disk)로 식별되면 디스크의 모든 정보가 지워집니다.

[node2:root]/>smitty hacmp > Cluster Nodes and Networks > Manage Repository Disks > Add a Repository Disk

위와 같은 방법으로 Repository Disk를 추가 하실수 있습니다.

일반적으로 2개의 Repository Disk Active-Backup 형식으로 할당 해줍니다.

저는 hdisk9(Active), hdisk10(Backup)으로 구성하였습니다.

[node2:root]/>smitty hacmp > Cluster Nodes and Networks > Manage Repository Disks > Show Repository Disks

 

6. Application Scripts 등록 (Node1에서 작업)

[node1:root]/>smitty hacmp > Cluster Applications and Resources > Resources > Configure User Applications (Scripts and Monitors) > Application Controller Scripts > Add Application Controller Scripts

  리소스그룹(Resource Group)에 등록하여 HA 리소스가 시작되거나 중지될때 자동으로 실행할 수 있는 스크립트를 작성하여 등록하실 수 있습니다.

 

7. Service IP (VIP) 등록 (Node1에서 작업)

[node1:root]/>smitty hacmp > Cluster Applications and Resources > Resources > Configure Service IP Labels/Addresses > Configure Service IP Labels/Addresses > Network 선택

 /etc/hosts 파일에 등록한 VIP를 선택하여 등록하실 수 있습니다.

 

8. VG, LV, F/S 생성 (node1/2 모두 작업)

[node1:root]/>lvlstmajor
39...
[node2:root]/>lvlstmajor
38...

해당명령어로 사용가능한 고유한 VG 넘버를 확인하실 수 있습니다.

############### Node1
에서 작업 ########################
# VG
생성 (major number 40)
[node1:root]/>mkvg -f -a 'no' -S -C -y ha_vg -s 512 -V 40 hdisk3
ha_vg

# LV
생성
[node1:root]/> mklv -y'ha_lv' -t'jfs2' ha_vg 20 hdisk3

$ F/S
생성
[node1:root]/> crfs -v jfs2 -d'ha_lv' -m'/ha_test' -A'no' -p'rw' -a agblksize='4096' -a isnapshot='no'

[node1:root]/>lspv
hdisk0          00c5c1d71c2b08a9                    rootvg          active      
hdisk1          00c5c1d73963a388                    None                        
hdisk2          00c5c1d73a9d410c                    testvg          active      
hdisk3          00c5c1d73a9d414b                    ha_vg           active      
hdisk4          00c5c1d73a9d4187                    None                        
hdisk5          00c5c1d73a9d41c2                    NSD01                       
hdisk6          00c5c1d73a9d41fd                    NSD02                       
hdisk7          00c5c1d73a9d423a                    NSD03                       
hdisk8          00c5c1d73a9d4276                    TB01                        
hdisk9          00c5c1d73a9d42b1                    None                        
hdisk10         00c5c1d73a9d42ee                    None                        
hdisk11         00c5c1d73a9d432a                    None                        
hdisk12         00c5c1d73a9d4367                    None                        
[node1:root]/>lsvg -l ha_vg
ha_vg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
ha_lv               jfs2       20      20      1    open/syncd    /ha_test
loglv00             jfs2log    1       1       1    open/syncd    N/A
[node1:root]/>umount /ha_test
[node1:root]/>varyoffvg ha_vg
[node1:root]/>exportvg ha_vg


############### Node2
에서 작업 ########################
[node2:root]/>lspv
hdisk0          00c5c1d71c2b3c88                    rootvg          active      
hdisk1          00c5c1d73a9d5461                    None                        
hdisk2          00c5c1d73a9d54a0                    None                        
hdisk3          00c5c1d73a9d414b                    None                        
hdisk4          00c5c1d73a9d4187                    None                        
hdisk5          00c5c1d73a9d41c2                    NSD01                       
hdisk6          00c5c1d73a9d41fd                    NSD02                       
hdisk7          00c5c1d73a9d423a                    NSD03                       
hdisk8          00c5c1d73a9d4276                    TB01                        
hdisk9          00c5c1d73a9d42b1                    None                        
hdisk10         00c5c1d73a9d42ee                    None                        
hdisk11         00c5c1d73a9d432a                    None                        
hdisk12         00c5c1d73a9d4367                    None          
[node2:root]/>importvg -V 40 -y ha_vg 00c5c1d73a9d414b
ha_vg

############### Node1, Node2
에서 작업 ###################
varyoffvg ha_vg
hdisk0          00c5c1d71c2b3c88                    rootvg          active      
hdisk1          00c5c1d73a9d5461                    None                        
hdisk2          00c5c1d73a9d54a0                    None                        
hdisk3          00c5c1d73a9d414b                    ha_vg                       
hdisk4          00c5c1d73a9d4187                    None                        
hdisk5          00c5c1d73a9d41c2                    NSD01                       
hdisk6          00c5c1d73a9d41fd                    NSD02                       
hdisk7          00c5c1d73a9d423a                    NSD03                       
hdisk8          00c5c1d73a9d4276                    TB01                        
hdisk9          00c5c1d73a9d42b1                    None                        
hdisk10         00c5c1d73a9d42ee                    None                        
hdisk11         00c5c1d73a9d432a                    None                        
hdisk12         00c5c1d73a9d4367                    None  

varyoff
작업으로 통하여 node1, node2 모두 active 표시가 없도록 해줍니다.

 node1 에서 VG, LV, F/S을 생성하고 exportvg 작업 후 node2 에서 importvg를 해줍니다.

이후 node1,2 에서 모두 varyoff 상태로 만들어줍니다.

 

9. 리소스그룹(Resouces Group) 생성 (Node1에서 작업)

[node1:root]/>smitty hacmp > Cluster Applications and Resources > Resource Groups > Add a Resource Group

 리소스그룹 이름과 node명을 입력해줍니다.

Fallback Policy Naver Fallback으로 선택해줍니다.

 

리소스 그룹 Policy 에 대한 설명입니다.

  • Startup Policy : 클러스터 기동되고 리소스가 올라올 떄 어느 노드에 올라올지 결정
  • Fallover Policy : 현재 리소스를 가지고 있는 노드가 다운되었을 때 어느 노드로 넘길지 결정
  • Fallback Policy : 원래 리소스를 가지고 있던 노드가 다운되었다가 다시 복구되었을 때 원래 Active였던 노드로 리소스를 자동으로 되찾게 할 것인지 여부를 설정 (자동으로 되찾게 하면 리소스 그룹을 넘기는 도중 다운타임 발생이 불가피하므로 주로 Never Fallback으로 사용)

10. 리소스그룹(Resouces Gorup) 수정 (Node1에서 작업)

[node1:root]/>smitty hacmp > Cluster Applications and Resources > Resource Groups > Change/Show All Resources and Attributes for a Resource Group > ha_rg 리소스 그룹 선택

 생성한 Service IP, Application Controller, Volume Groups 을 입력하여 ha_rg 리소스그룹 정보를 수정해 줍니다.

 

11. PowerHA Cluster 정보 Synchronize (Node1에서 작업)

[node1:root]/>smitty hacmp > Cluster Applications and Resources > Verify and Synchronize Cluster Configuration

 node1에서 생성한 PowerHA 정보를 node2에서도 가져오도록 Sync 동작을 수행합니다.

 

 

12. PowerHA 기동

[node1:root]/>smitty clstart

 node1, node2를 선택 후 PowerHA 를 기동합니다.

 

13. PowreHA 상태 확인

[node1:root]/>lssrc -ls clstrmgrES | grep -i state
Current state: ST_STABLE
[node2:root]/>lssrc -ls clstrmgrES | grep -i state
Current state: ST_STABLE

[node1:root]/>clRGinfo
-----------------------------------------------------------------------------
Group Name                   State            Node                                                             
-----------------------------------------------------------------------------
ha_rg                        ONLINE           node1                                                            
                               OFFLINE          node2  

Current state: ST_STABLE
[node1:root]/>lspv
hdisk0          00c5c1d71c2b08a9                    rootvg          active      
hdisk1          00c5c1d73963a388                    None                        
hdisk2          00c5c1d73a9d410c                    testvg          active      
hdisk3          00c5c1d73a9d414b                    ha_vg           concurrent  
hdisk4          00c5c1d73a9d4187                    None                        
hdisk5          00c5c1d73a9d41c2                    NSD01                       
hdisk6          00c5c1d73a9d41fd                    NSD02                       
hdisk7          00c5c1d73a9d423a                    NSD03                       
hdisk8          00c5c1d73a9d4276                    TB01                        
hdisk9          00c5c1d73a9d42b1                    caavg_private   active      
hdisk10         00c5c1d73a9d42ee                    None                        
hdisk11         00c5c1d73a9d432a                    None                        
hdisk12         00c5c1d73a9d4367                    None                        

[node1:root]/>lsvg ha_vg | grep PERMI
VG PERMISSION:      read/write               TOTAL PPs:      99 (50688 megabytes)
[node2:root]/>lsvg ha_vg | grep PERMI
VG PERMISSION:      passive-only             TOTAL PPs:      99 (50688 megabytes)

[node1:root]/>df -tg
/dev/hd4           1.00      0.10      0.90   10% /
/dev/hd2           5.25      5.05      0.20   97% /usr
/dev/hd9var        2.00      0.25      1.75   13% /var
/dev/hd3           2.00      0.00      2.00    1% /tmp
/dev/hd1           1.00      0.00      1.00    1% /home
/dev/hd11admin      0.12      0.00      0.12    1% /admin
/proc                 -         -         -    - /proc
/dev/hd10opt       0.38      0.27      0.10   73% /opt
/dev/livedump      0.25      0.00      0.25    1% /var/adm/ras/livedump
/dev/fslv00       30.00     18.26     11.74   61% /ptf
/dev/fslv01        1.00      0.00      1.00    1% /testvg
/ahafs                -         -         -    - /aha
/dev/gpfs_fs02     50.00      1.34     48.66    3% /gpfs_fs02
/dev/gpfs_fs03     50.00      1.34     48.66    3% /gpfs_fs03
/dev/gpfs_fs01     50.00      1.34     48.66    3% /gpfs_fs01
/dev/ha_lv        10.00      0.00     10.00    1% /ha_test

[node1:root]/>ifconfig -a
en0: flags=1e084863,114c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),LARGESEND,CHAIN>
        inet 10.50.1.83 netmask 0xffffff00 broadcast 10.50.1.255
        inet 10.50.1.81 netmask 0xffffff00 broadcast 10.50.1.255
         tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1
en1: flags=1e084863,14c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),LARGESEND,CHAIN>
        inet 192.168.0.81 netmask 0xffffff00 broadcast 192.168.0.255
         tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1
lo0: flags=e08084b,c0<UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,LARGESEND,CHAIN>
        inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255
        inet6 ::1%1/64
         tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1

 PowerHA Cluster를 기동하면 VG상태가 concurrent 로 변경되며, Active 노드에서 F/S이 정상적으로 마운트가 됩니다.

또한, 설정한 VIP Active노드에서 올라오게 됩니다.

이상태에서 node1이 다운될 경우에는 F/S VIP node2 FailOver 가 발생하며, 리소스 그룹 이동시간 동안 서비스 단절 후 node2로 서비스할 수 있습니다.

 

오늘은 기본적인 PowreHA 구성 절차에 대해서 알아보았습니다.

감사합니다. ^^

반응형

+ Recent posts