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 배포의 모든 사전 요구 사항을 확인하십시오. See Configuring HA for Azure vSockets and Deploying Azure vSockets from the Marketplace

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개