转一篇: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 ...
随机推荐
- 《Java 并发编程实战》读书笔记之二:图文讲述同步的另一个重要功能:内存可见性
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17288243 加锁(synchronized同步)的功能不仅仅局限于互斥行为,同时还存在另 ...
- Android Scroller类的详细分析
尊重原创作者,转载请注明出处: http://blog.csdn.net/gemmem/article/details/7321910 Scroller这个类理解起来有一定的困难,刚开始接触Scrol ...
- VMware下安装Ubuntu,那么必须安装VMware-tools,才能获得更好的体验,包括屏幕分辨率、声音、和windows共享剪贴板等等
在VMware下安装Ubuntu,那么必须安装VMware-tools,才能获得更好的体验,包括屏幕分辨率.声音.和windows共享剪贴板等等. 个人觉得安装vmware-tools很重要的几点: ...
- IOS Dictionary和Model相互转换
// // HYBJSONModel.h // Json2ModelDemo // // Created by huangyibiao on 14-9-15. // Copyright (c) 201 ...
- 深入分析 Java 中的中文编码问题--转
几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言 ...
- Android 获取系统或SDCARD剩余空间信息(转)
android.os下的StatFs类主要用来获取文件系统的状态,能够获取sd卡的大小和剩余空间,获取系统内部空间也就是/system的大小和剩余空间等等. 看下读取sd卡的:Java代码 ...
- SPOJ 181 - Scuba diver 二维背包
潜水员要潜水,给出n个气缸(1<=n<=1000),每个气缸中有氧气量为ti,氮气量为ai,气缸重量为wi(1<=ti<=21,1<=ai<=79,1<=wi ...
- Python可迭代对象、迭代器和生成器
Python可迭代对象.迭代器和生成器 python 函数 表达式 序列 count utf-8 云栖征文 python可迭代对象 python迭代器 python生成器 摘要: 8.1 可迭代对象( ...
- mysql sql语句大全(2)
1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份 ...
- mysql set names.
SET NAMES utf8 相当于 SET character_set_client = utf8 --用来设置客户端送给MySQL服务器的数据的 字符集 SET character_set_res ...