网站首页
关于我们
主机分类
解决方案
云计算研究
资源下载
云计算教程
留言反馈
联系我们

主机故障分析

当云主机故障,如何避免大问题出现

发布时间:2017-12-09 11:52

Nick Chase on March 1, 2017
 
昨天,在写一份教程时,我突然想起网络互联是如何实现的。一切都在很好的运转,直到我试图对一个非常大的存储资源库做改变。那个时候一切都戛然而止。
 
“没问题,”我想。“每个人都时不时会有点麻烦。” 所以我决定先忙另一个不同的内容,并打开另一个浏览器窗口中的项目管理系统,一个用得到的URL。但这个服务器告知,“收到一些错误。”
 
好吧,那我要处理的邮件列表任务呢?哦,不,那个应用也down了。
 
现在你可能已经知道了,所有这些问题都是源于一个故障,这个故障发生在一个Amazon Web Services的S3存储的数据中心。根据BBC英国广播公司,这次失效甚至影响了大型网站Netflix、Spotify和Airbnb。
 
现在,你可能会认为我写这是因为幸灾乐祸----毕竟,在这里 Mirantis 谈了很多关于OpenStack。我们常常听到的是“哦,私有云是不可靠的”----但情况不是这样的。
问题是,公共云并没有比私有云更可靠或更不可靠,只是你不是负责维护和运行的人。
 
这就是问题所在。
 
如果AWS的S3失效,你将什么事也做不了。哦,这并不是说你没有什么可以做,以保持您的应用程序,这是一个不同的问题,我们将在一瞬间。但你并不能做什么使得S3(或EC2,谷歌计算引擎,或任何我们谈论的公共云服务)恢复和运行。问题是你甚至不知道有一个问题,直到它开始影响你和你的客户。
 
不久前Amar Kapadia对比了供应商提供和管理云服务的DIY私有云的成本。在计算中,他把down机时间作为总成本的一部分,计算DIY和供应商提供私有云。但事实上,正如AWS S3事件所证明,没有云----即使是由世界上最大的公共云----也不能避免停机。这一切都在于你做点什么。
 
那么你能做些什么呢?
 
你听说过“最好的防守是进攻”吗?嗯,云操作也是如此。在一个理想的情况下,你会知道在云里到底发生了什么,并故障产生之前,采取行动解决或避免问题。你希望在数据中心失败之前,你的存储的错误率是升高的,这样你可以解决和解决问题。你希望当出现一个服务器运行缓慢,你可以找出原因,并在故障前或承担关键工作时替换它。
 
虽然我们在这,一个真正的云应用程序应该能够度过难关,比如一个Hypervisor或储存失败;被设计成容错的。纯玩开放云是关于建立你的云和应用程序,使他们甚至不容易失败的数据中心。
 
但是这意味着什么呢?
 
 
什么是纯开放云?
 
在接下来的几个月里,你会听到更多关于“纯开放云”的信息,但是对于我们讨论的目的,它意味着以下内容:
基于云计算的基础设施,是对硬件和底层的数据中心(可在任何地方运行)不可知的,而是基于开源软件如OpenStack,Kubernetes,Ceph,网络软件如opencontrail(所以没有厂商锁定,你可以移动它的托管环境和自己之间)和管理基础设施代码,使用CI / CD的管道,等等,使可靠和可扩展。
 
好吧,好绕口!但这在实践中意味着什么?
 
这意味着理想的情况是:
 
•  不依赖于单一供应商或云
•  能迅速应对技术问题
•  对下层云有可见性
•  在故障出现之前可以解决问题
 
听起来很棒,但并不总是容易能让它实现。让我们一次看看这些东西。
 
 
不依赖于单一供应商或云
 
亚马逊Web服务开启全新的工作方式时,它有一个重大缺陷:完全依赖于AWS。 OpenStack的发展动力的一部分是因为这个原因。
 
这里的问题是技术和财务。AWS试图将价格全面下调,但更大的成长,增量成本的增加就出现了。如果你的整个基础设施是建立在AWS产品和API,那么一旦你决定需要做其他的事情,你就被限制住了。
 
更好的方法是建立自己的基础设施和应用,这些并不感知硬件和底层基础设施。如果你的应用程序不在乎是在AWS或OpenStack运行,那么你可以创建一个OpenStack的基础设施,服务你的应用程序,利用外部资源,如AWS和GCE紧急扩容—或应急。
 
 
迅速应对技术问题
 
在理想状态下,没有人会被AWS的S3的美东1区停电而影响,因为他们的应用程序将是架构在多个地区。这是什么地区。然而,很少发生这种情况。
 
建立你的应用程序,使他们有-或者至少可以在多个地点存在。理想情况下,它们是默认展开的,所以如果一个“地方”出现问题,应用程序会继续运行。然而,这种冗余可能会变得昂贵,所以下一个最好的办法是让它检测到一个问题,并在紧急情况下切换到故障安全或备用区域。在最低限度,一旦问题已被检测到,你应该能够手动切换到另一个选项。
 
在情况变得紧急之前,这些更适宜进行操作。
 
 
对底层云有可见性
 
这个特性是私有云或托管云相对公有云而言具有绝对优势的一个领域。毕竟,云的基本原则之一是,你不一定关心具体运行你的应用程序的硬件,除非你负责保持运行。
在这种情况下,使用工具,如stacklight(OpenStack)或K8s(Kubernetes)可以给你洞察到底层。您可以看到是否有问题正在酝酿,如果是,您可以解决故障,以确定是否是云本身的问题,或运行在它上的应用程序。
 
一旦你确定你的云有问题(而不是在它上运行的应用程序),你可以立即采取行动。
 
 
在问题出现之前解决隐患。
 
对于许多人来说,当开车上路的时候,就会遇到预防和修复问题。随着云专家的严重短缺,许多公司都很焦虑,完全依靠自己内部人来管理云,会人手短缺。
它不一定需要那样。
 
虽然这“DIY”的方法似乎是进入云最便宜的方式---毕竟,该软件是免费的,对不对?-但长期而言,这不一定是真的。
 
传统的答案是使用供应商分配和购买支持服务,这绝对是一个可行的选择。
 
第二选项日益流行的是“云管理的概念。”在这种情况下,无论云在不在你的地域,但重要的是,它是由寻找迹象的专家来看护,能够确保云保持SLA,并且不带走你的控制权。
 
例如,Mirantis OpenStack云管理是一种服务,可以7*24小时监视你的云,可以在发生故障之前解决问题。它包括远程监控、CI / CD架构,KPI报告,甚至操作的支持(如果必要的话)。但是,Mirantis OpenStack云管理的设计概念,建设-经营-转让;一切都是建立在开放的标准基础上,所以你不会被锁定;当你准备好的时候,你可以过渡到少量支持,甚至完全接管。
 
重要的是,有帮助可以让你运行,而不让你陷入困境。
 
 
控制你的云命运
 
这里重要的是,虽然似乎很容易依赖于一个巨大的云供应商为你做一切,但这不一定符合你的最佳利益。控制你的云,并负责确保你有选项----更重要的是,你的应用程序也有选择。

网站地图|百度云Windows 2012 如何安装| Linux安装Chrome方法