검색

10.5. 펜스 장치 테스트

download PDF

펜싱은 Red Hat 클러스터 인프라의 기본 부분입니다. 펜싱이 제대로 작동하는지를 검증하거나 테스트하는 것이 중요합니다.

절차

다음 절차에 따라 펜스 장치를 테스트합니다.

  1. ssh, telnet, HTTP 또는 장치에 연결하는 데 사용되는 원격 프로토콜을 사용하여 수동으로 로그인하여 펜스 장치를 테스트하거나 제공된 출력을 확인합니다. 예를 들어 IPMI 사용 장치에 대한 펜싱을 구성하는 경우 ipmitool 을 사용하여 원격으로 로그인합니다. 펜싱 에이전트를 사용할 때 이러한 옵션이 필요할 수 있으므로 수동으로 로그인할 때 사용하는 옵션을 기록해 두십시오.

    펜스 장치에 로그인할 수 없는 경우 장치에 ping할 수 있는지, 펜스 장치에 대한 액세스를 방지하는 방화벽 구성, 펜싱 장치에서 원격 액세스가 활성화되고 자격 증명이 올바른지 확인합니다.

  2. 펜스 에이전트 스크립트를 사용하여 펜스 에이전트를 수동으로 실행합니다. 이 작업을 수행하려면 클러스터 서비스가 실행 중이 아니므로 장치가 클러스터에 구성되기 전에 이 단계를 수행할 수 있습니다. 그러면 펜스 장치가 계속하기 전에 올바르게 응답하는지 확인할 수 있습니다.

    참고

    이 예에서는 iLO 장치에 fence_ip extensionan 펜스 에이전트 스크립트를 사용합니다. 사용할 실제 펜스 에이전트와 해당 에이전트를 호출하는 명령은 서버 하드웨어에 의존합니다. 사용할 펜스 에이전트의 도움말 페이지를 참조하여 지정할 옵션을 결정해야 합니다. 일반적으로 펜스 장치의 로그인 및 암호와 펜스 장치와 관련된 기타 정보를 알아야 합니다.

    다음 예제에서는 실제로 펜싱하지 않고 다른 노드에서 펜스 장치 인터페이스의 상태를 확인하기 위해 -o status 매개 변수로 fence_ipmilan 펜스 에이전트 스크립트를 실행하는 데 사용하는 형식을 보여줍니다. 이렇게 하면 노드를 재부팅하기 전에 장치를 테스트하고 작동하도록 할 수 있습니다. 이 명령을 실행하는 경우 iLO 장치의 전원을 켜거나 끄는 권한이 있는 iLO 사용자의 이름과 암호를 지정합니다.

    # fence_ipmilan -a ipaddress -l username -p password -o status

    다음 예제에서는 -o reboot 매개 변수를 사용하여 fence_ipmilan 펜스 에이전트 스크립트를 실행하는 데 사용할 형식을 보여줍니다. 한 노드에서 이 명령을 실행하면 이 iLO 장치에서 관리하는 노드가 재부팅됩니다.

    # fence_ipmilan -a ipaddress -l username -p password -o reboot

    펜스 에이전트에서 상태, off, on 또는 reboot 작업을 제대로 수행하지 못한 경우 하드웨어, 펜스 장치의 구성 및 명령 구문을 확인해야 합니다. 또한 디버그 출력이 활성화된 상태에서 펜스 에이전트 스크립트를 실행할 수 있습니다. 디버그 출력은 펜스 장치에 로그인할 때 일부 펜싱 에이전트에서 펜싱 에이전트 스크립트가 실패하는 이벤트 시퀀스를 확인하는 데 유용합니다.

    # fence_ipmilan -a ipaddress -l username -p password -o status -D /tmp/$(hostname)-fence_agent.debug

    발생한 오류를 진단할 때 펜스 장치에 수동으로 로그인할 때 지정한 옵션이 펜스 에이전트 스크립트를 사용하여 펜스 에이전트에 전달한 항목과 동일하게 해야 합니다.

    암호화된 연결을 지원하는 펜스 에이전트의 경우 인증서 검증 실패로 인해 오류가 표시될 수 있으며 호스트를 신뢰하거나 펜스 에이전트의 ssl-insecure 매개 변수를 사용해야 합니다. 마찬가지로 대상 장치에서 SSL/TLS가 비활성화된 경우 펜스 에이전트에 대한 SSL 매개 변수를 설정할 때 이 문제를 고려해야 할 수 있습니다.

    참고

    테스트 중인 펜스 에이전트가 fence_drac,fence_ilo 또는 계속 실패하는 시스템 관리 장치의 기타 펜싱 에이전트인 경우 fence_ipmilan을 시도하는 것으로 대체됩니다. 대부분의 시스템 관리 카드는 IPMI 원격 로그인을 지원하며 지원되는 유일한 펜싱 에이전트는 fence_ipmilan 입니다.

  3. 수동으로 작동하고 클러스터가 시작된 것과 동일한 옵션으로 클러스터에 펜스 장치를 구성한 다음, 다음 예제와 같이 모든 노드에서 pcs stonith fence 명령을 사용하여 펜싱을 테스트합니다. pcs stonith fence 명령은 CIB에서 클러스터 구성을 읽고 펜스 작업을 실행하도록 구성된 대로 펜스 에이전트를 호출합니다. 그러면 클러스터 구성이 올바른지 확인합니다.

    # pcs stonith fence node_name

    pcs stonith fence 명령이 제대로 작동하는 경우 펜스 이벤트가 발생할 때 클러스터의 펜싱 구성이 작동해야 합니다. 명령이 실패하면 클러스터 관리가 검색한 구성을 통해 펜스 장치를 호출할 수 없음을 의미합니다. 다음 문제를 확인하고 필요에 따라 클러스터 구성을 업데이트합니다.

    • 펜스 구성을 확인합니다. 예를 들어 호스트 맵을 사용한 경우 시스템에서 제공한 호스트 이름을 사용하여 노드를 찾을 수 있는지 확인해야 합니다.
    • 장치의 암호와 사용자 이름에 bash 쉘에서 잘못 해석할 수 있는 특수 문자가 포함되어 있는지 확인합니다. 따옴표로 묶인 암호와 사용자 이름을 입력하면 이 문제를 해결할 수 있습니다.
    • pcs stonith 명령에 지정한 정확한 IP 주소 또는 호스트 이름을 사용하여 장치에 연결할 수 있는지 확인합니다. 예를 들어 stonith 명령에 호스트 이름을 지정하지만 유효한 테스트가 아닌 IP 주소를 사용하여 테스트합니다.
    • 펜스 장치에서 사용하는 프로토콜에 액세스할 수 있는 경우 해당 프로토콜을 사용하여 장치에 연결합니다. 예를 들어 대부분의 에이전트는 ssh 또는 telnet을 사용합니다. 장치를 구성할 때 제공한 자격 증명을 사용하여 장치에 연결해 유효한 프롬프트가 표시되고 장치에 로그인할 수 있는지 확인해야 합니다.

      모든 매개 변수가 적절한지 결정하지만 펜스 장치에 연결하는 데 문제가 있는 경우, 장치에서 사용자가 연결했는지 여부와 사용자가 발행한 명령을 표시하는 해당 매개 변수를 제공하는 경우 펜스 장치 자체에서 로깅을 확인할 수 있습니다. 또한 /var/log/messages 파일에서 stonith 및 error의 인스턴스를 검색할 수도 있습니다. 이 인스턴스는 전송되는 내용에 대해 어느 정도 아이디어를 줄 수 있지만 일부 에이전트는 추가 정보를 제공할 수 있습니다.

  4. 펜스 장치 테스트가 작동하고 클러스터가 실행되면 실제 오류를 테스트합니다. 이렇게 하려면 토큰 손실을 초기화해야 하는 클러스터에서 작업을 수행합니다.

    • 네트워크를 중단합니다. 네트워크를 생성하는 방법은 특정 구성에 따라 다릅니다. 대부분의 경우 호스트에서 네트워크 또는 전원 케이블을 물리적으로 끌 수 있습니다. 네트워크 장애 시뮬레이션에 대한 자세한 내용은 RHEL 클러스터에서 네트워크 오류를 시뮬레이션하는 적절한 방법은 무엇입니까?

      참고

      네트워크 또는 전원 케이블의 물리적 연결을 해제하는 대신 로컬 호스트에서 네트워크 인터페이스를 비활성화하는 것은 일반적인 실제 실패를 정확하게 시뮬레이션하지 않으므로 펜싱 테스트로 권장되지 않습니다.

    • 로컬 방화벽을 사용하여 인바운드와 아웃바운드를 모두 corosync 트래픽을 차단합니다.

      기본 corosync 포트가 사용되었다고 가정하면 다음 예제 corosync 블록은 로컬 방화벽으로 사용되며 corosync에서 사용하는 네트워크 인터페이스는 기본 방화벽 영역에 있습니다.

      # firewall-cmd --direct --add-rule ipv4 filter OUTPUT 2 -p udp --dport=5405 -j DROP
      # firewall-cmd --add-rich-rule='rule family="ipv4" port port="5405" protocol="udp" drop
    • sysrq-trigger 를 사용하여 크래시를 시뮬레이션하고 시스템을 패닉합니다. 그러나 커널 패닉을 트리거하면 데이터가 손실될 수 있습니다. 먼저 클러스터 리소스를 비활성화하는 것이 좋습니다.

      # echo c > /proc/sysrq-trigger
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.