关于 Apache CloudStack 的 概念和专用术语 (五)
Advanced Zone Guest IP Addresses
启用高级网络模型后,Apache CloudStack云管理员可以为虚拟机实例创建额外的网路。这些额外的网路可以跨专职地带使用、且可以被所有的Apache CloudStack账户取用,当然这些网路也可以被限定到某个单独的账户中使用(在这种情况下只有指定账户创建的虚拟机实例才能挂载到这些网路上)。这些高级网络由VLAN-ID、IP地址范围、网路出入口共同构成。只要愿意,你可以创建成千上万个这样的网路。此外,你还可以为Apache CloudStack云之外的应用实例保留一部分IP地址。
Advanced Zone Public IP Addresses
启用高级网络模型后,Apache CloudStack云管理员可以创建额外的公网网路供虚拟机实例使用。这些额外的网路可以跨专职地带使用、且可以被所有的Apache CloudStack账户取用,当然这些网路也可以被限定到某个单独的账户中使用(在这种情况下只有指定账户创建的虚拟机实例才能挂载到这些网路上)。这些高级网络由VLAN-ID、IP地址范围、网路出入口共同构成。只要愿意,你可以创建成千上万个这样的网路。
System Reserved IP Addresses
在每个专职地带中,你都需要为Apache CloudStack的管理网路预留一部分IP地址。这些预留IP网路承载着Apache CloudStack云管理服务和系统级虚拟机之间的通讯(系统级虚拟机包括但不限于DHCP服务虚拟机、控制台代理虚拟机、辅助存储虚拟机等)。
预留IP在整个Apache CloudStack云中必须是唯一的。正如不允许在两个专职地带中的宿主机有相同的专用IP地址一样。
在豆荚舱中的宿主机被分配了专用IP(这种专用IP通常遵循RFC1918私有网络IP规范)。控制台代理虚拟机和辅助存储虚拟机也被分配了他们所在豆荚舱中的CIDR型私有IP地址。
必须要确保Apache CloudStack计算服务和Apache CloudStack云管理服务没有使用保留IP。例如,一组Apache CloudStack保留IP的范围是192.168.154.2至192.168.154.7,那么可供Apache CloudStack中的虚拟化宿主机使用的IP范围就是192.168.154.8至192.168.154.254。
在所有的专职地带中都会为每个豆荚舱提供专用IP、并在整个Apache CloudStack云中供应专属私有IP。
对于KVM 和 XenServer,我们推荐的专属IP是每个豆荚舱中的每个宿主机独占一个。如果你预计豆荚舱中的宿主机数量会有增长,那么就应在Apache CloudStack搭建时规划好足够的专属IP以适应宿主机数量增长的情况。
In a zone that uses advanced networking
对于一个使用了高级型网络模型的专职地带,我们建议你为需要消耗IP地址的虚拟机或宿主机提供足量的专属IP、并插入足够多的Apache CloudStack系统级虚拟机(一般需要为系统级虚拟机准备额外的10个专属IP)。
启用高级型网络后,每个豆荚舱中的专属IP可用数据量取决于当前豆荚舱中的宿主机运行了何种虚拟化引擎。Citrix XenServer 和 KVM 使用了本地链接模式,理论上在一个豆荚舱的地址块中可以提供65000个私有IP。尽管豆荚舱中的宿主机数量会随时间推移而增长,但这个数量的IP地址对于任何合理数量的宿主机、虚拟机实例、系统级虚拟机而言是完全足够的。相比之下,VMWare ESXi使用了任何管理员都可以指定的子网方案,这样每个豆荚舱内只能提供255个ip。由于这些专属IP是和实体服务器、云内虚拟路由器及其他云内实体共享的,当向豆荚舱内增加运行VMWare ESXi的宿主机时是有可能耗尽这些IP地址的。
在使用了高级型网络的情况下,为了在运行VMWare ESXi的宿主机的豆荚舱中扩容宿主机后还能留有足够的可用IP地址空间,可以考虑采用如下技术:
1)给子网指定一个较大的CIDR型IP地址池,使用"/20"做掩码的子网可以容纳多达4000条IP地址;
2)创建多个拥有独立子网的豆荚舱,如果你创建了10个每个都拥有255个IP的豆荚舱,那么你将拥有多达2550个IP地址可用。
甲·四 Apache CloudStack的部署架构模式
部署Apache CloudStack的架构模式变化取决于你要部署的Apache CloudStack云规模和目的。本部分主要讨论Apache CloudStack云的部署架构样例,包括一个最小化的部署模式、一个概念验证型的部署模式和一个全功能的业务环境部署模式。
Small-Scale Deployment
这个示意图阐明了Apache CloudStack最小化部署时的网络结构:
1)配备了NAT模式的防火墙提供了公网连接。这个防火墙负责把来自公网的HTTP请求和API请求转发到Apache CloudStack云管理服务(Apache CloudStack云管理服务位于Apache CloudStack的管理网路中)
2)一个2层交换机连接所所有的硬件实体设备(包括硬件服务器和存储硬件)
3)一个NFS服务器同时提供主存储和辅助存储服务
4)Apache CloudStack云管理服务连接到了Apache CloudStack的管理网路
Large-Scale Redundant Setup
这个示意图说明了一个带冗余功能的Apache CloudStack的网络结构:
1)一个3层交换机局域数据中心的核心位置。这个3层核心交换机应该被配置诸如VRRP的冗余路由协议、支持NAT模式的防火墙(如果这个3层核心交换机没有集成防火墙功能的话,也可以部署独立的支持NAT的防火墙)。这个支持NAT的防火墙:首先把来自公网的HTTP请求和API请求转发到Apache CloudStack云管理服务(Apache CloudStack云管理服务位于Apache CloudStack的管理网路中);其次为跨专职地带的Apache CloudStack云提供点对点的VPN功能,只有如初位于不同专职地带中的服务器才能彼此直达
2)每个豆荚舱都接入一组2层接入交换机。多个交换机堆积后可以增加可用网路端口。无论何种情况,建议部署成具有冗余功能的2层接入交换机对儿。
3)Apache CloudStack云管理服务集群通过一对儿负载均衡器接入到了Apache CloudStack云管理网路中(这个集群包含了负载均衡前端服务、云管理服务节点及与之相应的MySQL数据库服务)
4)专职地带级别的辅助存储硬件接入到了Apache CloudStack云管理网路中
5)每个豆荚舱都包含了自己的计算硬件和存储硬件,这些硬件都配备了冗余网卡并各自接入到了独立的2层接入交换机
Separate Storage Network
在带冗余功能的Apache CloudStack中,存储流量可以被管理网路所承载,是否把存储网路独立出来是可选的。诸如iSCSI一类的额存储协议对网络延时是敏感的,架设独立的存储网路可以确保云管理服务对客户机网络流量的连接不会影响到存储性能。
Multi-Node Management Server
通常Apache CloudStack的云管理服务是以一个或多个前端对应一个单独的MySQL数据库的形式部署的。针对这种情况,我们可以选择使用一对儿硬件负载均衡器分发来自web上的请求,即部署一套Apache CloudStack的云管理服务集合,这个集合可以使用在远程站点上的MySQL数据库副本(以此来增强数据库的灾难恢复能力)。
部署架构设计者需要考虑的是:
1)是否要使用负载均衡器?
2)需要部署多少个Apache CloudStack的云管理?
使用要通过MySQL副本进行灾难恢复?