ScaleIO 1.2 基础

时间:2021-05-03 01:04:10

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.

 

ScaleIO 1.2 基础

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.

ScaleIO 1.2 基础

 

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.

ScaleIO 1.2 基础

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. Hibernate增删查改语句

    我用的数据库是MySQL,实体类叫Product create table Product ( proId integer not null auto_increment, proName varch ...

  2. eclipse中一些设置&配置项

    在学习过程中出现的一些问题,以备忘: 1.eclipse中手动生成项目目录结构                 按照这个项目结构建立文件夹,build path -configure build pa ...

  3. Linux IPC tcp/ip socket 编程

    模型 #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include &lt ...

  4. Eclipse&plus;Java&plus;OpenCV246人脸识别

    1.环境搭建:见上一篇博客 整个项目的结构图: 2.编写DetectFaceDemo.java,代码如下: package com.njupt.zhb.test; import org.opencv. ...

  5. Android Fragment 开发(一)

    最近在学习Fragment 的使用,想弄一个在子窗体中调用父的方法,一直报错,终于找到解决方法啦 父窗体名称:MainActivity 父中有一个public的方法show() 子窗体调用: Main ...

  6. 关于read的例子和条件测试

    1.关于read比较两个的大小 #!/bin/sh read -t -p "please input two num:" a b if [ $a -gt $b ]; then ec ...

  7. CF 1119C Ramesses and Corner Inversion

    https://codeforces.com/problemset/problem/1119/C 题目 给两个矩阵,只能选宽和高大于等于2的子矩阵左上.左下.右上.右下四点翻转(1->0,0-& ...

  8. log4cplus在VS项目中的使用

    log4cplus是C++编写的开源的日志系统,宣称具有线程安全.灵活.以及多粒度控制的特点,通过将日志划分优先级使其可以面向程序调试.运行.测试.和维护等全生命周期.你可以选择将日志输出到屏幕.文件 ...

  9. CVE-2017-8046(Spring Data Rest RCE)

    环境搭建参考第一个链接,springboot启动文件如下,不同的启类,将Application.class修改一下就可以了,直接debug.注意:默认版本是2.0.3版本,修改成低版本,看一下mvn下 ...

  10. Android 蓝牙通信——AndroidBluetoothManager

    转载请说明出处! 作者:kqw攻城狮 出处:个人站 | CSDN To get a Git project into your build: Step 1. Add the JitPack repos ...