Azure HA vSocket 문제 해결

개요

이 문서는 일반적인 Azure vSocket HA 배포 문제에 대한 통찰력을 제공하고 문제를 해결하기 위한 문제 해결 단계를 제공합니다. 이 안내서는 HA 솔루션을 HA 스크립트 또는 마켓플레이스를 통해 배포할 때 및 이후에 발생할 수 있는 잠재적 장애를 식별하고 해결하는 데 도움이 되도록 설계되었습니다.

증상

Azure vSocket HA를 배포하는 동안 다음 증상이 나타날 수 있습니다:

  • HA 스크립트 실패
    • 수동 배포에서 create_ha_settings 스크립트를 실행하는 데 실패.
    • 마켓플레이스를 통해 보조 vSocket 배포 시 문제.
  • HA 전환 실패
    • 소켓 웹UI에서 HA API 테스트 실패.
    • HA 전환 실패로 인해 트래픽이 보조 vSocket으로 전달되지 않음.
  • HA 상태 준비되지 않음
    • CMA가 사이트의 HA 상태를 준비되지 않음으로 표시함

가능한 원인

HA 배포 실패의 가장 빈번한 원인에는 다음이 포함됩니다:

  • Azure에서 비공개 DNS 사용.
  • 인터넷에 접근할 수 없는 관리 인터페이스.
  • Azure 계정 권한 부족.
  • Azure에서 제한된 보안 그룹 및 라우팅 설정.
  • 유동 IP 주소를 LAN 인터페이스에 할당하지 못함.
  • LAN 연결 문제.

문제 해결

중요

중요: 문제 해결을 시작하기 전에 Azure HA vSocket 배포의 모든 사전 요구 사항을 확인하십시오. Azure vSockets에 대한 고가용성(HA) 구성마켓플레이스를 통해 Azure vSockets 배포를 참조하십시오

HA 스크립트 실패 문제 해결

Azure HA 스크립트(create_ha_settings) 및 마켓플레이스를 통한 보조 vSocket 배포는 Azure 구독이 두 개의 유효한 vSocket을 보유하고 있음을 확인한 후 HA 및 전환 메커니즘을 생성하는 역할을 할당합니다. 스크립트 실행에 실패한 경우 다음 문제 해결 단계를 따르십시오:

활동 로그 확인

  • Azure에서 활동 로그는 각 Azure 자원 내에서 발생한 모든 이벤트를 저장합니다. 배포가 성공적이지 않고 역할 중 하나가 할당되지 않은 경우 이 로그를 검토하십시오. VM 또는 NIC로 이동하여 활동 로그를 선택하십시오

Azure 명명 제한 확인 

  • 스크립트에서 vSocket 이름을 입력할 때 명명 규칙 및 제한사항에 설명된 대로 이름에 공백이나 제한된 문자가 포함되지 않도록 하십시오.
  • 배포 중 명명 문제가 발생하면 오류 로그에 다음 오류가 표시됩니다
    매개 변수 disk.name의 값이 잘못되었습니다. (코드: InvalidParameter, 대상: disk.name)

Azure DNS 구성 확인

  • 기본 Azure DNS가 VNET과 관련된 NIC 모두에 대해 구성되었는지 확인하십시오. 기본 DNS가 Azure의 VNET과 NIC에 구성되지 않은 경우 역할 생성이 실패합니다.
  • Azure DNS 구성이 무엇인지 확인하려면, 다음을 참조하십시오 DNS 구성 문제 해결

Azure 권한 확인

  • HA 스크립트를 성공적으로 실행하려면 Azure 사용자가 소유자 권한을 가지고 있는지 확인하세요. 리소스 그룹 > 접근 제어 IAM > 내 접근 보기로 이동하여 사용자 계정이 소유자 이상으로 설정되었는지 확인하세요. Azure 기본 제공 역할을 참조하세요.


Azure 역할 할당 검증 

  • 리소스 그룹에 나열된 신원 역할이 LAN NIC, LAN 서브넷 및 두 vSocket VM에 할당되어 있는지 확인하려면 Azure 역할 할당 검증에 제공된 단계 를 실행하십시오.

HA 스크립트 재실행

  • 마지막 수단으로, 이전 단계가 확인되면 HA 스크립트(create_ha_settings)를 다시 실행할 수 있습니다.
  • Azure 토큰을 갱신하고 첫 번째 스크립트 실행 동안 생성된 Azure 관리 신원을 제거하는 것을 잊지 마세요.

 

HA 페일오버 실패 해결

HA 스크립트가 성공적으로 실행되었으나 vSocket HA 페일오버가 예상대로 발생하지 않는 경우(예: 트래픽이 보조 vSocket으로 라우팅되지 않음), 다음 단계를 따르세요:

HA API 테스트 실행

  • vSocket 웹UI에서 두 vSocket에서 API 테스트 도구를 실행하여 Azure에 대한 API 호출이 성공적으로 이루어질 수 있는지 검증합니다. 여기에서 권한 또는 플로팅 IP 할당과 관련된 오류를 볼 수 있습니다.

활동 로그 점검

  • Azure에서는 활동 로그에 각 Azure 리소스 내에서 발생한 모든 이벤트가 저장됩니다. 플로팅 IP가 LAN NIC에 푸시되지 않았는지 아니면 API 테스트가 성공하지 못했는지를 확인하기 위해 이러한 로그를 검토하세요. NIC으로 이동하여 활동 로그를 선택합니다

플로팅 IP 핑 테스트

  • vSocket 웹UI에서 Ping 도구를 사용하여 LAN 인터페이스를 선택한 후 플로팅 IP 주소로 핑을 수행합니다. 이 테스트가 성공하지 못하면 플로팅 IP 할당 검증을 계속하십시오

플로팅 IP 할당 검증

  • 트래픽을 마스터 vSocket으로 라우팅하기 위해 Azure는 현재 마스터 vSocket의 LAN NIC에 플로팅 IP를 할당합니다. 주 vSocket VM LAN NIC > IP 설정 으로 이동하여 플로팅 IP가 "보조"로 존재하는지 확인하세요. 그렇지 않다면 다음 단계를 계속합니다.

Azure 역할 할당 검증 

  • Azure vSocket 배포 중에 HA 신원 역할이 생성되어 Azure 관리 ID에 저장됩니다
  • 각 리소스에는 하나의 사용자 할당 역할만 할당되어야 합니다. Azure에서 시스템 할당 신원을 추가하는 정책이 있을 경우, vSocket은 제외되어야 합니다.
  • 이 역할은 vSocket에 연결된 다양한 가상 리소스에 할당됩니다. Azure 인프라에서 이 역할을 사용하는 구성 요소는 다음과 같습니다:

    • 각 vSocket에 대한 LAN 네트워크 인터페이스(NIC)
    • LAN NIC와 연결된 LAN 서브넷
    • 두 vSocket VM 모두
  • NIC에 대한 역할 할당은 접근 제어 > 역할 할당에서 확인할 수 있으며, 기본 및 보조 LAN NIC 모두에 할당되어야 합니다.
  • 서브넷에 대한 역할 할당은 VNET > 서브넷 에서 확인할 수 있으며, LAN 서브넷을 선택한 후 사용자 관리 > 역할 할당을 클릭하십시오
  • 각 vSocket VM에 대해 신원 역할은 아래 스크린샷에서 볼 수 있듯이 보안 > 신원 > 사용자 할당 에서 확인할 수 있습니다. 어떠한 시스템 할당 역할도 VM에 할당되지 않아야 합니다.
  • 위의 자원 중 어떤 것에도 HA 신원 역할이 설치되지 않은 경우, 배포 프로세스에서 실패했을 수 있습니다. 어떤 관련 자원에서라도 역할이 누락된 경우, 카토 HA 스크립트를 한 번 더 실행할 수 있습니다. 대안으로, 보조 Azure vSocket을 재배포할 수 있으며, 이는 누락된 HA 신원 역할을 설치할 것입니다.

관리 인터페이스가 DNS 및 인터넷에 액세스할 수 있는지 확인하십시오

  • 관리 인터페이스가 인터넷에 액세스할 수 있고 구성된 DNS 서버에 연결할 수 있는지 확인하십시오.
  • Azure 포털에서 management.azure.com에 대한 DNS 해석을 확인하십시오. HA API 호출은 이 FQDN를 사용합니다.

    • 가상 머신 > vSocket > 명령 실행 > RunShellScript로 이동하십시오
    • 텍스트 상자에 dig management.azure.com을 입력하십시오
    • 실행 클릭
  • dig 출력은 DNS 응답과 함께 포털에 표시됩니다.

  • DNS 해석이 없는 경우, DNS 구성 문제 해결을 참조하십시오.
  • 동일한 페이지에서 인터넷 자원에 접근하여 인터넷 액세스를 확인해보세요. 예를 들어, ping -c 4 8.8.8.8 핑이 성공하지 않으면 다음 단계로 계속 진행하십시오.

네트워크 보안 그룹이 아웃바운드 트래픽을 차단하고 있는지 확인하세요.

참고

참고: vSockets에 2-NIC 솔루션을 구현한 경우. WAN 인터페이스에서 이 문제 해결 단계를 수행하세요.

  • 빠르게 확인하는 방법은 Azure의 MGMT 네트워크 인터페이스로 이동하여 화면 왼쪽 하단에 있는 "유효한 보안 규칙"을 클릭하는 것입니다.
  • 아래 스크린샷은 할당된 NSG가 없어 아웃바운드 트래픽이 차단되지 않음을 보여줍니다.

인터넷 트래픽에 대한 MGMT 인터페이스 라우팅을 확인하십시오.

참고

참고: vSockets에 2-NIC 솔루션을 구현한 경우. WAN 인터페이스에서 이 문제 해결 단계를 수행하세요.

  • MGMT 인터페이스 트래픽이 Azure의 서드파티 방화벽을 경유하여 라우팅되는 경우, UDP/53 및 TCP/443 아웃바운드 연결이 허용되는지 확인하세요.
  • Azure의 관리 인터페이스 페이지에서 "유효한 경로" 옵션을 클릭하여 라우트 테이블을 검토할 수 있습니다.
  • 아래 스크린샷은 "다음 홉 유형"으로 인터넷을 사용하여 인터넷 트래픽에 대한 경로를 보여주며, 이로 인해 방화벽이 트래픽을 차단하지 않음을 나타냅니다.

라우팅 테이블의 다음 홉 확인 중

  • LAN 라우팅 테이블이 플로팅 IP를 가리키고 있는지 확인합니다. 필요한 경우 다음 홉 IP 주소를 변경합니다.

HA 상태 준비되지 않음 문제 해결

CMA가 HA 상태를 준비되지 않음으로 표시하고 두 vSocket이 실행 중인 경우, 둘 다 마스터 역할을 맡게 됩니다 (스플릿 브레인 시나리오). 연관된 문제가 두 가지 있을 수 있습니다:

  • 두 vSocket이 다른 펌웨어 버전을 실행 중입니다
  • HA 킵얼라이브 메시지가 보조 vSocket에 도달하지 않습니다

각 vSocket의 HA 상태를 확인하려면 두 vSocket의 WebUI 페이지를 확인하는 것이 좋습니다. 기본 및 보조 vSocket 모두 마스터 역할을 이행하면 스플릿 브레인 시나리오가 나타납니다. WebUI는 메인 모니터링 페이지 상단에 현재 역할을 표시합니다.

펌웨어 버전 확인

호환 버전 기준을 충족하려면 두 vSocket이 동일한 주 버전(예: v17.xx.yy 또는 v18.xx.yy)을 실행해야 합니다. vSocket은 처음 배포된 후 초기 업그레이드를 수행합니다. vSocket 중 하나가 업그레이드에 실패하면 이 문제를 해결해야 합니다. 해당 문제를 보고하려면 지원 티켓을 제출하십시오.

HA 킵얼라이브 검사

킵얼라이브 패킷은 Azure vSocket에 대해 포트 UDP/20480을 사용하고, 마스터 vSocket에서 대기 vSocket으로만 전송됩니다. 두 vSocket이 마스터 역할을 가지면 스플릿 브레인 상태가 발생합니다. 이는 HA 킵얼라이브 메시지가 보조 vSocket에 도달하지 않는 LAN 연결 문제로 인해 발생할 수 있습니다. 

LAN 연결성을 확인하려면 다음 검사를 실행하십시오:

  • 네트워크 보안 그룹이 포트 UDP/20480을 차단하고 있는지 확인합니다. NSG 규칙을 빠르게 확인하는 방법은 Azure에서 각 LAN 네트워크 인터페이스로 이동한 후 화면 왼쪽 하단의 "유효한 보안 규칙"을 클릭하는 것입니다.
  • 두 LAN 인터페이스가 동일한 LAN 서브넷과 연관되어 있는지 확인합니다.
  • 주와 보조 vSocket의 WebUI에서 패킷 캡처를 실행하고, 기본 vSocket에서 전송한 킵얼라이브 메시지가 보조 vSocket에 수신되는지 확인합니다.

발견된 문제 해결

Azure 토큰 갱신

  • Azure Cloud Shell을 사용하여 HA 스크립트를 배포하는 경우, 새 세션을 열고 다시 인증하세요. 이렇게 하면 API 쿼리에 사용되는 토큰이 갱신됩니다.

DNS 구성 문제 해결

  • Azure DNS 구성을 수정하고 기본값으로 설정하려면 가상 네트워크 > DNS 서버 및 네트워크 인터페이스 > DNS 서버로 이동하여 기본 옵션 또는 공용 DNS 서버를 사용하는지 확인합니다. DNS 관련 변경을 위해 VM을 종료한 후 다시 켜십시오.

Azure vSocket 등록 취소 및 재배포

  • 위의 모든 문제 해결 단계를 따라도 HA 스크립트 또는 HA 페일오버가 계속 실패하면, 한 쪽 또는 두 vSocket의 등록을 취소하고 다시 배포하는 것이 가능합니다. 고가용성 vSocket 사이트 재배포를 참조하십시오
  • vSocket을 재배포하기 전에 가이드라인을 따르고 가상 머신, 네트워크 인터페이스, 관련 공용 IP, 관리되는 신원을 제거하는 것이 중요합니다.
  • 기본 vSocket 인스턴스만 재배포된 경우, HA를 위해 두 vSocket 인스턴스를 바인딩하려면 전용 HA 스크립트(create_ha_settings)를 실행해야 합니다.

 

카토 지원에 문의

위의 문제 해결 단계 결과와 함께 지원 티켓을 제출하세요. 티켓에 다음 정보를 포함하세요:

  • 오류 메시지를 포함한 문제의 명확한 설명.
  • management.azure.com의 DNS 테스트 결과
  • API 테스트 결과.
  • 할당된 플로팅 IP 및 활성화된 신원 역할의 스크린샷.
  • 발견된 오류를 포함한 Azure 활동 로그 스크린샷.

 

도움이 되었습니까?

3명 중 2명이 도움이 되었다고 했습니다.

댓글 0개