设为首页 收藏本站
查看: 1275|回复: 0

[Cloudstack] CloudStack 隔离网络VM的创建与VM通信

[复制链接]

尚未签到

发表于 2015-10-14 07:03:53 | 显示全部楼层 |阅读模式
CloudStack 隔离网络VM的创建与VM通信

下面整理的内容都是在CloudStack的Advance Zone 中创建隔离的来宾网络(不是VPC中的网络),vlan id :305,VM 模板为 ubuntu 10.04,
  流程图

       下图为整理的创建VM以及VM通信的主要流程。

                            DSC0000.jpg
        看到流程图,就应该大体清楚是怎么回事了,再说一下自己的一些总结,不一定正确,如觉得有异议,可以讨论
   验证过程遇到的问题及结论

           1、 由于每个隔离的来宾网络,都有一个单独vrouter虚拟机提供gateway服务,不同的vlan,可以有相同的subnet。
            2、当使用隔离的来宾网络创建VM时,会为该网络创建一个VRouter 虚拟机,会在VRouter所在的主机以及新建的VM所在的主机穿件vlan接口,如下图所示:(系统为该网         络分配vlan id:305,该隔离网络为 192.168.1.1/24)
DSC0001.jpg
      2.1 在隔离网络中创建虚拟机时,首先创建该网络对应的vrouter 虚拟机,该vrouter虚拟机对应的网卡信息为:
          [[Nic:Public-10.41.2.233-vlan://untagged], [Nic:Guest-192.168.1.1-vlan://305], [Nic:Control-169.254.3.76-null]]
      2.2 将将要新建的VM的mac地址和IP 配置到Vrouter虚拟机
          执行函数:
                com.cloud.agent.resource.virtualnetwork.VirtualRoutingResource.execute(DhcpEntryCommand)
          执行的脚本dhcp_entry.sh,最终执行的脚本为vrouter 虚拟机上的:/root/edithosts.sh (该脚本主要是配置dhcp,该文不做说明)
      2.3   创建VM,此时携带的网卡信息:[Nic:Guest-192.168.1.113-vlan://305],但是该IP为被使用,虚拟机的IP从Vrouter 虚拟机获            取(根据新建VM的mac地址获取)
    2.4
       在启动VM的时候会去在host主机上创建vlan接口:函数:
          com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.createVifs(VirtualMachineTO, LibvirtVMDef)
       获取vlanid使用脚本modifyvlan.sh (传入参数 (305,eth0,breth0-305,vlan)在host创建vlan接口(breth0-305,eth0.305)
      其中305 为该网络的vlanid,eth0 为主机上 private network对应的物理接口

传递给agent的nic参数截图:
DSC0002.jpg


2.5 脚本modifyvlan.sh 中的重要代码
       vconfig set_name_type DEV_PLUS_VID_NO_PAD 设置命名格式
       vconfig add $pif $vlanId //($pif=eth0   $vlanId-305)   eth0网口增加vlan 305
      brctl addbr $vlanBr  //($vlanBr=br0eth0-305) 增加网桥br0eth0-305
brctl addif $vlanBr $vlanDev //($vlanBr=br0eth0-305   $vlanDev=eth0.305) 将eth0.305 作为网桥br0eth0-305的一个端口,即:所有目的地为eth0.305的流量,都会被当做目的地为br0eth0-305,同时,当流量通过br0eth0-305流出时,所有流量都会被当做从eth0.305 网口流出。




转载地址:http://www.wangdk.com/?p=63

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-126392-1-1.html 上篇帖子: cloudstack4.4.2 升级centos7 下篇帖子: Cloudstack常用端口(Ports used by CloudStack)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表