Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

4장. OVN 모니터링

ovn-trace 명령을 사용하여 OVN 논리 흐름을 모니터링하고 문제를 해결할 수 있으며 ovs-ofctl dump-flows 명령을 사용하여 OpenFlow를 모니터링하고 문제를 해결할 수 있습니다.

4.1. OVN 문제 해결 명령에 대한 별칭 생성

OVN 데이터베이스 명령(예: ovn-nbctl show)은 ovn_controller 컨테이너에서 실행됩니다. 컨테이너는 컨트롤러 노드 및 계산 노드에서 실행됩니다. 명령에 대한 액세스를 단순화하려면 별칭을 정의하는 스크립트를 생성하고 소싱합니다.

사전 요구 사항

  • ML2/OVN을 메커니즘 드라이버로 사용하여 Red Hat OpenStack Platform 13 배포.

OVN 데이터베이스 명령 별칭 생성 및 사용

  1. ovn 명령을 실행할 오버클라우드 노드의 적절한 디렉터리에 쉘 스크립트 파일을 생성합니다. 예를 들어 controller 노드에 heat-admin으로 로그인하고 heat-admin 사용자의 ~/bin 디렉터리에 ovn-alias.sh 파일을 생성합니다.
  2. 스크립트 파일에 다음 명령을 저장합니다.

    EXTERNAL_ID=\
    $(sudo ovs-vsctl get open . external_ids:ovn-remote | awk -F: '{print $2}')
    export NBDB=tcp:${EXTERNAL_ID}:6641
    export SBDB=tcp:${EXTERNAL_ID}:6642
    
    alias ovn-sbctl="sudo docker exec ovn_controller ovn-sbctl --db=$SBDB"
    alias ovn-nbctl="sudo docker exec ovn_controller ovn-nbctl --db=$NBDB"
    alias ovn-trace="sudo docker exec ovn_controller ovn-trace --db=$SBDB"
  3. 스크립트 파일을 가져옵니다. 예를 들어 컨트롤러 노드에 heat-admin으로 로그인하고 다음 명령을 실행합니다.

    # source ovn-alias.sh
  4. 별칭의 유효성을 검사합니다. 예를 들어 northbound 데이터베이스를 표시합니다.

    ovn-nbctl show

    출력 예

    switch 26ce22db-1795-41bd-b561-9827cbd81778 (neutron-f8e79863-6c58-43d0-8f7d-8ec4a423e13b) (aka internal_network)
    	port 1913c3ae-8475-4b60-a479-df7bcce8d9c8
        	addresses: ["fa:16:3e:33:c1:fc 192.168.254.76"]
    	port 1aabaee3-b944-4da2-bf0a-573215d3f3d9
        	addresses: ["fa:16:3e:16:cb:ce 192.168.254.74"]
    	port 7e000980-59f9-4a0f-b76a-4fdf4e86f27b
        	type: localport
        	addresses: ["fa:16:3e:c9:30:ed 192.168.254.2"]