返回首页

一,摘要在过去18个月,
已改造的一个关键因素,往往企业生产环境的延伸,是一种利基技术方面取得了重大进展。由于基础设施即服务(IAAS),远远超过虚拟化,企业过去的测试/开发方案中的作用已开始移动,并已开始取代传统的专用资源,迫使成一个整体的考虑一套新的IT决策者。
本技术白皮书协助IT经理和他们的团队的规划所需要的概念,设计和部署与Rackspace公司Linux云服务器的高可用性最佳实践IaaS环境。虽然大部分信息这里介绍的是Rackspace的具体化,许多理论和讨论可以适用于所有虚拟化的IaaS解决方案。什么是高可用性(HA)?
虽然维基百科定义{A1}"的系统设计方法和相关服务的实施,确保了经营业绩的预先安排的水平将在合同测量期间会见了吗?我们将专注于云配置,消除本文许多单点故障可能的,而且本质上是设计特别注重对业务连续性,冗余和故障转移功能。
高可用性,可以实现许多不同的层面,包括应用水平,基础设施水平,数据中心级别,和地理冗余级别。我们将在本白皮书的重点放在基础设施水平。
在其最基本的形式,基础设施水平的HA配置包括:两个或多个负载平衡器两个或多个Web服务器两个或多个数据库服务器
{S0}
在这个例子中,主动/被动的负载平衡器,多个Web节点,并复制的数据库服务器都提供冗余配置的每一层。
当然,先进的HA配置,其中包括跨多个数据中心的地理冗余设计的,可以成为相当多的比基本医管局图为例如复杂的。
三。是否您的业务需求医管局?
正如我们在我们日常生活中的数字依赖性增加了,在我们使用的应用程序停机时间为用户创建一个显著的焦虑。当Gmail中,脸谱,或ATamp,T的经验中断,这些活动收到国家,往往是国际关注。
不仅可以在你的产品的停机时间变成一个灾难性的公关噩梦,但更重要的是,它也可严重损害你的客户群的忠诚度,取决于你对他们的经济生活。 ,领先的IT市场研究公司,IDC估计,2007年,"服务器停机时间成本组织约为140亿美元的收入损失,并降低了工人的生产力。??
无论组织的规模,如果在您的内部基础设施或核心产品的停机时间产生负面影响你的底线,你是一个完美的候选人探索云房委会。
高可用性仍然是一个棘手的和昂贵的专用环境​​。幸运的是,云计算带来的最小型和中小型企业达到内房委会。四。 Rackspace云HA VS。专用HA
三个显着的优势,使云医管局比专用HA更好的选择。让我们打破他们每个人下来。1)缩放。
,如果你的专用环境​​经验的交通突然爆裂,你有没有必要的开销,网上留?扩展战略是什么?你有一种方法来预测预期的流量可能会在这些尖峰吗?即使与最佳实践医管局配置专用齿轮,缩放可以是一个费时,困难和昂贵的命题。幸运的是,云介导对这些问题的相当数量。云服务器提供两种类型的结垢:缩放(开箱?新手?)
云服务器可以很容易地被调整,在控制面板中点击几下,5至10分钟的时间。云服务器都可以配置256MB内存(Linux)的缩放方式的RAM 15GB开始。这些上浆的调整需要简短的人为干预,使用云控制面板或编程通过{A2}执行B)近实时缩放(API/3rd第三方应用程序??专家)
云HA配置,你可以充分利用,如enStratus动态缩放工具,提供近实时自动缩放。 enStratus可以设置监控您的环境中特定的阈值,包括平均负载,磁盘空间利用率等,它可以采取预构建的Web服务器模板图像,自动提供,并重新配置负载平衡器开始从其他Web节点在飞行。精明的开发商也可以使用Rackspace公司{A3},发展自己的自动化缩放解决方案。2)管理放大器;工具
云服务器的管理,尤其是当多个节点的环境中,是远远比管理多个服务器的专用环境​​更容易。无论是通过门户网站或API,云服务器可以很容易地被复制,重新映像,发起抢救修复模式,通过一个虚拟控制台,更访问。此外,像Cloudkick这样的接口需要管理更进了一步,允许容易在许多供应商的云服务器资源管理。这使你的所有的虚拟化实例,无论是从Rackspace公司或备用供应商,成为一个中央管理控制台。五,容量规划
即使与云服务器缩放固有的灵活性,没有任何特定的云HA配置容量规划有限的公式,作为项目的要求始终是唯一的。所有这些计算的努力,特别是尚未将要推出的项目,一个显著的估计金额,根据以往的经验,在适当的大小,环境。幸运的是,云缩放缓解,估计失误可以很容易地得到纠正。这可以防止客户未使用的资源或长期供应专用设备的建设时间超过支付。
一个常识的做法,尤其是高效的云每小时计费模式,建设30 - 40%,过去最高估计开始时的要求。它总是容易缩减不必要的资源,最迟开始第一天的能力不足。
要开始浆纱您的配置,开始编译的任何信息,你对现有的或预期的带宽利用率,并发进程和访问量,应用重量等一些示例数据类型介绍如下。
1)峰值吞吐量分析:寻找所需要的带宽在高峰时段是你的计算的关键。在精度为了实现这一点,有三种方式:最准确的:
如果你有机会到现有的MRTG图表或类似的吞吐量图表指标,您在高峰使用时间在您的防火墙(FW)(或您的网站结合节点)兆位/秒的最大吞吐量。还算准确:
如果上面没有可用的,使用率最高的带宽(BW)一天过去几个月兆字节(MB)或千兆字节(GB),并计算Mbit /秒。我们将在每天的这一数额的鸿沟,权衡对用电高峰,8小时。重要的是要记住,这是一个指导,而不是有限的计算。
范例:5 GB /天:5GB ​​ 1024 = 5120MB/day / 8小时= 640 MB /小时/ 60分钟= 10.66 MB /分钟/ 60秒= 0.18 MB /秒* 8 = 1.42兆位/秒最不准确的:

如果你只提供给你的每月流量统计,一般的想法仍然可以达到
例如:。2TB/mo:2TB * 1024 = 2048 GB * 1024 = 2097152 MB / MO
2,097,152 MB / MO / 31天= 67650 MB/day/24小时= 2818 MB/hr/60分钟= 47MB/min / 60秒= 0.78兆字节/秒.78MB/sec * 8 = 6.24兆位/秒
2)并发连接能力分析:应收集两个项目:所需的最大并发用户数:这通常是一个简单的估计,从你的团队的开发商或系统架构师中收集的。重量:平均用户访问,平均多少页或资源,并与每个访问的用户访问?什么是这些资源,以MB为单位的重量?
例如:500个并发连接:0.75 MB /访问
50 * 0.75 = 37.5 MB /秒= 300兆位/秒的吞吐量需要
3)应用分析:估计多少RAM,您可能需要在Web服务器上,分析您的应用程序的重量是非常重要的。应注意的有三个关键指标:
重量=请求重量*每页的请求/秒=所有网络节点/请求WeightVisits /秒的总RAM =总网站RAM /页重量
重要的是再次强调,上面的分析,只有在一个非常宽松的估计,挑选适合您的配置一般的起点。有了这个信息,你可以决定每页的成本,并通过网页指标,发现哪些页面是赔你最。
在下一节,我们将采取这些投入,并建立一个最佳的估计架构。一旦结构构造,应用程序部署在测试模式下,我们将运行一套严格的性能基准测试工具,来验证我们的计算,看看我们的估计是如何准确的横空出世。架构的解决方案
容量规划完成后,我们需要开始设计我们的云HA配置负载均衡层,并通过网络和数据库层。负载平衡,我们将使用两个云服务器,其中每个将作为一个负载平衡器,利用开放源码工具,如HAProxy,nginx的,等等,这些服务器将轮询对方即时故障转移利用心跳,和共享的IP地址。如果一个节点或主机管理程序失败,第二个负载平衡器将接管实时。
您可以阅读下列文件引用在Rackspace公司知识中心有关此设置的详细信息:
{A4}
{A5}负载平衡层设计决定是否需要在LB层SSL终止。如果是,使用nginx的。如果没有,或者如果SSL传递就足够了,使用HAProxy。作为"浮动IP请求额外的IP??通过广大客户的支持,票务系统支持。这将功能的VIP(虚拟IP /动产IP),您将D​​NS来指向您的网站。选择出站Mbit /秒以上的公共接口在高峰时间计算的要求基于云服务器。参考此图表为适当的大小:
{S1}如果您的LB吞吐量需求比70mbit/sec较高,您将需要考虑多个负载平衡器对。要做到这一点,需要使用一个循环赛的DNS解决方案,如UltraDNS的。
{S2}Web层设计
云服务器Web层设计是非常简单的云服务器专用齿轮​​模仿从许多管理角度。无论你是利用了Apache,Tomcat的,lighttpd的,或一些其他的Web服务器,这一层的设计,将会为中级到高级的管理员熟悉的领域。记得要记住脚本计划将需要您的内容复制到每个Web节点的codebase更新时。无论是通过经常性的cron作业的Git或rsync的都是不错的选择。数据库层设计
云服务器提供了一个灵活的和有能力的DB环境。让我们来探讨几个不同的可能配置,包括一些缺陷和重要的设计说明。
主/从:
不是一个真正的HA环境中,在任何意义上来说,由于故障转移需要一定的人工干预。尽管如此,主从复制还提供了两个关键的优势:性能:通过执行数据库插入(写入)的奴隶,对硕士和DB选择(读取),一般DB负载蔓延,为繁忙的R / W的网站可以产生额外的性能。另一个好处是,保持数据的可用性,减少RPO(恢复点目标),主服务器遭受数据丢失故障。备份:通过在slave上执行备份,您的网站没有在备份过程中的影响。随着一台服务器和一个大型数据库,备份可能导致在您的网站从mysqldump的诱导滞后表被锁定的简要放缓。相反,你可以只取出旋转的奴隶(S),关闭从运行的备份,然后启动一个更加无缝的备份体验奴隶。
{S3}
一对主/从倒台的是,你通常需要确保您的应用程序是旨在分裂读取和写入。如果不是这样的情况下,可能需要重新编码位
横向缩放您的主/从配置额外的奴隶,也可以随机读取您的应用程序代码的来源,或放置在前面一个HAProxy实例完成的奴隶,以平衡的要求。MySQL代理的主/从
实施MySQL代理的背后大有裨益的能力将读/写交易分裂的主/从以上所述的解决方案,但无需重新编写应用程序。然而,单一的MySQL Proxy实例,现在还一个单点故障,不符合房委会的要求。为了解决这个问题,我们可以部署与故障转移MySQL代理利用心跳的DB结构作为第二个图所示。
这里的一个潜在的挑战是需要利用浮动IP,就像在房委会LB层上面的例子。然而,这一个IP需要私人,以避免带宽费用和目前的云服务器产品,不提供私人浮动IP地址。可以通过创建自定义的路线和云服务器使用自定义子网的变通办法。
{S4}的
tMulti主模式:
此配置,一般是不会在云服务器环境中,由于未能保持同步的DB节点的潜力的最好的东西。当这种情况发生,复制休息,并解决它可能会导致应用程序停机时间。考虑这种解决方案,如果有一个非常具体的需要和理解所有的风险和影响。
{五}主 - 主
此配置,一般是不会在云服务器环境中,由于未能保持同步的DB节点的潜力的最好的东西。当这种情况发生,复制休息,并解决它可能会导致应用程序停机时间。考虑这种解决方案,如果有一个非常具体的需要和理解所有的风险和影响。
{中六}
这些只是很多数据库设计HA配置时的架构,可以选择一些。高流量和数据库密集的场所,将有利于在这方面最谨慎的选择。七。 HA环境安全
医管局云环境的安全,不应该是一项艰巨的任务。通过使用标准服务器硬化最佳实践,客户可以确保他们有一个被保护的机器的设置。关闭未使用的端口,备用端口上运行的服务,禁用根SSH访问,保持您的系统打补丁等,如常见的做法是所有云服务器同样重要,因为他们在专用服务器上。
Linux云服务器默认情况下有两个网络接口:一个公共(eth0)的云服务器连接到外面的世界和一个私人(eth1的),简称为ServiceNet后端网络上运行。 ServiceNet用于云服务器到云服务器通信没有任何带宽费用。这两个接口上的严格的iptables规则应该是一个安全计划的主要重点。大的文件,以协助在云服务器配置的iptables你可以发现在我们的知识库。
另一个考虑的安全配置选项是使用防火墙/网关负载平衡的实例,并禁止任何公开的访问了(eth0接口)到您的网页和数据库节点。这些"后台??服务器,然后通过私人Rackspace公司(eth1)的ServiceNet网络的LBS沟通,消除从入侵者的另一个可能的攻击媒介。
最后,云服务器可以被配置为几乎每一个专用服务器的安全,许多合规性标准尚未被重新编写,包括云技术。即使云服务器很容易获得和硬化,寻求HIPAA,PCI和其他监管合规性的客户需要了解,一般的云环境还不满足这些符合标准。也可以说,这些标准的部分(例如:禁止多租户)将需要更新,我们预计他们将随着时间的推移,和Rackspace参与标准委员会等年底。我只想说,你应该非常熟悉与利用云之前,所有符合要求。八。测试去现场
后,您的配置是建立,测试是确定真实世界的结果估计在设计阶段计算能力的下一个关键的一步。
压力测试可以执行,也可以用开源工具,如ApacheBench,JMeter的,http_load,和筛,或如SOASTA和LoadStorm先进的服务。虽然免费的工具可以绝对您当前的环境和云环境之间产生了一些有用的比较试验结果,这些工具不总是告诉整个故事。预算时有能力,先进的服务,如SOASTA及其专家团队可以帮助模拟各种测试用例地理上分散的交通,你可以期望的最好估计。
提示:部署监测和性能日志记录工具(如特区,穆宁,和MQL慢查询日志)压力测试之前,可以帮助显示在环境领域,可用于优化候选人。
一个测试计划的显著部分也应包括基础设施的功能测试。在尽职调查的必要练习包括:验证您的负载平衡器,超过妥善失败;确保正确的网络节点的请求进行平衡;检查适当的复制功能的数据库。
最后,创建一个记录的计划,在发生灾难时采取纠正行动的具体步骤概述,并测试这个计划发射前,应是当务之急。最后的思考
本技术白皮书只是脱脂表面上的设计和部署医管局Linux云服务器架构。它讨论了一些关键Rackspace公司的具体信息,并希望提供的工具和方法的洞察力位Rackspace云上创建的HA解决方案的任务时要考虑的。云计算提供了一个巨大的转变,在增加可扩展性和可观的成本节省,比传统的环境。应考虑其IT战略的一部分使得它在这个时候,云是对企业生产环境和那些尚未接受该技术的组织准备。| Rackspace公司托管

回答

评论会员: 时间:2