作者:范军 (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. Python : 熟悉又陌生的字符编码(转自Python 开发者)

    Python : 熟悉又陌生的字符编码 字符编码是计算机编程中不可回避的问题,不管你用 Python2 还是 Python3,亦或是 C++, Java 等,我都觉得非常有必要厘清计算机中的字符编码概 ...

  2. iOS中如何呼出另一个应用

    我们经常会遇到在一个应用里面呼出另一个应用的需求,比如在文档里面点击地址,调用safari来打开网页:比如在文件浏览器里面点击某种文件,自动激活一个应用来打开文件. iOS里面对于这样的需求使用URL ...

  3. 普林斯顿大学算法课 Algorithm Part I Week 3 比较器 Comparators

    比较器接口(Comparator interface):用可选顺序(alternate order)进行排序 public interface Comparator<key> int co ...

  4. paip.c++ qt 共享库dll的建立

    paip.c++ qt 共享库dll的建立 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/at ...

  5. Spring、Spring事务详解;使用XML配置事务

    @Transactional可以设置以下参数: @Transactional(readOnly=false) // 指定事务是否只读的 true/false @Transactional(rollba ...

  6. C#中的枚举类型

    浅谈C#中的枚举  转自http://www.cnblogs.com/liyingyi/archive/2005/12/28/306772.aspx   枚举类型是一种的值类型,它用于声明一组命名的常 ...

  7. javascript动态改变iframe的src

    页面中需要动态的改变iframe的地址,方法有: 1. window.frames["chartFrame"].document.location = "<%=ba ...

  8. Ubuntu Android Studio 无法通过起动器开启

    问题: 1.可以通过终端开启 2.通过Android-Studio建立的Application无法启动, 提示 No JDK found. Please validate either STUDIO_ ...

  9. nginx fastcgi buffers影响页面输出数据大小记录

    一台测试服务器由于没做fastcgi_buffer单独设置,在跑一个显示10w条数据的循环输出时只能显示4700-5200条记录 <?php $str = ''; for($i = 0; $i ...

  10. selenium_python学习

    虫师selenium_python 学习:原文档 下载:http://download.csdn.net/detail/fnngj/6041329 具体参看selenium_python API : ...