ITPub博客

首页 > IT基础架构 > 网络通信/物联网 > TF实战Q&A丨这个问题,我以前也遇到过

TF实战Q&A丨这个问题,我以前也遇到过

网络通信/物联网 作者:科技探路者 时间:2020-09-09 13:50:52 0 删除 编辑

在TF  中文社区,  爱折腾的“实战派”们经常探讨有关  SDN和  Tungsten Fabric  的各种问题,  我们将其中的  精华部分  整理出来,形成 “ TF Q&A ”   栏目,  他们碰到  的困惑  、踩过的坑  ,也许正是你  想要  了解的——

Q  :  最近在做的小实验,OpenStack+Tungsten Fabric  模式的网络性能以及稳定性问题,但是因为没有瞻博的路由器,没有  gateway  ,  VM  无法访问外部网络。想请问有没有  OpenStack+ Tungsten Fabric  模式,有没有其他替代的访问外部网络的方式,并且有没有这方面的文档?

杨雨:  可以用vMX  或者更简单的  vSRX  。

https://github.com/Juniper/contrail-controller/wiki/Simple-Gateway       也可以用来做测试。

Q  :  Tungsten Fabric  如何支持多个  VXLAN fabric  ?(物理网建了  VXLAN fabric  ,他们各自有各自的  gateway  ,  Tungsten Fabric  要跟这几个物理网的  fabric  打通,也就是说  Tungsten Fabric  里面管理的这些宿主机里面的  VM  或者容器的实例,能够跟物理  VXLAN  里面  BMS  裸金属服务器通起来,同时它能把不同的  fabric  里面的这些虚机连接到一起)

Edward Ting:     这个是可以做的,但它有一个plug in  ,要自己写。因为物理的  Facebook  的  switch  或者  VXLAN fabric  ,它们目前只支持  Juniper  的,但社区的版本是只支持  Juniper  的,然后怎么去配置这些东西,它在  5.1  版是用  ansible  或一些自动化的脚本做,社区的  UI  不能做这些事情。

Q  :  有大神知道这个咋解决的吗(Disk for DB is too low  )?

wenrui  :  /etc/contrail/common.env  ,需要把  config database  的  docker compose  重启一下,自己做  lab  的话,这个问题可以忽略,不影响功能。

https://github.com/Juniper/contrail-ansible-deployer/wiki/Provisioning-F.A.Q      


Q  :  对于 Tungsten Fabric  ,  Overlay  隧道可以是基于  GRE/UDP  的  MPLS  隧道,也可以是  VXLAN  隧道。为什么要用  GRE/UDP  的  MPLS  ?

JianXun-KkBLuE  :一个原因是之前  vxlan  还不够成熟,第二个是考虑可能  SP  (运营商)的场景。

Wenrui  :  Tungsten Fabric  一开始就是  vRouter  组网,是  L3 overlay  ,  Juniper  又比较擅长  MPLS  ,另外十多年前  vxlan  也不太成熟,所以  vxlan  是后来支持的。

Q  :  咨询大家一个小白问题,DPDK  有没有  flow  模式和  packet  模式  ?

钱誉:http://doc.dpdk.org/guides/prog_guide/flow_classify_lib.html  可能未必是你所想的模式。有流分类库和数据包分发器库。
我的理解是这样的,因为在contrail  里默认就是基于  flow  的模式,跟  DPDK  网卡配置没有关系。默认情况下每个  vrouter  都有一个流标的。  contrail  还提供另一种包模式。
因为流不是无限的,而且很多时候我们不需要那么严格的流功能,那么流的意义就失去了,另一个主要原因就在于流是很废资源的,会在使用中窃取负载资源。
当然这个里面其实有利有弊存在,比如说包模式的优点在于出现故障时候能快速收敛,不需要时间去创建流,vrouter  上没有  SYN FLOOD  这种  DDOS  ,因为  vrouter  不需要保持状态,当然缺点就是没有留就少了分析,网络策略不能实现  ACL  ,不能进行镜像或者  steering  ,仅仅支持单个  SI  服务链,也没有  RPF  等等。

[root@openshift-comp01 ~]# vif --get 3Vrouter Interface Tablevif0/3      OS: tap233eefc1-94            Type:Virtual HWaddr:00:00:5e:00:01:00 IPaddr:5.5.5.4Vrf:2 Mcast Vrf:2 Flags:PL3L2DUufEr QOS:-1 Ref:6[root@openshift-comp01 ~]# vif --get 3Vrouter Interface Tablevif0/3      OS: tap233eefc1-94            Type:Virtual HWaddr:00:00:5e:00:01:00 IPaddr:5.5.5.4Vrf:2 Mcast Vrf:2 Flags:L3L2DUufEr QOS:-1 Ref:6

开了包模式后你看Flags:  这个里面第一个  P  消失了。

Q  :  Tungsten Fabric  目前能对接多少个  OpenStack  集群啊?  instances.yaml  配置文件中看不出可以定义多组的样子,难道是  1:1  然后做联盟?

杨雨:1:1  。

Q  :  请教下,Cloudify  已经比较成熟了吗?已经有一些公司在使用的成功案例吗?

杨雨:Cloudify  都大改过一次了,  NFV  方面用来做  NFVO  还是比较多的,

https://www.mirantis.com/blog/which-nfv-orchestration-platform-best-review-osm-open-o-cord-cloudify/    

Q  :  Tungsten Fabric  支持  vlan aware vm  接入吗?

王峻:可以创建一个子接口port  ,测试一下。

Q  :  哪位专家有Tungsten Fabric  体系架构文档  ?

陈刚:中文版本

https://tungstenfabric.github.io/website/L10N/Tungsten-Fabric-Architecture-CN.html   

Q  :  有Tungsten Fabric  源码编译成  deb  或  rpm  包的链接或文档吗?

Shuqiang  :现在  Tungsten Fabric  直接下载  image  ,  ansible  部署好之后就可以用了,都用不着编译。可以从这里下载镜像  https://hub.docker.com/u/opencontrailnightly      

Q  :  Tungsten Fabric  有  rest api  文档吗?有没有写怎么传递参数?

Edward Ting:

http://configuration-schema-documentation.s3-website-us-west-1.amazonaws.com/R3.2/tutorial_with_rest.html       这个  3.2  基本类似,  2005  版也可以。有一些开放的库可以用,你不一定需要自己写。这个  api  文档里面,有一些参数,可以直接把  vnc-api  库拿过来用就行。

Q  :  阅读vRouter  的代码,想分析下数据层的数据流程,有参考资料吗?

杨雨:vRouter  的数据转发是在  kernel  层实现的,可以去  GitHub  搜索  contrail-vrouter  找到源代码。

Q  :  vRouter  ,是说的  EDGE  这个么?

Wenrui  :  EDGE  是  nsx  里的  gateway  ,就像  Tungsten Fabric  里的  VMX  。  Tungsten Fabric  在  VMware  环境的  vRouter  不是  EDGE  的作用,主要是用于内部  VN  。

Q  :  DLR  这个是分布式路由器么?  NSX-T  和  NSX  又不一样。

Wenrui  :  Tungsten Fabric  里的  vRouter  跟  dlr  比较像,在  VMware  里不太一样,是一个  VM  ,实现方式是通过  portgroup  把  VM  的端口连到  vRouter VM  。

其实Tungsten Fabric  和  VMware  环境先后有三种集成方式,  vCenter as compute  (  contrail VM  ),  vRO  集成,  CVFM  (商业版),现在商业版主要是做  CVFM  了。

Q  :  Tungsten Fabric  的  vRouter  里,  vhost0.  和  pkt0.  分别是什么作用?

钱誉:vhost0  是主机操作系统和  vRouter  之间的  Tap  接口。  vhost0  是主机操作系统使用的第  3  层接口。作为设置的一部分,  Tungsten Fabric  软件会将  IP  配置从以太网端口迁移到  vhost0  。当主机操作系统的网络堆栈在  vhost0  接口上发送数据包时,它们将  vRouter  模块接收。  vRouter  依次路由数据包。当  vRouter  需要将数据包发送到  host-os  的网络堆栈时,它将通过  vhost0  接口进行传输。  pkt0  是  vRouter  和  vrouter-agent  之间的  Tap  接口。  vRouter  在该接口上捕获需要控制处理(例如流设置)的数据包。另外,当代理使用  pkt0  接口传输控制数据包(例如  ARP  )时。详细可参考:

https://sureshkvl.gitbooks.io/opencontrail-beginners-tutorial/content/introspect/contrail-vrouter-agent.html  

Q  :  请问有vRouter  详细一点的资料吗  ?

钱誉:

https://github.com/Juniper/contrail-controller/wiki        

https://github.com/Juniper/contrail-controller/wiki/contrail-discovery-and-contrail-vrouter-agent-communication      

https://subscription.packtpub.com/book/virtualization_and_cloud/9781786465993/7/ch07lvl1sec43/opencontrail-architecture           

https://github.com/tnaganawa/tungstenfabric-docs/blob/master/TungstenFabricKnowledgeBase.md  

Q  :  如果OpenStack  集成了  Tungsten Fabric  控制器,那这个  OpenStack  能否通过  Ironic  组件部署裸机?

杨雨:可以,Contrail Command  可以实现,目前开源版本还没有这个功能,得自己改。简单的描述一下:  1. PXE OS Provision  时,要把物理机的  PXE  口对应交换机的口改到  Provision  的虚拟机网络,完成  TFTP  装机;  2.  装完机,把  PXE  口对应交换机的口改到业务虚拟网络;  3.  物理机下架或维护,需要报网口切换到用于清理的虚拟网络,完成清理;  OVSDB  是过去时,现在是用  EVPN-VXLAN  。

Q  :  PXE OS Provision  网络和  Ironic  的  tftp  是怎么配置才能互通呢?

杨雨:

https://www.juniper.net/documentation/en_US/contrail19/topics/concept/how-bms-manager-works.html   

Q  :  OpenStack project  删除了,但是  Tungsten Fabric  还有,就会出现错误……  UI  很多错误都二次封装了。导致看不到原来的错误。

Edward Ting:  以前的  5.1  有  bug  ,我以前也遇到过这个问题。  UI  界面  bug  很多,  5.2  和  5.1  都是有这个问题,  5.1  比  5.2  好一些,但都有些  bug  ,得自己修。我建议不要用  UI  。有两个原因,第一它有很多  bug  ,第二它没有汉化。所以用  UI  大家可能会浪费更多时间,倒不如自己写  UI  。

Q  :  nova_compute  和  nova_libvirt  一直  restarting  ,  docker logs  也看不到任何报错。  VT-x  已经开了,请问怎么排障啊?

陈刚:找到方法了,VM  上  systemctl disable libvirtd.service  ,  systemctl disable dnsmasq  之后,两个  docker  容器就正常了。

Q  :  有人用vqfx  遇到过这个问题吗?总是提示要登录  vc-m  。虚拟的还分主备引擎吗?

钱誉:用这个方法试试

https://andrewroderos.com/deploying-vqfx-on-vmware-esxi/     

https://github.com/tonyliu0592/contrail/blob/master/doc/vqfx.md  

Q  :  同网段跨节点交换mac  路由吗?类似于  l2vni  ,还是只用  l3vni  ,同网段用  arp proxy  ?

JianXun-KkBLuE  :  L3  。

Q  :  如果路由模式,  VNF  可以配置一个网卡吗?还是必须  left  和  right  两个?

Wenrui  :必须是两个,分别连两个  VNF  。路由模式  VM  的网关也不在  VNF  上。

Q  :  两个网卡,是不是虚拟机的两个网卡都要配置IP  ?

Wenrui  :嗯,  VNF  是  L2  或  L3  都可以,但是需要连接不同子网。其实有没有地址对  Tungsten Fabric  来说都一样,即使是  L3  ,业务  VM  的网关也不在  VNF  上。

Q  :  nat  也一样,对吧?

Wenrui  :  nat  不太一样,是用在内外网的场景。

Q  :  如果服务链中vnf  做  nat  也可以实现?就是  waf  反向代理。

Wenrui  :对,  in-netwrok nat  就是这种方式。

Q  :  宿主机有两块网卡,TF  创建的几个  network  总是使用跟  vhost  一起的  eth1  ,怎么才能让  VM  的两块网卡中的一个使用宿主机的  eth0?

杨雨:可以看看这个

https://nicojnpr.github.io/Contrail_Cookbook/#provider-network

Q  :  专家们,你们怎么解决neutron l3 router  的性能瓶颈?

钱誉:Tungsten Fabric  的  pkt0  跟  openflow  的首包没什么关系,因为  Tungsten Fabric  是  overlay  方式,报文不需要上送控制器,另外控制器主动下发  Virtual Overlay vSwitch/vRouter  ,依靠现有的协议来建立  IP Fabric  的连通性。  Underlay  拓扑变化不会影响  overlay  ,  Tungsten Fabric  不会保留任何  Overlay Per-Tenant  状态信息。

Q  :  Tungsten Fabric  支持高可用 (  HA  )吗?

Edward Ting:  它有支持,而且很容易做。它的设计是要有三个节点,  3  、  5  、  7  个节点,那  HA  就有了。

Q  :  分析服务可选部署,减少占用小环境里使用不合适?

Edward Ting:

https://www.juniper.net/documentation/en_US/contrail20/information-products/pathway-pages/contrail-service-provider-feature-guide.pdf       你可以分开部署,它有个东西叫做  remote computer  ,就是远程计算,它是把分析服务放在  central office  里,然后控制的服务器可以放在边缘,所以边缘的那些节点上并不需要分析服务器,你可以用运营商的  central office  装分析服务器,部署,然后分析所有边缘的服务器,这样的话,比如说有  1000  台节点,但是你的分析服务器都在  central office  里头,这样可以减少环境的一些浪费。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69981760/viewspace-2718195/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-08-14

  • 博文量
    23
  • 访问量
    12762