검색

4.8. 펜싱 구성

download PDF

펜싱 구성을 사용하면 AWS 클러스터의 노드가 자동으로 분리되므로 노드가 클러스터 리소스를 사용하거나 클러스터 기능을 손상시키지 않습니다.

여러 방법을 사용하여 AWS 클러스터에서 펜싱을 구성할 수 있습니다. 이 섹션에서는 다음을 제공합니다.

  • 기본 구성에 대한 표준 절차입니다.
  • 자동화에 중점을 둔 고급 구성을 위한 대체 구성 절차입니다.

표준 절차

  1. 다음 AWS 메타데이터 쿼리를 입력하여 각 노드의 인스턴스 ID를 가져옵니다. 차단 장치를 구성하려면 이러한 ID가 필요합니다. 자세한 내용은 인스턴스 메타데이터 및 사용자 데이터를 참조하십시오.

    # echo $(curl -s http://169.254.169.254/latest/meta-data/instance-id)

    예제:

    [root@ip-10-0-0-48 ~]# echo $(curl -s http://169.254.169.254/latest/meta-data/instance-id) i-07f1ac63af0ec0ac6
  2. 다음 명령을 입력하여 펜스 장치를 구성합니다. gRPC mk_host_map 명령을 사용하여 RHEL 호스트 이름을 인스턴스 ID에 매핑합니다. 이전에 설정한 AWS Access Key 및 AWS Secret Access Key를 사용합니다.

    # pcs stonith \
        create <name> fence_aws access_key=access-key secret_key=<secret-access-key> \
        region=<region> pcmk_host_map="rhel-hostname-1:Instance-ID-1;rhel-hostname-2:Instance-ID-2;rhel-hostname-3:Instance-ID-3" \
        power_timeout=240 pcmk_reboot_timeout=480 pcmk_reboot_retries=4

    예제:

    [root@ip-10-0-0-48 ~]# pcs stonith \
    create clusterfence fence_aws access_key=AKIAI123456MRMJA secret_key=a75EYIG4RVL3hdsdAslK7koQ8dzaDyn5yoIZ/ \
    region=us-east-1 pcmk_host_map="ip-10-0-0-48:i-07f1ac63af0ec0ac6;ip-10-0-0-46:i-063fc5fe93b4167b2;ip-10-0-0-58:i-08bd39eb03a6fd2c7" \
    power_timeout=240 pcmk_reboot_timeout=480 pcmk_reboot_retries=4

대체 절차

  1. 클러스터의 VPC ID를 가져옵니다.

    # aws ec2 describe-vpcs --output text --filters "Name=tag:Name,Values=clustername-vpc" --query 'Vpcs[*].VpcId'
    vpc-06bc10ac8f6006664
  2. 클러스터의 VPC ID를 사용하여 VPC 인스턴스를 가져옵니다.

    $ aws ec2 describe-instances --output text --filters "Name=vpc-id,Values=vpc-06bc10ac8f6006664" --query 'Reservations[*].Instances[*].{Name:Tags[? Key==Name]|[0].Value,Instance:InstanceId}' | grep "\-node[a-c]"
    i-0b02af8927a895137     clustername-nodea-vm
    i-0cceb4ba8ab743b69     clustername-nodeb-vm
    i-0502291ab38c762a5     clustername-nodec-vm
  3. 가져온 인스턴스 ID를 사용하여 클러스터의 각 노드에서 펜싱을 구성합니다. 예를 들면 다음과 같습니다.

    [root@nodea ~]# CLUSTER=clustername && pcs stonith create fence${CLUSTER} fence_aws access_key=XXXXXXXXXXXXXXXXXXXX pcmk_host_map=$(for NODE \
    in node{a..c}; do ssh ${NODE} "echo -n \${HOSTNAME}:\$(curl -s http://169.254.169.254/latest/meta-data/instance-id)\;"; done) \
    pcmk_reboot_retries=4 pcmk_reboot_timeout=480 power_timeout=240 region=xx-xxxx-x secret_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    
    [root@nodea ~]# pcs stonith config fence${CLUSTER}
    
    Resource: clustername (class=stonith type=fence_aws)
    Attributes: access_key=XXXXXXXXXXXXXXXXXXXX pcmk_host_map=nodea:i-0b02af8927a895137;nodeb:i-0cceb4ba8ab743b69;nodec:i-0502291ab38c762a5;
    pcmk_reboot_retries=4 pcmk_reboot_timeout=480 power_timeout=240 region=xx-xxxx-x secret_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Operations: monitor interval=60s (clustername-monitor-interval-60s)

검증

  1. 클러스터 노드 중 하나에 대해 펜싱 에이전트를 테스트합니다.

    # pcs stonith fence awsnodename
    참고

    명령 응답이 표시되는 데 몇 분이 걸릴 수 있습니다. 펜싱 중인 노드의 활성 터미널 세션을 확인하는 경우 fence 명령을 입력한 후 터미널 연결이 즉시 종료되는 것을 확인할 수 있습니다.

    예제:

    [root@ip-10-0-0-48 ~]# pcs stonith fence ip-10-0-0-58
    
    Node: ip-10-0-0-58 fenced
  2. 상태를 확인하여 노드가 펜싱되었는지 확인합니다.

    # pcs status

    예제:

    [root@ip-10-0-0-48 ~]# pcs status
    
    Cluster name: newcluster
    Stack: corosync
    Current DC: ip-10-0-0-46 (version 1.1.18-11.el7-2b07d5c5a9) - partition with quorum
    Last updated: Fri Mar  2 19:55:41 2018
    Last change: Fri Mar  2 19:24:59 2018 by root via cibadmin on ip-10-0-0-46
    
    3 nodes configured
    1 resource configured
    
    Online: [ ip-10-0-0-46 ip-10-0-0-48 ]
    OFFLINE: [ ip-10-0-0-58 ]
    
    Full list of resources:
    clusterfence  (stonith:fence_aws):    Started ip-10-0-0-46
    
    Daemon Status:
    corosync: active/disabled
    pacemaker: active/disabled
    pcsd: active/enabled
  3. 이전 단계에서 차단된 노드를 시작합니다.

    # pcs cluster start awshostname
  4. 상태를 확인하여 노드가 시작되었는지 확인합니다.

    # pcs status

    예제:

    [root@ip-10-0-0-48 ~]# pcs status
    
    Cluster name: newcluster
    Stack: corosync
    Current DC: ip-10-0-0-46 (version 1.1.18-11.el7-2b07d5c5a9) - partition with quorum
    Last updated: Fri Mar  2 20:01:31 2018
    Last change: Fri Mar  2 19:24:59 2018 by root via cibadmin on ip-10-0-0-48
    
    3 nodes configured
    1 resource configured
    
    Online: [ ip-10-0-0-46 ip-10-0-0-48 ip-10-0-0-58 ]
    
    Full list of resources:
    
      clusterfence  (stonith:fence_aws):    Started ip-10-0-0-46
    
    Daemon Status:
      corosync: active/disabled
      pacemaker: active/disabled
      pcsd: active/enabled
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.