The ScaleIO virtual SAN consists of 3 software components

===================

Meta Data Manager (MDM):
Configures and monitors the ScaleIO system. The MDM can be configured in a redundant Cluster Mode with three members on three servers or in a Single Mode on a single server.

An MDM cluster consists of three components:

  • Primary MDM
  • Secondary MDM
  • Tie-Breaker

 

ScaleIO Data Server (SDS):
Manages the capacity of a single server and acts as a backend for data access. The SDS is installed on all servers contributing storage devices to the ScaleIO system. These devices are accessed through the SDS.

 

ScaleIO Data Client (SDC):
A lightweight device driver that exposes ScaleIO volumes as block devices to the application residing on the same server on which the SDC is installed.

 

Figure 1. ScaleIO architecture

 

Storage Definitions

===================

Protection Domain:

A Protection Domain is a subset of SDSs. Each SDS belongs to one (and only one) Protection Domain. Thus, by definition, each Protection Domain is a unique set of SDSs.

 

Storage Pool
A Storage Pool is a subset of physical storage devices in a Protection Domain. Each storage device belongs to one (and only one) Storage Pool. When a Protection Domain is generated, by default it has one Storage Pool (Default).

When a volume is configured over the virtualization layer the volume is distributed over all devices residing in the same Storage Pool. This allows more than one failure in the system without losing data. Since a Storage Pool can withstand the loss of one of its members, having two failures in two different Storage Pools will not cause data loss.

 

Storage Tiers

Storage Pools allow the generation of different storage tiers in the ScaleIO system. When generating a Protection Domain, it is recommended to have SDSs which have the same storage media associated with them (though usually that is the case in most
datacenters since the servers are commonly cloned).

The same goes for a Storage Pool. The best practice would be having the same storage devices in the same pool. This ensures that the volumes will be distributed over the same type of storage.

Note: Mixing different types of media in the same pool is allowed, but one should be aware that due to the distribution of the data, performance will be as good as the least-performing member of the Storage Pool.

ScaleIO Physical Layer

========================

1. MDM. 3 nodes for a redundant management cluster in Cluster MDM, or a single node in case of a Single MDM.

2. SDS. Identify all the nodes which will contribute some, or all, of their physical storage. Install an SDS component on them. Divide the SDSs (nodes) into Protection Domains. Each SDS can be a member of only one Protection Domain. Divide the SDSs (nodes) into Protection Domains. Each SDS can be a member of only one Protection Domain.

3. Identify all the nodes on which the application will access the data exposed by the ScaleIO volumes. Install an SDC component on them. As for communication, the system utilizes the already existing LAN. The components communicate over the LAN using standard TCP/IP. The SDS may have multiple IP addresses, allowing wider bandwidth and better IO performance and redundancy.

As for communication, the system utilizes the already existing LAN. The components communicate over the LAN using standard TCP/IP. The SDS may have multiple IP addresses, allowing wider bandwidth and better IO performance and redundancy.

 

ScaleIO Virutalization Layer

=======================

In this layer, users can:

  • Define volumes.
  • Map volumes

 

ScaleIO over VMware

=======================

In a VMware environment, ScaleIO provides a ScaleIO SCSI target. This target is enclosed, as all the other components, in a virtual machine (VM) that is specific to ScaleIO, known as ScaleIOVM. The ScaleIO SCSI target exposes LUNs to the hypervisor's SCSI initiator. These LUNs are in-turn used by other virtual machines through the data-store.

Figure 3 ScaleIO VM architecture

 

参考资料

========================

EMC ScaleIO User Guide v1.20.1 for Linux and VMware

https://support.emc.com/docu50195_ScaleIO-User-Guide-1.20.1.pdf

ScaleIO 1.2 基础的更多相关文章

  1. 什么是ScaleIO中的forwards rebuild和backwards rebuild?

    Forward rebuild发生在磁盘或节点挂掉的时候. 这种rebuild的过程的load是均衡到protection domain中所有可用的磁盘和节点上的. 这种rebuild相对于backw ...

  2. 容器编排系统K8s之Volume的基础使用

    前文我们聊到了k8s上的ingress资源相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14167581.html:今天们来聊一下k8s上volum ...

  3. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  4. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  7. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  8. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  9. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

随机推荐

  1. Python全栈开发之8、装饰器详解

    一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了.转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5486253.html 一.装饰器 装饰器可以使函数执 ...

  2. spring_150908_hibernate_id_sequence

    1.新建java工程:spring_150908_hibernate_id_sequence,添加相关jar包(spring.hibernate.ibatis)如下图所示: 2.实现实体类DogPet ...

  3. URAL 1997 Those are not the droids you're looking for

    二分图的最大匹配. 每一个$0$与$1$配对,只建立满足时差大于等于$a$或者小于等于$b$的边,如果二分图最大匹配等于$n/2$,那么有解,遍历每一条边输出答案,否则无解. #include< ...

  4. CPPUNIT_TEST

    (1) CPPUNIT_ASSERT(condition):判断condition的值是否为真,如果为假则生成错误信息. (2)CPPUNIT_ASSERT_MESSAGE(message, cond ...

  5. LongAdder & AtomicInteger

    JDK8 推荐  LongAdder替代 AtomicInteger, AtomicInteger内部是实现使用 (网友使用jad反编译源码 参考 http://ifeve.com/enhanced- ...

  6. 深入理解正则表达式-----应用于检测csrf的正则表达式

    如何写检测和防御csrf的规则?我们可以利用正则表达式进行匹配.对POST包进行正则匹配,这里只是提供了一个思路. pcre:"/POST \/(?P<uri>.*?) HTTP ...

  7. 所以学树分块的时候为什么要看vector啊sjb

    明明应该拼命刷题却悠哉补着vector和指针 -------------------------------------------------------------------题记 http:// ...

  8. 2017-2018-1 JAVA实验站 第四、五周作业

    2017-2018-1 JAVA实验站 第四.五周作业 JAVA实验站小组成员 学号 名字 职务 20162318 张泰毓 组长 20162303 石亚鑫 组员 20162304 张浩林 组员 201 ...

  9. UESTC 2015dp专题 E 菲波拉契数制 dp

    菲波拉契数制 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ...

  10. Android Studio安装后提示No JVM installation found解决办法

    Android Studio安装后提示No JVM installation found解决办法 问题描述:Android Studio安装完毕,打开时出现提示"No JVM install ...