作者:范军 (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. webform登录操作中正则表达式运用

    关于正则表达式的运用,估计很多人都会觉得这很麻烦.确实很麻烦,太多表达式我也记不住,很多都是临时需要用的时候再去查,有点小学生读小说的架势,不认识的字再去翻字典. 正则表达式严格来说对于程序的功能实现 ...

  2. PBOC2.0安全系列之—脱机认证之静态数据认证(SDA)

    一,什么是PBOC2.0 2005年3月13日,人民银行发布第55号文,正式颁发了<中国金融集成电路(IC)卡规范>(简称PBOC2.0).该规范补充完善电子钱包/存折应用:增加借/贷记应 ...

  3. 用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

  4. linux学习之(五)-linux文解压、压缩、安装

    查看一个文件的类型 命令:  file  文件名 创建一个.tar类型的压缩包使用命令:tar -cvf    [文件名].tar  目录   例:tar -cvf   a.tar    yasuo/ ...

  5. Copy from chromium-dev!

    https://app.yinxiang.com/pub/gguangle0/chromium-dev 做了一些搬运工的活..............

  6. oracle动态游标

    declare   v_col1 varchar2(254);   v_col2 varchar2(254);   v_sql  varchar2(1024);   type my_cursor is ...

  7. 关闭Sql Assistant的自动智能命名别名的问题

    关于SQL Assistant在编写比如SELECT * FROM UserInfo AS ui  会自动给表命名一个别名的问题,有时候这个很烦, 点开Options,选项卡DB Options,左侧 ...

  8. TreeSet()详解

    TreeSet()详解   1.TreeSet原理:   /* * TreeSet存储对象的时候, 可以排序, 但是需要指定排序的算法 *  * Integer能排序(有默认顺序), String能排 ...

  9. Android 监听器

    Android提供很多种事件监听器,监听器主要是为了相应某个动作,可以通过监控这种动作行为,来完成我们需要的程序功能.      OnItemClickListener:               ...

  10. PHP中mktime() 函数对于日期运算和验证

    mktime() 函数对于日期运算和验证非常有用.它可以自动校正越界的输入: // 语法:mktime(hour,minute,second,month,day,year) echo(date('Y- ...