下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

如何提升虚拟机可用性?

作者:课课家教育     来源: http://www.kokojia.com点击数:1141发布时间: 2017-11-07 11:00:10

标签: 云计算hypervisor虚拟机

  欢迎各位阅读本篇,虚拟机(Virtual Machine),在计算机科学中的体系结构里,是指一种特殊的软件,他可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件,相互独立操作、互不干扰。本篇文章将教大家如何提升虚拟机可用性?课课家教育平台提醒各位:本篇文章纯干货~因此大家一定要认真阅读本篇文章哦!

如何提升虚拟机可用性?_云计算_hypervisor_虚拟机_课课家教育

  虚拟化极大地提升了服务器硬件的利用率,而且为工作负载的部署、迁移带来了更大的灵活性,但虚拟化也存在潜在的缺陷。目前一台服务器上可能运行了10台、15台甚至更多的虚拟机,如果服务器硬件出现故障或者遭到破坏,大量工作负载将会受到影响。因此服务器硬件、hypervisor和虚拟机的容错性与可靠性变得更加重要。让我们来看看与虚拟机高可用性有关的一些常见问题。

  虚拟机集群选项

  集群的概念是在两台或多台服务器上复制工作负载,并确保副本之间的同步。如果主集群服务器(节点)发生故障,受影响的服务器将被隔离在集群之外,第二个实例能够无缝接管。源服务器恢复后,能够重新加入集群并与其它实例重新进行同步。在这个故障转移的例子中,集群发生故障切换后只有一个实例处理所有的流量而其他实例处于备用状态。

  另一种集群方式是负载均衡。集群中的所有服务器都处于活动状态,负载的每个副本仅处理部分流量。节点发生故障后同样会从集群中隔离,其他实例会重新分担流量以处理负载。这两类传统的集群概念都可以直接应用于虚拟环境,现有的集群软件比如Windows Server Failover集群同样支持hypervisor和虚拟机。验证虚拟化的支持程度、升级集群软件感知虚拟环境同样很有必要。

  传统的服务器集群软件还有其他选择。例如,Stratus Technologies公司的everRun MX以及Vision Solutions公司的Double-Take Availability 7.0。这些工具独立运行,为虚拟化平台比如微软Hyper-V或Vmware vSphere上的虚拟机提供复制及同步功能。

  考虑虚拟机的容错性时有两个重要的问题。首先明智并审慎地使用集群。请记住虚拟机架构的灵活性会增加代价,关键业务才值得这么去处理。其他重要性较差的工作负载通常可以使用非集群技术比如快照进行保护。第二,了解容错性主要是为了应对硬件故障,因此避免虚拟机的多个实例运行在同一个物理服务器上至关重要。因此,容错性工作负载可能会和自动迁移或者负载均衡工具发生冲突。可能有必要设置迁移规则以明确指定副本能够迁移到哪些主机、不能迁移到哪些主机。

  使用虚拟机快照

  集群和快照是两个不同的概念,某些用于保护工作负载的第三方工具有时会混淆这两个概念。容错技术(比如集群以及虚拟机复制)用于保持工作负载的可用性。如果虚拟机的一个实例出错,另一台服务器上的副本实例会立刻接管,用户甚至不知道集群节点已经发生了故障。对不能容忍服务坏掉的应用程序最好采用集群模式。

  和集群不同,快照捕获并保存工作负载在特定时间点的状态。这意味着肯定存在RPO。虚拟机从快照中恢复出来同样需要时间,因此也存在RTO。虽然能够频繁地执行快照并进行快速恢复——存在较短的RPO和RTO——但在恢复快照时工作负载仍处于不可用状态。

但在恢复快照时工作负载仍处于不可用状态。

  由于非关键业务虚拟机能够容忍短暂的宕机,通常将快照作为数据保护的解决方案。通常,快照一般集中存放在本地SAN中,但如果需要额外的数据保护层(比如避免自然灾害或战争等对当地设施造成毁灭性危害),可能会将快照复制到远程SAN中。

  最后,要在集群和快照之间做出选择必须考虑个别的工作负载及其对业务的重要性。

  通过硬件提高虚拟机的可用性

  提高虚拟机可用性的一个重要战略就是关注底层硬件的容错性。如果服务器不发生故障,其上的负载也就不会发生故障。组织更新硬件时可以考虑服务器提供的容错功能。

  例如,Inel最新的至强处理器现在提供了内部数据总线检查机制,能够增强处理器内部数据的完整性,还能够检测并更正处理器内部的一些bit错误。新处理器检测特性能够利用管理软件工具产生报告记录软错误并用于后期评估,因此管理员能够做出更明智的决策,在问题真正出现之前对系统进行修复或者更换。

  在系统层面考虑硬件冗余。例如,冗余电源一直是企业级服务器的标准配置。拥有10、12乃至更多核心的处理器为工作负载提供了额外的计算资源(如果其中一个核心发生故障,负载将在同一服务器上的其他核心上重新启动)。

  内存的热备份特性能够在空闲的内存模块上重建故障内存模块中的内容。相比之下,内存镜像在备用的内存模块上复制内存内容——如果一个模块出错,内存镜像会进行接管(这和RAID 1很像)。

  其他服务器组件应该包括冗余元素。例如,网络接口卡可能包括三个或者四个网口。不仅提供了额外的带宽以支持多个带宽密集型负载,还允许将某些负载故障转移到其他端口。

  可用性是企业级工作负载的一个重要属性,但是组织应该采用最适合工作负载性质的技术,而不是过度保护太重要的工作负载或者对关键业务采用常规的保护方式。无论采用哪种虚拟机高可用性策略,一定要对其进行测试以验证确实达到了预期效果。不要等到灾难真正发生时才发现系统可用性存在意料之外或者无法接受的缺陷。

  知识分享:

  磁盘性能

  磁盘性能往往是无声的性能杀手。虚拟机磁盘性能受阵列磁盘数量、类型以及运行在其上的虚拟机的数量的限制。因为集中地共享存储架构将导致通过同一位置访问所有的虚拟机磁盘,阵列的存储控制器以及磁盘过载情况很容易出现,只剩下虚拟机在等待存储的响应。

  虚拟机等待磁盘IO、虚拟机CPU空闲对性能的影响有很大不同。等待IO的虚拟机无法做其他工作,因此高I/O等待时间意味着性能肯定会下降。进行周密的存储设计以避免上述情况的发生至关重要。

  合理选择磁盘 提升虚拟机性能

  在虚拟化中,hypervisor将工作负载从运行在底层的物理硬件中抽象出来,允许快速分配并共享计算资源,迁移工作负载。尽管hypervisor以及与虚拟化兼容的处理器性能开销很小,但是虚拟化层的存在却对性能有影响。

  当磁盘性能对工作负载至关重要时,某些管理员可能会选择以直通模式配置LUN,允许虚拟机的操作系统绕过hypervisor与直接LUN进行通信。

  例如,Windows服务器虚拟机可能使用直通模式绕过Hyper-V直接访问磁盘,这对SQL Server数据库的性能有些许提升。然而,由于客户操作系统(采用直通模式)以及hypervisor试图同时访问磁盘,那么hypervisor必须被配置为忽略直通LUN。

  直通模式存在的问题是其不被某些重要的虚拟化功能比如虚拟机快照或者集群所支持。因此,虚拟机在实际上可能会受益于虚拟化提供的各种功能特性而非采用直通模式所带来的处于边缘地位的性能提升。管理员需要评估虚拟机的需求并确定直通模式的适宜性。

  除直通模式外,Hyper-V以及其他hypervisor还提供了其他磁盘存储选项。例如,当.VHD文件被创建时,大小固定的磁盘将分配所有的数据块。一旦被创建,大小固定的磁盘就不能够进行调整了。然而,动态扩展磁盘从一开始创建的就是没有数据块的.VHD文件,当数据写入到.VHD文件中后磁盘空间才会被分配出去。

  这和精简配置类似,尽管在逻辑上创建了一块磁盘,但实际的磁盘空间只有数据写入时才会被用到。

  差分磁盘是一种特殊的动态扩展磁盘类型。其设计思路是父磁盘拥有固定的镜像而且差分磁盘与父磁盘相关联,因此写入到磁盘的数据被存放在差分磁盘而非.VHD文件中。

差分磁盘是一种特殊的动态扩展磁盘类型。

  读请求首先检查差分磁盘的.VHD文件,如果没有更改,就会读父.VHD文件。当需要标准化的磁盘镜像而且回滚功能很重要时,差分是一个不错的主意,但是管理员在维护父子磁盘配置时可能会面临挑战。

  小结:在计算机科学中,虚拟机是指可以像真实机器一样运行程序的计算机的软件实现。其实大家私下还得多多自学,当然如果大家还想了解更多方面的详细内容的话呢,不妨关注课课家教育平台,在这个学习知识的天堂中,您肯定会有意想不到的收获的!

赞(21)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程