Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Openstack neutron 原理详解

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 35 Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Anzeige

Ähnlich wie Openstack neutron 原理详解 (20)

Anzeige

Aktuellste (20)

Openstack neutron 原理详解

  1. 1. Neutron 原理详解
  2. 2.  OpenStack网络服务 ◦ 网络服务实现方式  Neutron介绍  Neutron组件剖析 ◦ 基本概念 ◦ 系统架构 ◦ 网络启用流程分析 ◦ ML2  Neutron典型部署模式  动手实验 ◦ 练习1:租户私有网络创建练习
  3. 3.  FLAT  FLATDHCP  VLAN  MULTI-HOST nova-network负责网络功能
  4. 4. FLAT  指定一个子网,规定虚拟机能使用的ip地址范围  创建实例时,从有效ip地址池获取一个IP,为虚拟机实例分配,然 后在虚拟机启动时候注入虚拟机镜像(文件系统);  手动配置好网桥(br100),所有的系统实例都是和同一个网桥连 接;网桥与连到网桥的实例组成一个虚拟网络  网络控制器(nova-network节点)对虚拟机实例进行NAT转换, 实现与外部的通信  目前配置注入只能够对Linux类型的操作系统实例正常工作
  5. 5.  与Flat模式一样,从ip池取出ip分配给虚拟机实例,所有的实例都在计算 节点中和一个网桥相关。  网络控制器(运行nova-network服务的节点)运行dnsmasq作为 DHCP服务器监听这个网桥;  实例通过dhcp bootp发送请求;  网络控制器把从一个指定的子网中获得的IP地址响应给虚拟机实例;  实例通过网络控制器与外部实现互相访问 FLATDHCP
  6. 6. FLATDHCP Source: http://blog.csdn.net/hilyoo/article/details/7721401
  7. 7.  每个用户分配一个VLAN,每个用户创建的instance在同一VLAN里  每个用户分配一个网段,网络控制器上的DHCP服务器为所有的 VLAN所启动,为虚拟机分配私网IP地址  网络控制器为所有instance做NAT转换  解决了二层隔离的问题,但是VLAN 4096的限制,导致单个集群只 能最多4096个用户使用,符合企业私有云使用,但是不适合公有云 VLAN
  8. 8.  没有集中的nova-network服务,消除网络瓶颈  每个nova-compute节点上,同时运行nova-network和 dnsmasq,nova-network提供NAT和防火墙服务,dnsmasq负责 DHCP IP地址分配  可以和VLAN配置一起使用,同一个VLAN里面的虚拟机相互之间可 以互通  符合公有云部署需求,但是nova-network HA是一个隐患 MUTLI-HOST模式
  9. 9. Multi-Host模式
  10. 10.  传统桥接模式  用户不能自定义网络  网络隔离  大规模部署 OpenStack 早些版本网络的问题
  11. 11.  高密度  多租户  大规模扩展  虚拟机的可移动性  资源的管理的自动化  价格
  12. 12.  用户自定义网络  丰富的多层拓扑结构  QoS保证  防火墙、VPN、IDS、LBAAS等安全服务  监控和审计
  13. 13.  网络连接服务Network connectivity as a service  提供面向租户(Tenant)的API接口,用于创建虚拟网 络,路由器,负载均衡等,关联instance到指定的 网络和路由  通过API接口管理虚拟或物理交换机  提供plugin架构来支持不同的技术平台  Neutron Private Network – 提供固定私网地址  Neutron Public Network – 提供浮动IP地址
  14. 14.  Network  一个L2二层网络单元  租户可通过Neutron API 创建自己的网络  Subnet  一段IPV4/IPV6地址段  为Instance提供私网或公网地址  Router  三层路由器  为租户的Instance提供路由功能  Port  虚拟交换机上的端口  管理Instance的网卡
  15. 15. Nova Compute Nova Compute Nova Compute Nova ComputeNova Compute Tenant Scripts Horizon Nova API Clients Neutron Server Neutron Plugin Create-net . . . Create-port virtual switch Internal plugin communication. Neutron API Create-net . . . Create-port Interfaces from a service like Nova plug into a switch manages by the Neutron plugin.API + Plugin = Neutron Service Uniform API for all clients
  16. 16.  Open vSwitch  Linux Bridge  Cisco NX1000  Nicira NVP  Ryu  NEC OpenFlow  Floodnight
  17. 17. Dashboard / Automation Tools Nova Service XenServer #1 Neutron Plugin nova-api Hypervisor vswitch nova-scheduler nova-compute Tenant API Tenant API Internal Plugin Communication Internal nova Communication Neutron APINeutron Service
  18. 18. Neutron server & ml2 lm2 agent DHCPagent DB Queue ■Neutron Server  实现Neutron API和API扩展  管理Network,subnet,port  管理port的IP地址 ■ML2 agent  运行在每个计算节点上(compute node)  连接虚拟机到网络端口 ■DHCP agent  负责DHCP配置,为虚拟机分配IP  开始/停止dhcp服务器In multi-host mode, run on each compute node (deferred)  Start/stop dhcp server  Maintain dhcp configuration L3-agent  负责公网浮动ip地址和NAT  负责其他三层特性,例如负载均衡等  每个network对应一个L3 agent Metadata-agent  提供元数据服务Neutron L3-agent, dhcp-agent, nova metadata API server DB和Queue可以和其他组件共享 l3-agent metadata-agent Source: http://sdrv.ms/YdnQYS
  19. 19. API Client Neutron Server Create Network (POST /tenant1/network) Network UUID: ‘abc’ Create Server (POST /tenant1/server) Nova Server Server UUID: ‘def’ Get Server Interface(s) (GET /tenant1/server/def/interface) Server Interface UUID List: [ ‘ghi’ ] Create Port on Network (POST /tenant1/network/abc/port) Port UUID ‘jkl’ Attach Interface to port (PUT /tenant1/network/abc/port/jkl) { ‘attachment’ : ‘ghi’ } Success
  20. 20. Source: http://sdrv.ms/YdnQYS Neutron server
  21. 21.  Single FLAT Network  Multi FLAT Network  Mixed Flat and Private Network  Provider Router with private network  Per-tenant Routers with private network  Per-tenant Routers with private network
  22. 22. Single FLAT Network  类似FlatManager  FlatDHCPManager  不支持floating ip
  23. 23. Mutiple FLAT Network  类似FlatManager  FlatDHCPManager  不支持floating ip
  24. 24. Mixed Flat and Private Network
  25. 25. Provider Router with private network
  26. 26. Per-tenant Routers with private network
  27. 27. Neutron Multi-Host模式 Data network Management network Control node DHCP qdhcp-xx namespace Neutron-ns-metadata-proxy Neutron-metadata-agent unix socket Compute node VM Neutron-dhcp-agent Neutron-l3-agent Neutron-<l2>-agent VMVM nova-compute external network DHCP qdhcp-xx namespace Neutron-ns-metadata-proxy Neutron-metadata-agent unix socket Compute node VM Neutron-dhcp-agent Neutron-l3-agent Neutron-<l2>-agent VMVM nova-compute Source: http://sdrv.ms/YdnQYS
  28. 28. ◦ 租户私有网络创建练习  练习1:利用Dashboard创建私有网络,并创建instance  练习2:为instance 分配一个floating IP 验证连通性
  29. 29.  Email:yongluo2013@gmail.com  Blog : http://yongluo2013.github.com  WeiXin:@嗨皮  WeiBo :@warrior_罗勇

×