미리 정의된 런북(Runbook) 외에도 ODS(온라인 진단 시스템) 기능은 런타임 시 NSX를 디버깅하기 위한 동적 런북(Runbook)도 지원합니다.

동적 런북(Runbook)은 NSX 릴리스에 종속되지 않으며 언제든지 설치할 수 있습니다. 동적 런북(Runbook)은 다음 문제를 해결합니다.

  • 미리 정의된 런북(Runbook)의 개발 및 유지 보수가 NSX 릴리스 주기를 따르기 때문에 릴리스 주기 사이에 라이브 사이트에서 나타나는 문제를 디버깅할 수 없게 됩니다. 동적 런북(Runbook)을 사용하면 언제든지 동적 런북(Runbook)을 개발하고 설치할 수 있으므로 릴리스 주기 사이에 디버깅 요구를 충족할 수 있습니다.
  • NSX를 부분적으로 업그레이드하는 경우 런북(Runbook)과 이를 호출하는 API 간에 비호환성이 있을 수 있습니다. 예를 들어 UA(Unified Appliance)를 업그레이드하지 않고 전송 노드를 업그레이드하면 전송 노드에 새 버전의 런북(Runbook)이 설치됩니다. 이 경우 API가 오래되었을 수 있으므로 UA가 이전 API를 사용하여 최신 버전의 런북(Runbook)을 호출하지 못할 수 있습니다.

VMware 팀만 동적 런북(Runbook)을 생성할 수 있으며 사용자는 이러한 런북(Runbook)을 다운로드하여 시스템에 설치할 수 있습니다. 런북(Runbook)은 데이터 백업 및 복원을 지원하지 않습니다.

동적 런북(Runbook)을 설치하려면 동적 런북(Runbook) 인스턴스라는 그룹을 정의해야 합니다. 동적 런북(Runbook) 인스턴스는 런북(Runbook)을 설치할 모든 설치 노드 그룹을 정의합니다. 새 노드가 그룹에 추가되면 런북(Runbook)이 새 노드에 자동으로 설치됩니다.

NSX 4.2에서는 다음 런북(Runbook)을 다운로드할 수 있습니다. 런북(Runbook)에 대한 자세한 정보를 보려면 다음 VMware 사이트 https://support.broadcom.com/group/ecx/downloads에서 패키지를 다운로드합니다.

표 1.
런북(runbook) 설명
Hyperbus 런북(Runbook)

동적 Hyperbus 런북(Runbook)은 다음과 같은 Hyperbus 문제를 확인하고 업데이트 적용 제안을 제공할 수 있습니다.

  • Hyperbus 연결
  • Hyperbus 연결 구성
  • vmknic
  • Hyperbus 연결 상태

이 런북(runbook)은 vif-id를 입력 인수로 사용합니다.

동적 런북(Runbook)을 설치하려면 다음 단계를 수행하십시오.

사전 요구 사항

VMware 사이트 https://support.broadcom.com/group/ecx/downloads에서 동적 패키지를 다운로드합니다.

프로시저

  1. 설치 노드 그룹에 포함할 전송 노드의 경로를 가져옵니다.
    GET https://10.180.85.179/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes
  2. 설치 노드 그룹을 생성합니다. 그룹은 정책 그룹, 전송 노드 그룹 또는 UA 노드 그룹일 수 있습니다.
    PATCH https://<nsx-mgr>/policy/api/v1/infra/domains/default/groups/<group-name>
    {
        "expression": 
       [
            {
                "paths": [
                    "/infra/sites/default/enforcement-points/default/host-transport-nodes/TN1"
                ],
                "resource_type": "PathExpression"
            }
        ],
        "extended_expression": [],
        "reference": false,
        "group_type": [],
        "resource_type": "Group"
    }
    
  3. 모든 설치 노드 그룹을 포함하는 동적 런북(Runbook) 인스턴스를 생성합니다.
    POST https://{{MANAGER_IP}}/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>
    {
        "applied_to_group_paths": [
            "/infra/domains/default/groups/TNGroup1"  [Policy Group with node path]
        ],
        "applied_to_nodes": [
            "1e6314a2-a268-4a3a-bcae-4f23b2536ea8"  [The node id can be a host/edge/UA node id]
        ],
        "applied_to_all_appliances": true   [All UA cluster]
    }
    
  4. 런북(Runbook) 패키지를 동적 런북(Runbook) 인스턴스에 업로드합니다.
    POST https://{{MANAGER_IP}}/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>/file
    동적 런북(Runbook) 데이터는 이 그룹이 지정한 대상 노드에 적용됩니다.
  5. 설치 상태를 쿼리합니다.
    GET https://10.180.85.179/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>/state
    {
        "runbook_name": "Example",
        "management_state": "INSTALL_FINISHED",
        "install_state": [
            {
                "node_id": "084583fa-3ae7-4d0c-98f1-6fc4cb5044b1",
                "node_name": "TN301",
                "version": {
                    "major": 1,
                    "minor": 0
                },
                "status": "INSTALL_FINISHED"
            }
    }
    
  6. 다음 API를 사용하여 설치된 런북(Runbook)의 세부 정보를 확인합니다.
    GET https://{{MANAGER_IP}}/policy/api/v1/infra/sha/dynamic-runbooks
  7. 런타임에 NSX 디버깅 항목에 언급된 단계를 사용하여 런북(Runbook)을 호출합니다.

다음에 수행할 작업

동적 런북(Runbook) 인스턴스를 추가 노드로 확장하려면 다음 API를 실행합니다.

PATCH https://10.180.85.179/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>
{
"applied_to_group_paths":["/infra/domains/default/groups/<tn-group-name>"],
"applied_to_nodes":["<target-edge-id>","<target-ua-id>"]
}

런북(Runbook)을 제거하려면 다음 API를 실행합니다.

DELETE https://10.180.85.179/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>/file

동적 런북(Runbook) 인스턴스를 제거하려면 다음 API를 실행합니다.

DELETE https://10.180.85.179/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>