【虚拟化实战】容灾设计之四VPLEX
作者:范军 (Frank Fan) 新浪微博:@frankfan7
VPLEX等存储设备的出现,可以实现双活数据中心,最大程度的有效利用运算和存储资源。
在“容灾设计之三Stretched Cluster”中我们介绍了Stretched Cluster的概念,EMC VPLEX是Stretched Cluster支持的存储设备之一。本文大概介绍EMC VPLEX和VMware Stretched Cluster的集成。当然VPLEX也可以独立使用。
一 VPLEX简介
Stretched Cluster对存储的要求是在任何灾难的情况下,虚拟机都能够访问到数据,而且性能不受影响。在灾难恢复后,存储设备尽量能自动切换到最初的设置,避免因为过多的人工干预而产生服务中断。
那我们来看看VPLEX是否能满足这些需求。
以上图的VPLEX Metro为例,该设备有三个突出的特点:
兼容性:VPLEX不仅可以管理EMC的存储设备,还可以管理很多其他厂商的设备。
分布性:VPLEX把底层的存储资源整合起来,创建了中间的一层叫做Distributed Volume。vSphere Cluster无需了解底层使用什么存储设备,只需要在Distributed Volume上创建Data Store。Distributed Volume支持VMFS和RDM.
智能性:假设在Site A的一个VM对Distributed Volume上的数据有写操作,VPLEX会同时在Site A和Site B的存储设备上完成这个写操作。注意写操作都是由本地的VPLEX设备对本地的存储发起的,不会出现异地写造成时延的情况。读操作都是在本地进行的。
二 Architecture Decisions
假设你已经决定使用Stretched Cluster,在评估VPLEX是需要考虑以下几个重要的Architecture Decision
选择哪款VPLEX设备
|
Type |
Comments |
|
Local VPLEX |
只适用于单个数据中心 |
|
Metro VPLEX |
通常用于距离小于100KM的两个数据中心,Synchronous up to 5ms RTT |
|
Geo VPLEX |
通常用于距离小于100KM的两个数据中心, Asynchronous up to 50ms RTT |
是否需要Witness,如何设置Witness?
以上图为例,假设在数据中心之间供VPLEX设备间通讯的FC或者IP网路中断了,既然两个数据中心都可以对本地发起写操作,这不乱套了么。怎么决定哪个数据中心的存储设备是主设备(preferred),哪个数据中心的存储设备是从设备(non-preferred)。这种情况通常叫做“Split Brian”。顾名思义出现了两个司令部,各行其是,可能造成了在两地的数据不一致。
为了避免以上的情况,Witness VM起到了裁判的作用,来判定哪个Site是Preferred Site。注意Witness VM建议部署在和Site1 和Site2 不同的物理位置。不能出现同时某个Site和Witness VM同时中断服务的情况。
在有些特定环境或者风险可以接受的情况下,也可以不使用Witness
Non-uniform Host Access or uniform Host Access
Non-uniform Host Access指的是SiteA的ESXi主机只能访问SiteA的存储设备,SiteB同理。ESXi主机不可以访问异地的存储设备。
uniform Host Access的意思是ESXi主机可以同时访问本地和异地的存储设备
三 以上决定可能产生的影响
Failover Scenario
对所有可能出现中断的组件,都要验证中断的后果。比如有以下情形:
单个ESXi宕机、多个ESXi宕机、整个机房ESXi宕机、单个ESXi网络中断、数据中心之间用于存储同步的网络中断(StoragePartition)、数据中心之间二层网络中断(DataCenter Partition)、单个VPLEX设备中断,多个VPLEX设备中断、存储阵列磁盘损坏、整个存储阵列宕机、整个数据中心中断等等
详情见此文
Metro Cluster FC WAN
要密切关注连接两地VPlEX设备的FC或者IP网络的流量。在第一次建立VPLEX Metro Cluster的时候,需要VPLEX Sync来在两地间同步数据。取决于需要同步的数据量,有可能会造成网络饱和。如果这条链路除了供VPLEX使用外,是和其他应用共享的,那么很可能对其他的应用造成影响。
这就需要提前规划好VPLEX Sync在什么时间段进行。
参考:
Implementing vSphere Metro Storage Cluster (vMSC) using EMC VPLEX (2007545)
EMC VPLEX 5.0 ARCHITECTURE GUIDE
Conditions for stretched hosts cluster support on EMC VPLEX Metro
【虚拟化实战】容灾设计之四VPLEX的更多相关文章
- 【虚拟化实战】存储设计之六latency
在[虚拟化实战]存储设计之五IOPS中我们讲了评估存储性能的三个关键指标.也就是Throughput,IOPs和latency.以及三者之间的关系.本文深入介绍Latency过高的原因和一些建议. L ...
- 【虚拟化实战】容灾设计之一VR vs SRM
作者:范军 (Frank Fan) 新浪微博:@frankfan7 从本文开始,我们将介绍一系列的关于容灾的解决方案.先探讨应用的场景,然后再深入介绍技术架构. 情景一: 某小型公司的虚拟化环境中,在 ...
- 【虚拟化实战】容灾设计之三Stretched Cluster
作者:范军 (Frank Fan) 新浪微博:@frankfan7 Stretched Cluster是一把双刃剑,会用的如行云流水,用不好反而受其限制. 传统的vSphere Cluster是指一个 ...
- 从数据仓库双集群系统模式探讨,看GaussDB(DWS)的容灾设计
摘要:本文主要是探讨OLAP关系型数据库框架的数据仓库平台如何设计双集群系统,即增强系统高可用的保障水准,然后讨论一下GaussDB(DWS)的容灾应该如何设计. 当前社会.企业运行当中,大数据分析. ...
- 【虚拟化实战】VM设计之一vCPU
作者:范军 (Frank Fan) 新浪微博:@frankfan7 虚拟机需要多少个vCPU呢?是不是个数越多性能越好呢?这方面存在着很多误区.给VM配置CPU资源的时候,要精打细算才能最大可能的利用 ...
- 【虚拟化实战】Cluster设计之一资源池
作者:范军 (Frank Fan) 新浪微博:@frankfan7 资源池是Cluster设计中的一个重要概念,本文介绍了为什么用资源池,怎么用好资源池,以及澄清了一些常见的误区. 一概念 每个ESX ...
- 华为云计算IE面试笔记-请描述华为容灾解决方案全景图,并解释双活数据中心需要从哪些角度着手考虑双活设计
容灾全景图: 按照距离划分:分为本地容灾 同城容灾 异地容灾 本地容灾包括本地高可用和本地主备.(本数据中心的两机房.机柜) 本地高可用这个方案为了保持业务的连续性,从两个层面来考虑: ①一个是从主 ...
- 删库到跑路?还得看这篇Redis数据库持久化与企业容灾备份恢复实战指南
本章目录 0x00 数据持久化 1.RDB 方式 2.AOF 方式 如何抉择 RDB OR AOF? 0x01 备份容灾 一.备份 1.手动备份redis数据库 2.迁移Redis指定db-数据库 3 ...
- [转]金融业容灾技术分析 (终于看到QREP了)
源地址:http://www.cnblogs.com/SuperXJ/p/3480929.html 数据复制技术很多,初步比较如下. 后面重点讨论银行最常用的存储复制和数据库复制..当然,我最推荐的还 ...
随机推荐
- knockout computed实例
function Privilege(options) { var self = this; self.fieldId = options.fieldId; self.readAccessType = ...
- 【第一篇章-android平台buffer播放探索】native media
在android平台,从4.0开始,提出了openmax架构,所以在DNK的R7版本中有了openmax AL层播放的DEMO即native media,这个DEMO就是读本地文件,然后把所读buff ...
- JavaScript js生成GUID
function generateUUID(){ var d = new Date().getTime(); var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxx ...
- java学习之文件基本操作
一.File类 文件的创建 package file; import java.io.File; import java.io.IOException; public class CreateFile ...
- OpenGL红宝书学习笔记(1)
OpenGL对场景中的图像进行渲染时所执行的主要操作: 1.根据几何图元创建形状,从而建立物体的数学描述,(OpenGL把点,直线,多边形和位图作为基本的图元) 2.在三维空间中排列物体,并选择观察复 ...
- AndroidUI 视图动画-自定义动画效果 (Animation)
如果Android提供的四种动画 效果 和混合动画效果 不能够 满足需求的话,可以使用自定义动画效果 : 新建一个类CustomAnimation 使其继承自 android.view.animati ...
- CSS滤镜让图片模糊(毛玻璃效果)实例页面
<pre name="code" class="css">CSS代码: .blur { filter: url(blur.svg#blur); /* ...
- html系列教程--DOCTYPE a area
<!DOCTYPE>标签:<!DOCTYPE> 声明不是 HTML 标签:它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令.在 HTML 4.01 中,& ...
- provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接
问题描述: SQL Sever2012 中:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为 ...
- #import和#include的区别 关键字@class的作用
一.#import和#include的区别当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误但是使用两次#import的话,不 ...