Red Hat Training

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

第 4 章 监控 OVN

您可以使用 ovn-trace 命令来监控 OVN 逻辑流并进行故障排除,您可以使用 ovs-ofctl dump-flows 命令来监控并进行故障排除 OpenFlows。

4.1. 为 OVN 故障排除命令创建别名

OVN 数据库命令(如 ovn-nbctl show)在 ovn_controller 容器上运行。容器在控制器节点和计算节点上运行。为简化您对命令的访问,可创建和提供定义别名的脚本。

前提条件

  • 部署带有 ML2/OVN 的 Red Hat OpenStack Platform 13 作为机制驱动程序。

创建和使用 OVN 数据库命令别名

  1. 在您要运行 ovn 命令的 overcloud 节点上,在适当的目录中创建 shell 脚本文件。例如,以 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. 验证别名。例如,显示北向数据库。

    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"]