9.4. 示例 2 - 镜像到 OpenStack 中的虚拟机
您可以从专用网络上的一个虚拟机进行镜像,并查看不同网络上的 OpenStack 虚拟机上的镜像。
您可以指定 ERSPAN 或 GRE 隧道。本例使用 GRE。
您必须为每个镜像端口创建单独的TAP 镜像。
先决条件
- TAPaaS 已配置且已启用。
- 在工作站上安装了 oc 命令行工具。
-
以具有
cluster-admin权限的用户身份登录到可访问 RHOSO 控制平面的工作站。 - 在 openstack 命名空间中部署了 OpenStackControlPlane 资源。
- 目标(monitoring)和源(monitored) neutron 端口的 ID。
- 源和目标实例正在运行。
流程
访问客户端 pod:
$ oc rsh openstackclient检索源端口 ID。
$ openstack port list --server vm1 -c ID输出类似于以下示例。
+--------------------------------------+ | ID | +--------------------------------------+ | a7dc39fd-b299-464b-bb29-94ba4cd3dffa | +--------------------------------------+在 OpenStack 中创建目标虚拟机,并确保可以从镜像的虚拟机网络访问目标虚拟机 IP。此外,确保目的地虚拟机允许 GRE 流量。
以下是允许入口 GRE (协议号 47)流量)的安全组规则示例:
$ openstack security group rule create --ingress --protocol 47 <security group of the destination VM>使用源虚拟机端口 id (第 1 步)创建TAP 镜像,并将镜像指向目标虚拟机的 IP。
例如,在这种情况下,目标虚拟机 IP 为 192.168.122.192。以下示例为 egress (OUT)流量创建一个名为
my_mirror_2的镜像。镜像的流量使用 gre 标头封装,标签为 103,以将流量镜像到远程 IP 地址 192.168.122.192 (目标虚拟机)$ openstack tap mirror create \ --name my_mirror_2 \ --directions OUT=103 \ --remote-ip 192.168.122.192 \ --mirror-type gre \ --port a7dc39fd-b299-464b-bb29-94ba4cd3dffa
验证
- 登录目标实例。
在目标实例上运行
tcpdump工具,以确认接收已镜像的数据包。在这个示例中,tcpdump 会显示一个更详细的输出。$ tcpdump -envi eth0 proto 47