标签:serve name dhcp tns bdc work 另一个 发送数据 交换
这个架构示例通过分布式虚拟路由器(DVR)高可用性机制扩展了自助服务部署示例,该机制在计算节点(而不是特定场景的网络节点)上提供self-service和Provider网络之间的连接。对于具有浮动IPv4地址的实例,self-service和Provider网络之间的路由完全驻留在计算节点上,以消除网络节点的单点故障和性能问题。
对于在同一分布式虚拟路由器上使用自助网络的固定或浮动IPv4地址的实例,路由也完全驻留在计算节点上。
但是,具有固定IP地址的实例仍然依赖于网络节点在self-service和Provider网络之间进行路由和SNAT服务。
请考虑此高可用性机制的以下属性, 以确定您的环境中的实用性:
1.如果实例位于具有浮动IPv4地址的self-service网络上,则仅通过实例所在的计算节点提供到实例的连接。
2.仅具有IPv6地址或同时具有IPv4和IPv6地址的self-service网络上的实例依赖于网络节点进行IPv6连接。
3.每个计算节点上的路由器的实例在其包含网关的提供商网络上消耗IPv4地址。 #这个暂时理解不了
使用以下组件修改计算节点:
安装openstack 网络3层代理
注意:
考虑添加至少一个额外的网络节点,为具有固定IP地址的实例提供高可用性。有关更多信息,请参阅带有VRRP的分布式虚拟路由。
架构:
下图显示了一个self-service网络和一个未标记(Flat)网络的组件和连接性。在这种情况下,实例与网络的DHCP代理驻留在同一个计算节点上。
如果DHCP代理驻留在另一个计算节点上,后者只包含一个带有OVS集成网桥上端口的DHCP名称空间。
使用以下示例配置作为模板,将对使用DVR的高可用性的支持添加到支持self-service网络的现有操作环境中。
1.编辑neutron.conf文件:
默认情况下为所有路由器启用分布式路由。
[DEFAULT]
router_distributed = True
重启neutron-server服务
在openswitch_agent.ini下启用分发路由
[DEFAULT]
enable_distributed_routing = True
在l3_agent.ini
文件下配置三层代理去提供SNAT服务
[DEFAULT]
agent_mode = dvr_snat
注意:
external_network_bridge选项故意不包含任何值。
重启Open vSwitch agent和Layer-3 agent服务
1.安装网络服务3层代理
2.在openswitch_agent.ini
下启用分发路由
[DEFAULT]
enable_distributed_routing = True
3.在l3_agent.ini
下配置3层代理
[DEFAULT] interface_driver = openvswitch external_network_bridge = agent_mode = dvr
注意:
external_network_bridge选项故意不包含任何值。
重启Open vSwitch agent和Layer-3 agent服务
1.获取管理项目证书。
2.验证代理的存在和操作。
$ openstack network agent list +--------------------------------------+--------------------+----------+-------------------+-------+-------+---------------------------+ | ID | Agent Type | Host | Availability Zone | Alive | State | Binary | +--------------------------------------+--------------------+----------+-------------------+-------+-------+---------------------------+ | 05d980f2-a4fc-4815-91e7-a7f7e118c0db | L3 agent | compute1 | nova | True | UP | neutron-l3-agent | | 1236bbcb-e0ba-48a9-80fc-81202ca4fa51 | Metadata agent | compute2 | | True | UP | neutron-metadata-agent | | 2a2e9a90-51b8-4163-a7d6-3e199ba2374b | L3 agent | compute2 | nova | True | UP | neutron-l3-agent | | 457d6898-b373-4bb3-b41f-59345dcfb5c5 | Open vSwitch agent | compute2 | | True | UP | neutron-openvswitch-agent | | 513caa68-0391-4e53-a530-082e2c23e819 | Linux bridge agent | compute1 | | True | UP | neutron-linuxbridge-agent | | 71f15e84-bc47-4c2a-b9fb-317840b2d753 | DHCP agent | compute2 | nova | True | UP | neutron-dhcp-agent | | 8805b962-de95-4e40-bdc2-7a0add7521e8 | L3 agent | network1 | nova | True | UP | neutron-l3-agent | | a33cac5a-0266-48f6-9cac-4cef4f8b0358 | Open vSwitch agent | network1 | | True | UP | neutron-openvswitch-agent | | a6c69690-e7f7-4e56-9831-1282753e5007 | Metadata agent | compute1 | | True | UP | neutron-metadata-agent | | af11f22f-a9f4-404f-9fd8-cd7ad55c0f68 | DHCP agent | compute1 | nova | True | UP | neutron-dhcp-agent | | bcfc977b-ec0e-4ba9-be62-9489b4b0e6f1 | Open vSwitch agent | compute1 | | True | UP | neutron-openvswitch-agent | +--------------------------------------+--------------------+----------+-------------------+-------+-------+---------------------------+
类似于self-service部署示例,此配置支持多个VXLAN自助服务网络。在启用高可用性之后,所有其他路由器都使用分布式路由。
下面的过程创建一个额外的自助网络和路由器。网络服务还支持向现有路由器添加分布式路由。
1.获取常规(非管理)项目证书。
2.创建一个self-service网络
$ openstack network create selfservice2 +-------------------------+--------------+ | Field | Value | +-------------------------+--------------+ | admin_state_up | UP | | mtu | 1450 | | name | selfservice2 | | port_security_enabled | True | | router:external | Internal | | shared | False | | status | ACTIVE | +-------------------------+--------------+
3.在self-service网络上创建IPv4子网。
openstack subnet create --subnet-range 192.0.2.0/24 --network selfservice2 --dns-nameserver 8.8.4.4 selfservice2-v4 +-------------------+---------------------------+ | Field | Value | +-------------------+---------------------------+ | allocation_pools | 192.0.2.2-192.0.2.254 | | cidr | 192.0.2.0/24 | | dns_nameservers | 8.8.4.4 | | enable_dhcp | True | | gateway_ip | 192.0.2.1 | | ip_version | 4 | | name | selfservice2-v4 | +-------------------+---------------------------+
4.在self-service网络上创建IPv6子网。
openstack subnet create --subnet-range fd00:192:0:2::/64 --ip-version 6 --ipv6-ra-mode slaac --ipv6-address-mode slaac --network selfservice2 --dns-nameserver 2001:4860:4860::8844 selfservice2-v6 +-------------------+------------------------------------------------------+ | Field | Value | +-------------------+------------------------------------------------------+ | allocation_pools | fd00:192:0:2::2-fd00:192:0:2:ffff:ffff:ffff:ffff | | cidr | fd00:192:0:2::/64 | | dns_nameservers | 2001:4860:4860::8844 | | enable_dhcp | True | | gateway_ip | fd00:192:0:2::1 | | ip_version | 6 | | ipv6_address_mode | slaac | | ipv6_ra_mode | slaac | | name | selfservice2-v6 | +-------------------+------------------------------------------------------+
5.创建一个路由器
openstack router create router2
+-----------------------+---------+
| Field | Value |
+-----------------------+---------+
| admin_state_up | UP |
| name | router2 |
| status | ACTIVE |
+-----------------------+---------+
6.在路由器上添加IPv4和IPv6子网作为接口。
$ openstack router add subnet router2 selfservice2-v4
$ openstack router add subnet router2 selfservice2-v6
7.添加provider网络作为路由器上的网关。
openstack router set router2 --external-gateway provider1
1.获取管理项目证书。
2.验证路由器上的分布式路由。
$ openstack router show router2
+-------------------------+---------+
| Field | Value |
+-------------------------+---------+
| admin_state_up | UP |
| distributed | True |
| ha | False |
| name | router2 |
| status | ACTIVE |
+-------------------------+---------+
3.在每个计算节点上,使用相同ID验证创建的qrouter名称空间。
# ip netns
qrouter-78d2f628-137c-4f26-a257-25fc20f203c1
4.在网络节点上,用相同的ID验证创建的snat和qrouter名称空间。
# ip netns snat-78d2f628-137c-4f26-a257-25fc20f203c1 qrouter-78d2f628-137c-4f26-a257-25fc20f203c1
5.在附加的self-service网络上使用一个接口启动实例。例如,使用flavor ID 1的CirrOS镜像:
openstack server create --flavor 1 --image cirros --nic net-id=NETWORK_ID selfservice-instance2
6.确定实例的IPv4和IPv6地址。
openstack server list
7.在Provider网络上创建一个浮动的IPv4地址。
$ openstack floating ip create provider1
8.将浮动的IPv4地址与实例关联起来。
openstack server add floating ip selfservice-instance2 203.0.113.17
9.在包含实例的计算节点上,验证fip名称空间的创建,其ID与提供者网络相同。
# ip netns
fip-4bfa3075-b4b2-4f7d-b88e-df1113942d43
以下部分描述了几种常见场景中的网络流量
南北网络流量在实例和外部网络(如Internet)之间传输。
东西向网络流量在相同或不同网络上的实例之间传输。
在所有场景中,物理网络基础设施处理provider网络和外部网络(如Internet)之间的交换和路由。每个案例引用一个或多个以下组件:
Provider network (VLAN):
VLAN ID 101 (tagged) Self-service network 1 (VXLAN):
VXLAN ID (VNI) 101 Self-service network 2 (VXLAN):
VXLAN ID (VNI) 102 Self-service router:
Gateway on the provider network
Interface on self-service network 1
Interface on self-service network 2
Instance 1
Instance 2
对于具有固定IPv4地址的实例,网络节点对从self-service传递到Internet等外部网络的南北通信量执行SNAT。
对于具有固定IPv6地址的实例,网络节点在self-service和外部网络之间执行常规的流量路由。
实例驻留在计算节点1上,并使用自助服务网络1。
实例向Internet上的主机发送数据包。
以下步骤涉及计算节点1:
1.实例接口(1)通过veth对将数据包转发到安全组桥接实例端口(2)。
2.在安全组网桥上的安全组规则(3)处理数据包的防火墙和连接跟踪。
3.安全组网桥OVS端口(4)通过veth对将数据包转发到OVS集成网桥安全组端口(5)。
4.OVS集成网桥向包添加了一个内部VLAN标记。
5.OVS集成网桥将内部VLAN标签交换为内部隧道ID。
6.OVS集成网桥patch端口(6)将数据包转发到OVS tunnel网桥patch端口(7)。
7.OVS tunnel网桥(8)使用VNI 101封装包。
8.覆盖网络的底层物理接口(9)通过覆盖网络(10)将包转发给网络节点。
以下步骤涉及网络节点:
1.覆盖网络的底层物理接口(11)将包转发到OVS tunnel网桥(12)。
2.OVS tunnel网桥打开包并添加一个内部隧道ID。
标签:serve name dhcp tns bdc work 另一个 发送数据 交换
原文地址:https://www.cnblogs.com/zhongguiyao/p/9442059.html