警告

NOTICE: THIS DOCUMENTATION SITE HAS BEEN SUPERSEDED.

For the current documentation site goto: http://docs.cloudstack.apache.org

网络设置

正确的网络设置对于CloudStack能否成功安装至关重要。遵循本节包含的信息,指导你搭建正确的网络配置。

基本和高级网络

CloudStack提供二种网络类型:

Basic For AWS-style networking. Provides a single network where guest isolation can be provided through layer-3 means such as security groups (IP address source filtering).

Advanced For more sophisticated network topologies. This network model provides the most flexibility in defining guest networks, but requires more configuration steps than basic networking.

每个区域都有基本或高级网络。一个区域的整个生命周期中,不论是基本或高级网络。一旦在CloudStack中选择并配置区域的网络类型,就无法再修改。

下表比较了两种网络类型的功能

网络功能 基本网络 高级网络
网络数量 单一网络 多种网络
防火墙类型 物理 物理和虚拟
负载均衡 物理 物理和虚拟
隔离类型 三层 二层和三层
VPN支持
端口转发 物理 物理和虚拟
1:1 NAT 物理 物理和虚拟
Source NAT 物理和虚拟
用户数据
网络监控 在物理路由器上:sFlow / netFlow Hypervisor和虚拟路由器
DNS和DHCP

在一个云中可能会存在二种网络类型。但无论如何,一个给定的区域必须使用基本网络或高级网络。

单一的物理网络可以被分割不同类型的网络流量。账户也可以分割来宾流量。你可以通过划分VLAN来隔离流量。如果你在物理网络中划分了VLAN,确保VLAN标签的数值在独立范围。

VLAN分配示例

公共和来宾流量要求使用VLAN,下面是一个VLAN分配的示例:

VLAN IDs 流量类型 范围
小于500 管理流量。用于管理目的。 CloudStack,hypervisors,系统VM可以访问。
500-599 承载公共流量。 CloudStack账户。
600-799 承载来宾流量 CloudStack 账户。 从这个池中选择账户特定的VLAN。
800-899 承载来宾流量 CloudStack 账户。CloudStack管理员为账户指定特定的VLAN。
900-999 承载来宾流量 CloudStack 账户。可作为项目、域或所有账户的作用域。
大于1000 保留为将来使用  

硬件配置示例

本节包含了一个特定交换机型号的示例配置,作为区域级别的三层交换。它假设VLAN管理协议,例如VTP、GVRP等已经被禁用。如果你正在使用VTP或GVRP,那么你必须适当的修改示例脚本。

Dell 62xx

以下步骤显示如何配置区域级别的三层交换机Dell 62xx。这些步骤假设VLAN。201用于Pod1中未标记的私有IP线路。并且Pod1中的二层交换机已经连接到GigabitEthernet1/0/1端口。

DELL 62xx系列交换机最大支持1024个VLAN。

  1. 在VLAN数据库模式配置VLAN。

    vlan database
    vlan 200-999
    exit
    
  2. 配置端口1/g1。

    interface ethernet 1/g1
    switchport mode general
    switchport general pvid 201
    switchport general allowed vlan add 201 untagged
    switchport general allowed vlan add 300-999 tagged
    exit
    

端口1/g1的配置说明:

  • 端口1/g1的本征VLAN为201(属于VLAN201).
  • 在Pod级别的二层交换机中允许所有VLAN(300-999)流量通过。

Cisco 3750

以下步骤显示如何配置Cisco 3750作为区域级别的三层交换机。这些步骤假设VLAN 201用于Pod1中未标记的私有IP线路。并且Pod1中的二层交换机已经连接到GigabitEthernet1/0/1端口。

  1. 设置VTP为透明模式,以便我们使用超过1000的VLAN。虽然我们只用到999,但VTP透明模式并不做严格要求。

    vtp mode transparent
    vlan 200-999
    exit
    
  2. 配置GigabitEthernet1/0/1。

    interface GigabitEthernet1/0/1
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk native vlan 201
    exit
    

端口GigabitEthernet1/g1的配置说明:

  • 端口1/g1的本征VLAN为201(属于VLAN201).
  • Cisco默认允许所有VLAN,因此,VLAN(300-999)都被允许并访问所有的Pod级别的二层交换机。

二层交换

在Pod中的二层交换机提供接入层功能

  • 它​通​过​trunk连​接​所​有​VLANS中​的​计​算​主​机。
  • 它​为​管​理​网​络​提​供​包​含​计​算​和​存​储​主​机​的​流​量​交​换​。​三​层​交​换​机​将​作​为​这​个​管​理​网​络​的​网​关

本节包含了一个特定交换机型号的示例配置,作为Pod级别的二层交换机。它假设VLAN管理协议,例如VTP、GVRP等已经被禁用。如果你正在使用VTP或GVRP,那么你必须适当的修改示例脚本。

Dell 62xx

以​下​步​骤​将​演​示​如何​配​置​Dell 62xx作​为​Pod级​别​的​二层交​换​机。

  1. 在VLAN数据库模式配置VLAN。

    vlan database
    vlan 300-999
    exit
    
  2. VLAN201用于Pod1中未标记的私有IP线路。并且Pod1已经连接到该二层交换机。

    interface range ethernet all
    switchport mode general
    switchport general allowed vlan add 300-999 tagged
    exit
    

所有的以太网端口功能配置说明:

  • 所有端口配置相同
  • 二层交换机的所有端口都允许VLAN(300-999)通过。

Cisco 3750

以​下​步​骤​将​演​示​如何​配​置​cisco 3750作​为​Pod级​别​的​二层交​换​机

  1. 设置VTP为透明模式,以便我们使用超过1000的VLAN。虽然我们只用到999,但VTP透明模式并不做严格要求。

    vtp mode transparent
    vlan 300-999
    exit
    
  2. 配置所有的端口使用dot1q协议,并设置201为本征VLAN。

    interface range GigabitEthernet 1/0/1-24
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk native vlan 201
    exit
    

默​认​情​况下​,Cisco允​许​所有​VLAN通过。​如果本征VLAN ID不相同的2个​​端​口​连​接​在​一​起时​​,​Cisco交​换​机​提出控诉。​这​就​是​为​什​么​必​须​指​定​VLAN 201为​二交​换​机​的​本​征​VLAN。

硬件防火墙

所有部署都应该有一个防火墙保护管理服务器;查看防火墙的一般规定。 根据情况不同,一些部署也可能用到Juniper SRX防火墙作为来宾网络的默认网关; 参阅 “集成外部来宾防火墙Juniper SRX (可选)”.

防火墙的一般规定

硬件防火墙必需服务于两个目的:

  • 保护管理服务器。
  • 路由多个区域之间的管理网络流量。站点到站点 VPN应该在多个区域之间配置。

为了达到上述目的,你必须设置固定配置的防火墙。用户被配置到云中,不需要改变防火墙规则和策略。任何支持NAT和站点到站点VPN的硬件防火墙,不论品牌,都可以使用。

集成外部来宾防火墙Juniper SRX(可选)

注解

客户使用高级网络时才有效。

CloudStack中提供了对Juniper SRX系列防火墙的直接管理。这使得CloudStack能建立公共IP到客户虚拟机的静态NAT映射,并利用Juniper设备替代虚拟路由器提供防火墙服务。每个区域中可以有一个或多个Juniper SRX设备。这个特性是可选的。如果不提供Juniper设备集成,CloudStack会使用虚拟路由器提供这些服务。

Juniper SRX可以和任意的外部负载均衡器一起使用。外部网络元素可以部署为并排或内联结构。

parallel-mode.png: adding a firewall and load balancer in parallel mode.

CloudStack要求按照如下信息配置Juniper SRX防火墙:

注解

支持SRX软件版本为10.3或者更高。

  1. 根据供应商提供的说明书安装你的SRX设备。

  2. 分别使用两个接口连接管理和公共网络,或者,你可以使用同一个接口来连接这两个网络,但需要为公共网络设置一个VLAN。

  3. 确保在专有接口上开启了 “vlan-tagging” 。

  4. 记录公共和专用接口名称。如果你在公共接口中使用了VLAN,应该在接口名称后面添加一个”.[VLAN TAG]”。例如,如果你使用 ge-0/0/3 作为公共接口并且VLAN 标签为301。那么你的公共接口名称应为”ge-0/0/3.301”。你的专用接口应始终不添加任何标签,因为CloudStack会自动在逻辑接口上添加标签。

  5. 创建公共安全区域和专用安全区域。默认情况下,这些已经存在并分别称为”untrust” 和 “trust”。为公共区域添加公共接口和为专用区域添加专用接口。并记录下安全区域名称。

  6. 确保专用区域到公共区域的安全策略允许所有流量通过。

  7. 请注意CloudStack登录所用账户的用户名和密码符合编程规则。

  8. 确保已经开启 “ssh” 和 “xnm-clear-text” 等系统服务。

  9. 如果需要统计流量:

    1. 创建传入的防火墙过滤和传出的防火墙过滤。这些策略应该有相同的名称分别作为你的公共安全区域名称和专用安全区域名称。过滤应该设置到 “特定接口”。 例如,在这个配置中公共区域是 “untrust”,专用区域是 “trust”:

      root@cloud-srx# show firewall
      filter trust {
          interface-specific;
      }
      filter untrust {
          interface-specific;
      }
      
    2. 在你的公共接口添加防火墙过滤。例如,一个示例配置(ge-0/0/3.0为公共接口,untrust为公共安全区域,trust为专用安全区域)

      ge-0/0/3 {
          unit 0 {
              family inet {
                  filter {
                      input untrust;
                      output trust;
                  }
                  address 172.25.0.252/16;
              }
          }
      }
      
  10. 确保SRX中的专用接口允许所有VLAN通过。

  11. 安装好CloudStack管理端后,使用管理员帐号登录CloudStack用户界面。

  12. 在左侧导航栏中,点击基础架构

  13. 点击区域中的查看更多。

  14. 选择你要设置的区域。

  15. 点击网络选项卡。

  16. 点击示意图网络服务提供程序中的配置(你可能需要向下滚动才能看到)。

  17. 点击SRX。

  18. 点击(+)按钮添加一个新的SRX,并提供如下信息:

    • IP地址:SRX设备的IP地址。
    • 用户名:CloudStack需要使用SRX设备中的账户。
    • 密码:该账户的密码。
    • 公共接口:SRX中的公共接口名称。例如,ge-0/0/2。 最后一个 “.x” 表示该VLAN正在使用这个接口。
    • 专用接口: SRX中的专用接口名称。例如, ge-0/0/1。
    • Usage Interface: (可选) 通常情况下,公共接口用来统计流量。如果你想使用其他的接口,则在此处修改。
    • 重试次数:尝试控制SRX设备失败时重试的次数。默认值是2。
    • 超时(秒): 尝试控制SRX设备失败时的重试间隔。默认为300秒。
    • 公共网络: SRX中公共网络的名字。 例,trust。
    • 专用网络:SRX中专用网络的名字。 例如,untrust。
    • 容量:该设备能处理的网络数量。
    • 专用: 当标记为专用后,这个设备只对单个帐号专用。该选项被勾选后,容量选项就没有了实际意义且值会被置为1。
  19. 点击确定。

  20. 点击全局设置。设置external.network.stats.interval参数,指定CloudStack从Juniper SRX收集网络使用情况的时间间隔。如果你不使用SRX统计网络使用情况,即设置为0.

整合Cisco VNMC和外部来宾防火墙(可选)

Cisco虚拟网络管理中心(VNMC)为Cisco网络虚拟服务提供集中式多设备和策略管理。您可以通过整合Cisco VNMC和CloudStack使用ASA 1000v云防火墙提供防火墙和NAT服务。在开启了Cisco Nexus 1000v分布式虚拟交换机功能的CloudStack群集中。这样部署,您将可以:

  • 配置Cisco ASA 1000v防火墙,你可以为每个来宾创建一个网络。
  • 使用思科ASA 1000v防火墙创建和应用安全配置,包含入口和出口流量的ACL策略集。
  • 使用Cisco ASA 1000v防火墙创建和应用源地址NAT,端口转发,静态NAT策略集。

CloudStack对于Cisco VNMC的支持基于开启了Cisco Nexus 1000v分布式虚拟交换机功能的VMware虚拟化管理平台。

部署使用Cisco ASA 1000v防火墙,Cisco Nexus 1000v分布式虚拟交换机和Cisco VNMC。

指南
  • Cisco ASA 1000v防火墙仅支持隔离的来宾网络。

  • Cisco ASA 1000v不支持VPC。

  • Cisco ASA 1000v不支持负载均衡。

  • 当使用Cisco VNMC防火墙创建的来宾网络时,一个额外的公共IP和SNAT IP一起被获取。SNAT IP用于规则,而额外的IP用于ASA外部接口。确保这一额外的公共IP不会被释放。你可以在网络一旦处在执行状态和获取其他公共IP之前确定这个IP。这个额外的IP没有被标识为SNAT。在你的来宾网络中可以通过Cisco VNMC来查找ASA外部接口的IP地址。

  • 使用单一网络中的公共IP地址段。不能添加不同网段的IP地址。

  • 每个VLAN中只允许一个ASA实例。因为ASA端口不支持多VLAN的trunk模式。因此,一个来宾网络中只能有一个ASA实例。

  • 每个区域中,只允许一个Cisco VNMC.

  • 只支持在Inline模式下部署负载均衡器。

  • ASA防火墙策略适用于来宾网络中所有的公共IP地址。不同于虚拟路由器创建的防火墙规则,ASA设备创建的规则不绑定特定的公共IP地址。

  • 使用一个支持vservice命令的Cisco Nexus 1000v分布式虚拟交换机版本。例如:nexus-1000v.4.2.1.SV1.5.2b.bin

    使用Cisco VNMC在CloudStack中创建来宾网络,要求vservice命令在Nexus交换机中是可用的。

先决条件
  1. 在vCenter环境中配置Cisco Nexus 1000v分布式交换机。

    在Cisco Nexus 1000v 分布式虚拟交换机中创建两个(内部和外部)网络接口的端口配置文件。记录下内部端口配置,在CloudStack中添加ASA设备时需要提供。

    更多配置信息,请查阅 “配置vSphere群集和Nexus 1000v 虚拟交换机”.

  2. 部署和配置Cisco VNMC。

    更多信息,请查阅 安装Cisco虚拟网络管理中心配置Cisco虚拟网络管理中心.

  3. 注册Cisco Nexus 1000v分布式交换机到Cisco VNMC。

    更多信息,请查阅 注册Cisco Nexus 1000V 和Cisco VNMC.

  4. 在Cisco Nexus 1000v分布式交换机中创建内部和外部端口配置文件。

    更多信息,请查阅 “配置vSphere群集和Nexus 1000v 虚拟交换机”.

  5. 部署Cisco ASA 1000v设备。

    更多信息,请查阅 使用VNMC设置ASA 1000V.

    通常情况下,你可以创建一个ASA 1000v设备池通过CloudStack来注册他们。

    设置Cisco ASA 1000v设备需指定如下信息:

    • VNMC主机IP。
    • 确保你在VNMC模式中添加ASA设备。
    • 需要预先在Cisco Nexus 1000v分布式虚拟交换机中创建用于管理和高可用的网络接口配置文件。
    • 内部和外部端口配置文件
    • Cisco ASA 1000v设备的管理IP。指定网关确保到VNMC IP是可达的。
    • 管理员证书
    • VNMC证书
  6. 注册Cisco ASA 1000v到VNMC。

    打开Cisco ASA 1000v实例电源后,通过ASA控制台注册VNMC。

使用Cisco ASA 1000v服务
  1. 确保满足所有的先决条件。

    参阅 “先决条件”.

  2. 添加 VNMC 实例。

    参阅 “添加 VNMC 实例”.

  3. 添加 ASA 1000v 实例。

    参阅 “添加 ASA 1000v 实例”.

  4. 创建一个网络方案,使用Cisco VNMC提供你期望的服务。

    参阅 “使用Cisco ASA 1000v创建一个网络方案”.

  5. 使用你刚创建的网络方案,创建一个隔离的来宾网络。

添加 VNMC 实例

  1. 作为管理员登录到CloudStack用户界面。

  2. 在左侧导航栏中,点击基础架构

  3. 点击区域中的查看更多。

  4. 选择你要设置的区域。

  5. 点击物理网络标签卡。

  6. 点击示意图’网络服务提供程序’中的配置

    你可能需要向下滚动才能看到。

  7. 点击Cisco VNMC

  8. 点击查看VNMC设备。

  9. 点击添加VNMC设备并提供如下信息:

    • 主机:VNMC实例的IP地址。
    • 用户名:CloudStack需要使用VNMC实例中的账户
    • 密码:该账户的密码。
  10. 点击确定。

添加 ASA 1000v 实例

  1. 作为管理员登录到CloudStack用户界面。

  2. 在左侧导航栏中,点击基础架构

  3. 点击区域中的查看更多。

  4. 选择你要设置的区域。

  5. 点击物理网络标签卡。

  6. 点击示意图’网络服务提供程序’中的配置

    你可能需要向下滚动才能看到。

  7. 点击Cisco VNMC

  8. 点击查看ASA 1000v。

  9. 点击添加Cisco ASA 1000v资源并提供如下信息:

    • 主机: ASA 1000v实例的管理地址。该IP地址用来连接ASA 1000V。

    • 内部端口配置文件: 在Cisco Nexus1000v分布式虚拟交换机中配置内部端口。

    • 群集: 你正在添加ASA 1000v实例所在的VMware群集。

      确保在群集中启用了Cisco Nexus 1000v分布式虚拟交换机。

  10. 点击确定。

使用Cisco ASA 1000v创建一个网络方案

要来宾网络支持Cisco ASA 1000v,按照如下信息添加网络方案:

  1. 使用用户或管理员登录到CloudStack用户界面。

  2. 下拉选择方案,选择网络方案:

  3. 点击添加网络方案。

  4. 在对话框中,选择如下操作:

    • 名称: 任何网络方案的名称。
    • 描述: 提供一个简短的方案描述。
    • 网络速度: 允许的数据传输速度(MB/秒)。
    • 流量类型: 允许承载的网络流量类型。
    • 来宾类型: 选择来宾网络为隔离或共享网络。
    • 持续性: 表明来宾网络是否支持持续性。无需提供任何VM部署的网络,称之为持续性网络。
    • VPC: 此选项表明是否在来宾网络中启用VPC。 CloudStack中的虚拟专用云(VPC)是专用、隔离的。 一个VPC可以有一个类似于传统物理网络的虚拟网络拓扑结构。有关的VPC的详细信息,请参阅 “关于虚拟专用云”.
    • 指定: (仅隔离的来宾网络) 表明在使用这个网络方案时,是否指定VLAN。
    • 支持的服务: 使用Cisco VNMC作为服务提供者针对隔离的来宾网络方案提供Firewall, Source NAT, Port Forwarding, 和Static NAT服务。
    • 系统方案: 选择你想在这个网络中使用的虚拟路由器的系统服务方案。
    • 保护模式: 表明是否使用保护模式。在这个模式中,只有网络中第一个虚拟机启动时才分配网络资源。
  5. 点击确定

    已经创建网络方案。

在新的来宾网络中重复使用ASA 1000v设备

您可以在做了必要的清理后重新在新的来宾网络中使用ASA 1000v设备。通常情况下,ASA 1000v is cleaned up when the logical edge firewall is cleaned up in VNMC。如果清理动作没有发生,你需要将设备恢复到出厂设置,才能在新的来宾网络中使用。作为其中的一部分,需要在设备上启用ssh并通过向VNMC注册存储SSH凭证。

  1. 打开ASA设备的命令行:

    1. 运行如下命令:

      ASA1000V(config)# reload
      

      提示您如下信息:

      System config has been modified. Save? [Y]es/[N]o:"
      
    2. 输入N。

      你会得到如下确认信息:

      "Proceed with reload? [confirm]"
      
    3. 重启设备。

  2. 注册ASA 1000v设备到VNMC:

    ASA1000V(config)# vnmc policy-agent
    ASA1000V(config-vnmc-policy-agent)# registration host vnmc_ip_address
    ASA1000V(config-vnmc-policy-agent)# shared-secret key where key is the shared secret for authentication of the ASA 1000V connection to the Cisco VNMC
    

整合外部来宾负载均衡(可选)

CloudStack可以使用Citrix NetScaler或BigIP F5负载均衡器为客户提供负载平衡服务。如果未启用,CloudStack将使用虚拟路由器中的软件负载平衡。

在CloudStack管理端中安装和启用外部负载均衡:

  1. 根据供应商提供的说明书安装你的设备。

  2. 连接到承载公共流量和管理流量的网络(可以是同一个网络)。

  3. 记录IP地址、用户名、密码、公共接口名称和专用接口名称。接口名称类似 “1.1” 或 “1.2”。

  4. 确保VLAN可以通过trunk到管理网络接口。

  5. 安装好CloudStack管理端后,使用管理员帐号登录CloudStack用户界面。

  6. 在左侧导航栏中,点击基础架构

  7. 点击区域中的查看更多。

  8. 选择你要设置的区域。

  9. 点击网络选项卡。

  10. 点击示意图网络服务提供程序中的配置(你可能需要向下滚动才能看到)。

  11. 点击NetScaler或F5.

  12. 点击(+)添加按钮并提供如下信息:

    对于NetScaler:

    • IP地址:SRX设备的IP地址。
    • 用户名/密码:访问设备的身份验证凭证。CloudStack使用这些凭证来访问设备。
    • 类型:添加设备的类型。可以是F5 BigIP负载均衡器、NetScaler VPX、NetScaler MPX或 NetScaler SDX等设备。关于NetScaler的类型比较,请参阅CloudStack管理指南。
    • 公共接口: 配置为公共网络部分的设备接口。
    • 专用接口: 配置为专用网络部分的设备接口。
    • 重试次数:尝试控制设备失败时重试的次数。默认值是2
    • 容量:该设备能处理的网络数量。
    • 专用: 当标记为专用后,这个设备只对单个帐号专用。该选项被勾选后,容量选项就没有了实际意义且值会被置为1。
  13. 点击确定。

外部负载平衡器的安装和配置完成后,你就可以开始添加虚拟机和NAT或负载均衡规则。

管理服务器负载均衡

CloudStack可以使用负载均衡器为多管理服务器提供一个虚拟IP。管理员负责创建管理服务器的负载均衡规则。应用程序需要跨多个持久性或stickiness的会话。下表列出了需要进行负载平衡的端口和是否有持久性要求。

即使不需要持久性,也使它是允许的。

源端口 目标端口 协议 持续请求
80或者443 8080 (或者 20400 with AJP) HTTP (或者AJP)
8250 8250 TCP
8096 8096 HTTP

除了上面的设置,管理员还负责设置‘host’全局配置值,由管理服务器IP地址更改为负载均衡虚拟IP地址。如果‘host’值未设置为VIP的8250端口并且一台管理服务器崩溃时,用户界面依旧可用,但系统虚拟机将无法与管理服务器联系。

拓扑结构要求

安全需求

公共互联网必须不能访问管理服务器的8096和8250端口。

运行时内部通信需求

  • 管理服务器需要跟其他主机进行任务协调。该通信使用TCP协议的8250和9090端口。
  • CPVM跟区域中的所有主机通过管理网络通信。因此区域中任何一个Pod都必须能通过管理网络连接到其他Pod。
  • SSVM和CPVM通过8250端口与管理服务器联系。如果你使用了多个管理服务器,确保负载均衡器IP地址到管理服务器的8250端口是可达的。

存储网络拓扑要求

SSVM需要挂载辅助存储中的NFS共享目录。即使有一个单独的存储网络,辅助存储的流量也会通过管理网络。如果存储网络可用,主存储的流量会通过存储网络。如果你选择辅助存储也使用存储网络,你必须确保有一条从管理网络到存储网络的路由。

外部防火墙拓扑要求

如果整合了外部防火墙设备,公共IP的VLAN必须通过trunk到达主机。这是支持SSVM和CPVM必须满足的。

高级区域拓扑要求

使用高级网络,专用和公共网络必须分离子网。

XenServer拓扑要求

管理服务器与XenServer服务器通过22(ssh)、80(http)和443(https)端口通信。

VMware拓扑要求

  • 管理服务器和SSVM必须能够访问区域中的vCenter和所有的ESXi主机。必须保证在防火墙中允许443端口。
  • 管理服务器与VMware vCenter服务器通过443(https)端口通信。
  • 管理服务器与系统VM使用管理网络通过3922(ssh)端口通信。

Hyper-V拓扑要求

CloudStack管理服务器通过https与Hyper-V代理通信。管理服务器与Hyper-V主机之间的安全通信端口为8250。

KVM拓扑要求

管理服务器与KVM主机通过22(ssh)端口通信。

LXC拓扑要求

管理服务器与LXC主机通过22(ssh)端口通信。

通过流量哨兵整合来宾网络使用情况

为了在来宾网络中收集网络数据,CloudStack需要从网络中安装的外部网络数据收集器中提取。并通过整合CloudStack和inMon流量哨兵实现来宾网络的数据统计。

网络哨兵是一个收集网络流量使用数据的套件。CloudStack可以将流量哨兵中的信息统计到自己的使用记录中,为云基础架构的计费用户提供了依据。流量哨兵使用的流量监控协议为sFlow。路由器和交换机将生成的sFlow记录提供给流量哨兵,然后CloudStack通过查询流量哨兵的数据库来获取这些信息。

为了构建查询,CloudStack确定了当前来宾IP的查询时间间隔。这既包含新分配的IP地址,也包含之前已被分配并且在继续使用的IP地址。CloudStack查询流量哨兵,在分配的时间段内这些IP的网络统计信息。返回的数据是账户每个IP地址被分配和释放的时间戳,以便在CloudStack中为每个账户创建计费记录。当使用服务运行时便会收集这些数据

配置整合CloudStack和流量哨兵:

  1. 在网络基础设施中,安装和配置流量哨兵收集流量数据。 关于安装和配置步骤,请查阅inMon 流量哨兵文档.

  2. 在流量哨兵用户界面中,配置流量哨兵允许来宾用户使用脚本查询。CloudStack将通过执行远程查询为来宾用户的一个或多个IP和收集网络使用情况。

    点击 File > Users > Access Control > Reports Query, 然后从下拉列表中选择来宾。

  3. 在CloudStack中,使用API中的addTrafficMonitor命令添加流量哨兵主机。传入的流量哨兵URL类似于protocol + host + port (可选);例如, http://10.147.28.100:8080。 关于addTrafficMonitor命令用法,请参阅API文档 API Documentation.

    关于如何调用CloudStack API,请参阅 CloudStack API 开发指南

  4. 作为管理员登录到CloudStack用户界面。

  5. 在全局设置页面中,查找如下参数进行设置:

    direct.network.stats.interval: 你希望CloudStack多久收集一次流量数据。

设置区域中VLAN和虚拟机的最大值

在外部网络情况下,每个虚拟机都必须有独立的来宾IP地址。这里有两个参数你需要考虑如何在CloudStack中进行配置:在同一时刻,你希望区域中有多少VLAN和多少虚拟机在运行。

使用如下表格来确定如何在CloudStack部署时修改配置。

guest.vlan.bits 单个区域运行虚拟机的最大值 区域中VLAN的最大值
12 4096 4094
11 8192 2048
10 16384 1024
10 32768 512

基于部署的需求,选择合适的guest.vlan.bits参数值。在全局配置设置中编辑该参数,并重启管理服务。