openstack之网络分析

现在的任务是了解通过openstack创建一台新的虚拟机时,在网络上都做了哪些处理,vxlan是如何建立的,和数据库是否有关系,执行的命令是哪些。

逻辑分析一下:

1、dashboard创建虚拟机;

2、随机选择一个主机生成虚拟机,这里假设是04节点;

3、生成主机之后,必须配置网络,系统上使用的是vxlan作为网络接口建立网络连接;

4、在控制节点上应该有与主机对应的接口;这个时候主机上已经出现了新的虚拟机和设备接口,用brctl show命令可以查看。(疑问一:这个接口的创建过程是如何实现的?命名规则是什么?)

5、对应的查看控制节点应当多了个与虚拟机对应的网络设备(疑问二:是这样吗?如果是,又是怎么建立的,命名规则是什么样的?)

 

先解决第一个疑问:生成虚拟机后,查看物理节点网络的所有变化。

1、使用brctl show时,发现bond1下面多了个设备名为:tap4eae0eb0-37

 

2、使用ip link list时多了一条指令

79: tap4eae0eb0-37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master brq0a807a08-33 state UNKNOWN mode DEFAULT group default qlen 500

    link/ether fe:16:3e:f4:3e:af brd ff:ff:ff:ff:ff:ff

3、使用ifconfig,多了下面内容

tap4eae0e Link encap:Ethernet  HWaddr FE:16:3E:F4:3E:AF  

          inet6 addr: fe80::fc16:3eff:fef4:3eaf/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:105 errors:0 dropped:0 overruns:0 frame:0

          TX packets:131 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:500 

          RX bytes:10387 (10.1 Kb)  TX bytes:12466 (12.1 Kb)

总结一下就是,在这台节点上多了个tap4eae0eb0-37的网络设备,但是这个网卡没有任何和ip有关的信息。

 

关于第一个疑问并没有解决,因为我自己也可以新建一个这样的网络设备,问题是这个虚拟网络设备和虚拟机是如何关联在一起的

通过virsh list命令可以看到当前节点下的虚拟机数量和名字,但是没什么用,还是不知道这个虚拟设备如何与虚拟机关联的。

 

再看第二个疑问:openstack的控制节点的网络有哪些变化?

对比第一个疑问的三个命令,发现控制节点的网络没有任何变化。这说明,vxlan所有的动作都只和宿主机有关,而和控制节点无关。

为了进一步证明其无关性,我再次新建一个虚拟机。查看网络变化:

查看三个命令,依然没有任何变化。

 

那么现在问题的关键点可以完全放到物理主机上。

写到这突然有个疑问,为什么有些节点有以vxlan开头的虚拟设备与tap对应,有些节点确实是vnet开头的设备于tap对应,04节点上连续两个设备都是tap开头与之对应的都是vnet,这个和vxlan的区别在哪呢?

而且我发现删除虚拟机后,tap开头的设备也就消失了,但是vnet的设备却一直存在。

 

发现一个问题,如果选的是proceted安全组和private网络,那么就不能创建虚拟机。因为还没有研究。


同时新建虚拟机时,虚拟网络设备名和vnetvxlan无关。tap是新建虚拟机的网络设备,vnetvxlan一直存在(怀疑vxlan不是openstack自动创建的,而是手工创建的,因为观察发现新建虚拟机时只有tap*******有变化。那么问题又来了,这些物理节点上的vxlan名却可以和控制节点上的vxlan想对应。同时,还有个问题,当我创建新的虚拟机时,为何控制节点的tap设备不增加?

解答上面的疑问:仔细看了下控制节点,之所以没有变化,是因为物理节点是通过网桥和控制节点连接的,因此当物理机节点上的虚拟设备增加时,只需要和物理机建立联系,通过网桥和控制节点保持关系就行。因此新建虚拟机时,控制节点的设备不需要增加。

 

解答上面的疑问后,又有了新的疑问,我能看到控制节点上有网桥和vxlan,这两者有什么关系,还有不同的物理节点上,有的是vnet有的是vxlan,这有什么区别吗?而且物理节点的vxlan也是挂在网桥下的。到这一步需要考虑的就是将物理节点和控制节点建立联系时,控制节点对物理节点做了什么?它是如何设置物理节点的网络的?

 

现在问题关注的焦点应该在新建虚拟机和tap设备上。(还有一点,控制节点的网络namespace一直被我忽略了,这些namespace的作用分割网络,那这些空间里是什么呢?)

使用下面三个命令看了下namespace,里面并没有什么值得关注的内容

ip netns exec qrouter-9a77ef39-39bb-4fe9-bb9a-f980401d71ad  ip link list

ip netns exec qrouter-42bed38f-379b-448a-8b5b-f2b5afcb391a  brctl show

ip netns exec qdhcp-bcbae864-6635-4f18-8f76-c95b438e388f  ifconfig

 

 

现在研究vxlan还是研究tap呢?

关键1:neutron如何将tap和虚拟机建立联系。

关键2:控制节点和物理机建立联系时,控制节点对物理机做了什么。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值