Isilon上数据是如何存放的?
OneFS的文件系统的block size是8KB。这是OneFS上最小的数据存储单位了,比8KB小的文件都要占掉8KB大小的空间。连续的8KB的block会被用来存储文件的数据,但最多不会超过16个。为啥呢?因为,16个连续的block会组成一个大小为128KB的stripe unit。一个文件在存储在Isilon上的时候,如果其大小超过128KB,那么这个文件会被切分为多个128KB的stripe unit。然后这些stripe unit会散布在Isilon集群的多个节点的多块盘上。
这些stripe unit是怎么放在Isilon cluster的节点中的呢?这取决于四个因素:
- Isilon集群的节点数 - 集群的节点数直接决定了data stripe的宽度。数据是尽可能的跨多个节点的多块盘来存放的。
- 文件的保护等级 - 越高,那么同一个stripe里所包含的protection data block (FEC)就要越多。在data stripe宽度(node数)固定的情况下,单条data stripe里包含的数据块就要更少了。
- 文件的大小 - 小于128KB的文件都不会跨多个盘,对于这么小的文件的保护只有使用Mirror的方式。同时,被存储文件的protection level,直接决定了这个文件需要多少份mirror。
- 文件所在的文件夹的磁盘访问模式(access pattern)- 下面有两个举例,concurrent模式,为了支持并发读写,一个读写尽量不去影响另一个读写,所以同样的文件,尽可能放在少的盘上。Stream模式,为了让同一个文件能用到更多的磁盘,所以存储的时候会放在尽可能多的盘上。
首先,一个大文件的许许多多的stripe unit会被以一个叫做data stripe的逻辑单位来存放,一个data stripe会包含多少个stripe unit呢?这个data stripe是如何跨越多个节点的呢?这取决于两个因素,protection level和cluster node number。
集群的节点数直接决定stripe的宽度.
假设一个1024KB的文件,存储在Isilon上,它会被切分为8个128KB的stripe unit。假设这个cluster有3个节点,每个节点上有12块盘。那么这8个stripe units会怎么在这36块盘上分布呢?
这里需要涉及到一个protection level的问题,因为protection level不同,那么data stripe的大小就不同。

为了简化,假设我们的文件的protection level是N+1,即允许down掉一个节点或一块盘。
因为我们的集群只有3个节点,那么每两个data的stripe unit就应该带一个Protection stripe unit。这样,坏一个节点,所丢失的数据就可以通过另外两块数据计算出来。
来看两个例子:
Concurrent access pattern的1兆文件的存储方式举例:

Streaming access pattern的1兆文件的存储方式举例:

一些问题
============
问题1:假设我们有个大于128KB,小于256KB的文件,那么这个文件在2d:1n的protection level下,集群有4个节点,如何存储?
答:这个文件会被切成两部分,一部分是128KB的data stripe unit,与另外两个节点提供的两个protection stripe unit组成一个data stripe。另一部分小于128KB,OneFS会为这块数据添加两份mirror,从而达到坏两块盘数据依然可用的保护级别。
问题2:假设我们有一个Isilon的集群,其中有80个节点,那么对于一个足够大的文件来讲,data stripe的长度可以达到80么?
答:单个文件在Isilon上存储最多跨20个节点。
问题3:Isilon Gen5的S210有两块SSD,22块HDD,请问这个节点的disk pool是怎样的?
答:SSD由于有不同的使用方式,先不予考虑。22块HDD会被分为四个disk pool,两个pool里分别有5块HDD,另两个pool里有6块HDD.
问题4: MTTDL跟节点数量,文件的protection level有什么关系?
答:MTTDL的定义是大概多长时间之后会发生这样的情况:坏盘同时出现从而导致数据丢失,这个时间是多久。数据在节点的盘中的打散程度越高,节点越多,文件保护等级越低,那么MTTDL就会越低。
参考资料
==============
OneFS File System Data Layout
https://community.emc.com/docs/DOC-42741
Dell EMC Isilon OneFS: A Technical Overview
https://www.emc.com/collateral/hardware/white-papers/h10719-isilon-onefs-technical-overview-wp.pdf
HIGH AVAILABILITY AND DATA PROTECTION WITH DELL EMC ISILON SCALE-OUT NAS
Isilon上数据是如何存放的?的更多相关文章
- 遇到个奇怪的问题,同时开启本地和远程两个事务,远程事务是sql2000没问题,是sql2008的不报错,但是写不上数据
遇到个奇怪的问题,同时开启本地和远程两个事务,远程事务是sql2000没问题,是sql2008的不报错,但是写不上数据. 倒腾了4.5天,找到最终的解决办法:直接调用AdoConnection.exe ...
- python3 requests获取某网站折线图上数据
比如要抓取某网站折线图上数据,如下截图: 借助Chrome开发者工具Network.经过分析发现获取上面的热度数据,找到对应的事件url:https://pcw-api.iqiyi.com/video ...
- CAD把当前图上数据保存为一个二进流对象(com接口VB语言)
主要用到函数说明: MxDrawXCustomFunction::WriteBinStreamEx 把当前图上数据保存为一个二进流对象,详细说明如下: 参数 说明 LPCTSTR pszPasswor ...
- MySQL-线上数据迁移实战记录
1. 迁移背景和限制条件 随着功能的迭代或者数据表中数据量的增加,将现有数据进行迁移已是工作中经常遇到的事情.通常我们在平时迁移数据数据的时候,只需要用mysqldump.mysqlimport指令就 ...
- python上数据存储 .h5格式或者h5py
最近在做城市计算的项目,数据文件是以.h5的格式存储的,总结下其用法和特点 来自百度百科的简介: HDF(Hierarchical Data Format),可以存储不同类型的图像和数码数据的文件格式 ...
- Java 爬虫遇上数据异步加载,试试这两种办法!
这是 Java 爬虫系列博文的第三篇,在上一篇 Java 爬虫遇到需要登录的网站,该怎么办? 中,我们简单的讲解了爬虫时遇到登录问题的解决办法,在这篇文章中我们一起来聊一聊爬虫时遇到数据异步加载的问题 ...
- 利用线上数据验证系统 Gor
Web 应用性能和压力测试工具 Gor - 运维生存时间 http://hao.jobbole.com/gorhttp/ 要使用线上引流到测试环境的作用,需要做到以下几点: 1.新搭建一套测试环境,连 ...
- zoc 下载服务器上数据出现的问题
zoc上有一个download的按钮能够将服务器上的数据下载下来,但是在下载过程中出现了错误 但是点击会出现下面的问题: 这个配置默认是采用ZMODEM文件传输协议 但是可以看出来,这个传输协议有点问 ...
- asp.net 将repeater上数据导出到excel
1,首先得到一个DataTable public DataTable GetTable(string sql) { SqlConnnection con=new SqlConnection(Confi ...
随机推荐
- Android对Sqlite数据库的增删改查
SqLite 数据库 Google 为我们提供了sqlite相关的api SqLiteOpenHelper 这是一个抽象的类 如果想要使用的话,需要其他的类去继承他 SqLiteDatabase 类 ...
- Spring(完成毕业设计后的简单回顾)
最近刚刚做完了毕业设计,在开发时用的是spring框架,做的时候踩了好多坑,又把当初的笔记给翻了翻,做一次简单的回顾 # 1.Spring是什么? 是一个开源的.用于简化企业级应用开发的应用开发框架. ...
- 使用Google-Colab训练PyTorch神经网络
Colaboratory 是免费的 Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行.关键是还有免费的GPU可以使用!用Colab训练PyTorch神经网络步骤如下: 1: ...
- doc文件中的cer附件保存到本地
在word文档中有一个cer附件,可以双击直接安装证书. 我想把它保存到本地文件系统中,直接选中复制下来的cer文件,使用时,系统提示是无效证书.怎么才能正确 保存到本地文件系统?方法如下: 1.双击 ...
- Both - Either - Neither English Grammar
http://www.grammar.cl/english/both-either-neither.htm Both, Either, Neither Summary Chart We use bot ...
- poj1321 棋盘问题(深搜dfs)
转载请注明出处:http://blog.csdn.net/u012860063? viewmode=contents 题目链接:id=1321">http://poj.org/prob ...
- 学一点 MYSQL 双机异地热备份—-MYSQL主从,主主备份原理及实践
简单介绍mysql双机,多机异地热备简单原理实战. 双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做 ...
- Object [object Object] has no method 'live'
用了2个jquery的2个文件: <script src="~/Scripts/jquery-1.10.2.js"></script> <script ...
- Linux source命令(转)
Linux source命令: 通常用法:source filepath 或 . filepath 功能:使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于 ...
- 【CentOS】centos如何修改你的主机名
转载地址:https://www.linuxidc.com/Linux/2014-11/109238.htm ============================================= ...