OVN架构图如下所示:
1、OVN Southbound Database由以下三种数据构成:
- Physical Network(PN)table用于确定如何到达hypervisor以及其他node
- Logical Network(LN)table用"logical datapath flows"描述的逻辑网络
- Binding table用于将逻辑网络组件的位置和物理网络相关联
其中hypervisor填充PN和Port_Binding tables,ovn-northd填充LN tables
2、网络的配置信息从CMS到OVS的流动及反馈过程如下所示:
- 当CMS更新northbound database中的configuration时,它会对NB_Global table中的nb_cfg加1
- 当ovn-northd根据northbound database更新southbound database时,它会将NB_Global中的nb_cfg拷贝到southbound database中的SB_Global
- 当ovn-northd接收到来自southbound database已经将变更提交的确认信息之后,它会更新NB_Global中的sb_cfg使其和之前更新过的sb_cfg一致(这样,没有连接到southbound database的CMS也能知道southbound database已经及时更新了)
- 每个chassis上的ovn-controller发现southbound database中的nb_cfg更新了,它就会更新其所在chassis的OVS实例的physical flow。当它收到来自OVS physical flow已更新的消息,它就会更新在southbound database中其对应chassis记录的nb_cfg
- ovn-northd会监视southbound database中所有Chassis记录中的nb_cfg,它会追踪所有这些记录中的最小值,并且会将它写入NB_Global table中的hv_cfg。从而CMS就能确认什么时候所有的hypervisor都已经和northbound configuration同步了。
时间: 2024-10-29 10:46:43