转一篇:Hyper-V和VMware的高可用实时迁移技术详解
ESX里以集群的ha、drs、dpm功能实现
HYPER-V里以集群+共享存储实现。
~~~~~~~~~~
微软公司的Hyper-V虚拟化管理程序一经面世就引发了业界的普遍关注。本文意在对Hyper-V的高可用性和快速迁移能力与VMware旗下的VMotion的实时迁移能力进行对比。在进行详细分析之前,我们还需要了解为什么高可用性在虚拟化应用中起着绝对关键的作用。
虚拟化是一项令人敬畏的技术。在减少企业的总体拥有成本方面优势巨大,其中最显著的优势就是节省了能耗。以一座10,000台服务器配置的数据中心为例,如果以2:1的比例应用虚拟化技术进行服务器整合将服务器的数量减少一半,那么这退役的5,000台服务器所节省的能耗和成本将是个不可思议的数字。
每月的能源支出账单最能反映问题。事实上,实现2:1的整合比例是非常简单的。(我们内部的IT部门多年来都在使用虚拟机,目前在用的虚拟机数量超过了2,500台,很容易就能实现8:1的比例整合。有了Hyper-V之后,服务器整合的比例还将迅速攀升)。
然而,虚拟化并非完美无缺的。虚拟化产生的主要问题是单点故障。过去用户可以在他们的每台物理服务器上运行20项工作负载。当其中一台服务器宕机时,虽然很糟糕,但不至于波及到整个服务器网络。
而在虚拟化环境里,如果20项工作负载都在一台服务器顶部运行,那么一旦物理服务器宕机会发生什么呢?那就意味着所有的工作负载都会陷入瘫痪。这就不止是糟糕而是个灾难了。事实上大量虚拟化用户都反映了这个单点空白的问题:
虚拟化是项了不起的技术,但那是如果没有高可用性解决方案就无法实施虚拟化的部署。如果虚拟机宕机又没有配套的高可用性解决方案,那数据中心管理者就会因此而失业。
以上是我们对虚拟化部署中高可用性的重要作用的概括总结。
有了高可用性的概念,我们就知道要为计划内和非预期的宕机提供解决方案。计划内宕机是两种宕机中相对容易解决的一种(因为在计划内)也非常普遍。通常来说,硬件设备(添加内存,存储设备或者升级BIOS)或软件补丁都在计划内宕机之列。多数用户都会提前为宕机预留时间(清晨或者周末)。
非预期的宕机解决起来就相对较难。当一台服务器遭遇突然断电时,用户就希望服务器上运行的虚拟机能在没有用户干预的情况下实现在其他服务器上的自动重启。
Hyper-V管理程序与Windows Server 2008操作系统的Failover Clustering相结合,即使用户拔掉电源插头,所有的虚拟机也无需用户操作就能在其他节点上自动重启。另外,Windows Server 2008操作系统企业版和数据中心版本都包含这个功能(无需额外收费)。
我需要特别强调的是:
虚拟化与高可用性紧密相关;如果用户在没有高可用性解决方案的情况下部署虚拟化,用户就应该重新评估他们的实施战略。
Hyper-V管理程序包含完整的高可用性解决方案并与Windows Server 2008操作系统企业版和数据中心版本绑定,无需额外收费
接下来我们来讨论计划内宕机,并对快速迁移和实时迁移之间的不同加以比较;通过上周我从用户处得到的反馈,我意识到先要对一些疑惑做出解释。
用户用电子邮件的方式表示VMotion非常适用于非预期的主机宕机,因为它能实现虚拟机的实时迁移,所以是更好的高可用性解决方案。但这并不能简单套用到这个案例里。
在非预期的宕机情况下,由于没有预兆VMotion也不能实时迁移。取而代之的是用户必须配置VMware的高可用性解决方案。最好的做法是在其他服务器上重启受到影响的虚拟机,这与Windows Server 2008 Hyper-V以和Failover Clustering的做法是一样的。
以下引用VMware的文件对自动高可用性服务器的描述,第一页第二段这样说道:
"使用VMware的高可用性解决方案,虚拟机能在硬件故障的时候自动重启~"
第8页这样描述:"VMware的高可用性如何工作?
VMware的高可用性解决方案能连续监控集群上托管的所有ESX服务器并对硬件故障进行探测。每台主机上放置的代理服务器都保持和集群上其他主机的密切联系。高可用性解决方案会全天候监控集群资源是否充足,以备能在发生主机故障时随时在不同的物理主机上重启虚拟机。"
从这点上看,VMware的高可用性解决方案和Hyper-V的failover clustering实现的是同样的功能:那就是在其他的服务器上重启虚拟机。没有谁好谁坏之说。如果你仍然不相信我,找一台ESX Servers,切断电源试一下(别说我没警告你)。
之前我们讨论了高可用性解决方案对于非预期主机宕机的重要性。现在让我们继续探讨计划内宕机下快速迁移和实时迁移的比较。首先让我们先了解一下用户为什么需要迁移功能?
要实施计划内宕机主要出于两个原因:
1.硬件维修。硬件的更新换代需要添加额外的内存,存储或者BIOS升级。这时服务器就必须脱机,用户要将服务器上的工作负载在预定维修时间内快速进行迁移。
2.对主机操作系统进行补丁升级。如果根分区需要打补丁而补丁程序又需要重启,然后用户在预定的维修时间里将虚拟机快速迁移(需要指出的是运行Hyper-V最好的办法是用Server Core安装,这样能减少为Windows操作系统打补丁的需求)
我们曾就询问过使用实时迁移功能的用户,是否他们因此改进了维护流程,特别是当他们进行硬件升级的情况下。多数回答是:"不,我们仍然为服务器的宕机时间做了计划"。甚至是使用实时迁移的用户也是在宕机情况下维护硬件的。
转一篇:Hyper-V和VMware的高可用实时迁移技术详解的更多相关文章
- Vmware在NAT模式下网络配置详解
		
Vmware在NAT模式下网络配置详解 Linux中的网络配置对于接触Linux不久的小白菜来说,还是小有难度的,可能是不熟悉这种与windows系列迥然不同的命令行操作,也可能是由于对Linux的结 ...
 - Vmware 6.5:vmware vm高可用-vSphere HA & Fault Tlerance
		
目录 vmware HA介绍 服务器添加存储,将存储挂载到服务器上 vcenter安装配置 群集配置 故障迁移测试 下载地址:百度云 参考文档: vmware HA介绍 vmware vm高可用至少需 ...
 - 【转】在VMware中为Linux系统安装VM-Tools的详解教程
		
在VMware中为Linux系统安装VM-Tools的详解教程 如果大家打算在VMware虚拟机中安装Linux的话,那么在完成Linux的安装后,如果没有安装Vm-Tools的话,一部分功能将得不到 ...
 - VMware 虚拟化编程(7) — VixDiskLib 虚拟磁盘库详解之三
		
目录 目录 前文列表 VixDiskLib 虚拟磁盘库 VixDiskLib_GetMetadataKeys VixDiskLib_ReadMetadata 获取虚拟磁盘元数据 VixDiskLib_ ...
 - VMware 虚拟化编程(6) — VixDiskLib 虚拟磁盘库详解之二
		
目录 目录 前文列表 VixDiskLib 虚拟磁盘库 VixDiskLib_Open 打开 VMDK File VixDiskLib_Read 读取 VMDK File 数据 VixDiskLib_ ...
 - VMware 虚拟化编程(5) — VixDiskLib 虚拟磁盘库详解之一
		
目录 目录 前文列表 VixDiskLib 虚拟磁盘库 虚拟磁盘数据的传输方式 Transport Methods VixDiskLib_ListTransportModes 枚举支持的传输模式 Vi ...
 - 《python开发技术详解》|百度网盘免费下载|Python开发入门篇
		
<python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby 内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利 ...
 - 【转】VMware虚拟机三种网络模式超详解
		
[原文]https://www.toutiao.com/i6596228488666022403/ 由于Linux目前很热门,越来越多的人在学习Linux,但是买一台服务放家里来学习,实在是很浪费.那 ...
 - [转载]JavaEE学习篇之——JQuery技术详解
		
原文链接:http://blog.csdn.net/jiangwei0910410003/article/details/32102187 1.简介2.工具3.jQuery对象 1.DOM对象转化成j ...
 
随机推荐
- 用于A*的 二叉堆 AS3实现
			
package com.copper.isometric.pathing { import flash.sampler.startSampling; /** * ...
 - 如何评估oracle AWR 的在oracle 中的存储情况
			
如何评估oracle AWR 的在oracle 中的存储情况 如果把awr保存时间从默认的7天修改为30天,采样时间从1小时修改到更短,修改之后如何预估空间占用? ------------------ ...
 - Android CountDownTimer 倒计时
			
摘自:http://www.cnblogs.com/over140/archive/2011/12/20/2294220.html 继承关系 public abstract class CountDo ...
 - Android技术精髓-Bitmap详解
			
Bitmap (android.graphics.Bitmap) Bitmap是Android系统中的图像处理的最重要类之一.用它可以获取图像文件信息,进行图像剪切.旋转.缩放等操作,并可以指定格式保 ...
 - Android(java)学习笔记227:服务(service)之服务的生命周期 与 两种启动服务的区别
			
1.之前我们在Android(java)学习笔记171:Service生命周期 (2015-08-18 10:56)说明过,可以回头看看: 2.Service 的两种启动方法和区别: (1)Servi ...
 - ASP.NET-FineUI开发实践-12
			
1.网上找到了行合并的示例,extjs写的,我把它挪过来改了下,FineUI也能用,就是只能放着看,选择和编辑行扩展列没有测试,放出来大家看着用吧. <script> F.ready(fu ...
 - 016--JLE JNG(小于等于)
			
一.指令格式 条件转移指令 JLE/JNG 格式: JLE/JNG 标号地址 功能: 小于等于/不大于 时转到标号地址 JNG 有符号 不大于 则跳转 //Jump if ...
 - 使用<input>标签做了两个按钮, 按钮之间间距如何去掉
			
遇到的问题: 使用<input>标签做了两个按钮, 按钮之间有个间距不知道怎么去掉. 如下图: 问题解决: <input>是内联块状元素(inline-block); 内联元素 ...
 - My.Ioc 代码示例——属性和方法注入
			
在 My.Ioc 中,我们可以指定让容器在构建好对象实例之后,自动为我们调用对象的公共方法或是为对象的公共属性赋值.在解析对象实例时,容器将根据我们在注册对象时指定的方法调用或属性赋值的先后顺序,调用 ...
 - 此方法显式使用的 CAS 策略已被 .NET Framework 弃用
			
用vs2008开发的应用程序在vs2012中打开时提示如下: 此方法显式使用的 CAS 策略已被 .NET Framework 弃用.若要出于兼容性原因而启用 CAS 策略,请使用 NetFx40_L ...