作者:范军 (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的更多相关文章

  1. 【虚拟化实战】存储设计之六latency

    在[虚拟化实战]存储设计之五IOPS中我们讲了评估存储性能的三个关键指标.也就是Throughput,IOPs和latency.以及三者之间的关系.本文深入介绍Latency过高的原因和一些建议. L ...

  2. 【虚拟化实战】容灾设计之一VR vs SRM

    作者:范军 (Frank Fan) 新浪微博:@frankfan7 从本文开始,我们将介绍一系列的关于容灾的解决方案.先探讨应用的场景,然后再深入介绍技术架构. 情景一: 某小型公司的虚拟化环境中,在 ...

  3. 【虚拟化实战】容灾设计之三Stretched Cluster

    作者:范军 (Frank Fan) 新浪微博:@frankfan7 Stretched Cluster是一把双刃剑,会用的如行云流水,用不好反而受其限制. 传统的vSphere Cluster是指一个 ...

  4. 从数据仓库双集群系统模式探讨,看GaussDB(DWS)的容灾设计

    摘要:本文主要是探讨OLAP关系型数据库框架的数据仓库平台如何设计双集群系统,即增强系统高可用的保障水准,然后讨论一下GaussDB(DWS)的容灾应该如何设计. 当前社会.企业运行当中,大数据分析. ...

  5. 【虚拟化实战】VM设计之一vCPU

    作者:范军 (Frank Fan) 新浪微博:@frankfan7 虚拟机需要多少个vCPU呢?是不是个数越多性能越好呢?这方面存在着很多误区.给VM配置CPU资源的时候,要精打细算才能最大可能的利用 ...

  6. 【虚拟化实战】Cluster设计之一资源池

    作者:范军 (Frank Fan) 新浪微博:@frankfan7 资源池是Cluster设计中的一个重要概念,本文介绍了为什么用资源池,怎么用好资源池,以及澄清了一些常见的误区. 一概念 每个ESX ...

  7. 华为云计算IE面试笔记-请描述华为容灾解决方案全景图,并解释双活数据中心需要从哪些角度着手考虑双活设计

    容灾全景图: 按照距离划分:分为本地容灾 同城容灾 异地容灾  本地容灾包括本地高可用和本地主备.(本数据中心的两机房.机柜) 本地高可用这个方案为了保持业务的连续性,从两个层面来考虑: ①一个是从主 ...

  8. 删库到跑路?还得看这篇Redis数据库持久化与企业容灾备份恢复实战指南

    本章目录 0x00 数据持久化 1.RDB 方式 2.AOF 方式 如何抉择 RDB OR AOF? 0x01 备份容灾 一.备份 1.手动备份redis数据库 2.迁移Redis指定db-数据库 3 ...

  9. [转]金融业容灾技术分析 (终于看到QREP了)

    源地址:http://www.cnblogs.com/SuperXJ/p/3480929.html 数据复制技术很多,初步比较如下. 后面重点讨论银行最常用的存储复制和数据库复制..当然,我最推荐的还 ...

随机推荐

  1. vi/vim 键盘

  2. MVC 返回ActionResult 类型

    1. Content() 返回文本类型,比如"Hello World!". 2.File() 返回文件类型,如PDF,JPG. 3.HttpNotFound() 返回404 HTT ...

  3. SQL Server 文件流文件组

    背景: 文件流通过在文件系统上存储blob数据文件将数据库引擎与ntfs文件集成在一起,使用t-sql和win32访问数据. 文件流使用windows系统来缓存数据,有助于在减少文件流数据对sql s ...

  4. JavaMail回复

    JavaMail邮件回复 http://blog.csdn.net/o_darling/article/details/17558049 http://blog.csdn.net/xiyang_199 ...

  5. delphi 对TThread扩充TSimpleThread

    对线程的使用,是每个开发者都应该熟练掌握的,也是进阶的重要一环. 可以这样说,没有线程,连界面假死的问题都解决不了,就更别谈并行处理来提高效率了. 本例对线程进行改进,打造一个基础的线程,以后线程应用 ...

  6. 向未声明的 JavaScript 变量来分配值

    如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明. 这条语句: carname="Volvo"; 将声明一个全局变量 carname,即使它在函数内执行.

  7. /var/cache/apt/archives/lock - open

    问题: E: 无法获得锁 /var/cache/apt/archives/lock - open (11 资源临时不可用)E: 无法锁定下载目录o rm /var/cache/apt/archives ...

  8. 网易云课堂_程序设计入门-C语言_第六章:数组_2鞍点

    2 鞍点(5分) 题目内容: 给定一个n*n矩阵A.矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数.一个矩阵A也可能没有鞍点. 你的任务是找出A的鞍点. 输入格 ...

  9. linux命令学习(1)

    linux下的文件命名规则 1)除了/ 之外,所有的字符都合法. 2)有些字符最好不用,如空格符.制表符.退格符和字符@ # $ & ( ) - 等. 3)避免使用. 作为普通文件名的第一个字 ...

  10. jQuery源码笔记——延迟对象

    提供一种方法来执行一个或多个对象的回调函数, Deferred对象通常表示异步事件. 它是回调对象的拓展运用,在jQuery当中非常依赖回调对象. 一个简单的,只解决成功状态下的缓存实例 functi ...