Isilon上数据是如何存放的?

摘要:
一个连续的8KB块将用于存储文件数据,但不超过16。当文件存储在Isilon上时,如果其大小超过128KB,则文件将被拆分为多个128KB的条带单元。这取决于四个因素:Isilon集群中的节点数量——集群中的数量直接决定了数据传输的宽度。问题2:如果我们有一个具有80个节点的Isilon集群,那么对于足够大的文件,数据传输的长度是否可以达到80?A: 一个文件最多可以存储在20个节点上的Isilon上。问题3:IsilonGen5的S210有两个SSD和22个HDD。此节点的磁盘池是什么?

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的大小就不同。

image


为了简化,假设我们的文件的protection level是N+1,即允许down掉一个节点或一块盘。

因为我们的集群只有3个节点,那么每两个data的stripe unit就应该带一个Protection stripe unit。这样,坏一个节点,所丢失的数据就可以通过另外两块数据计算出来。


来看两个例子:

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

image


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

image


一些问题

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

问题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

https://www.emc.com/collateral/hardware/white-papers/h10588-isilon-data-availability-protection-wp.pdf

免责声明:文章转载自《Isilon上数据是如何存放的?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[FAQ] Golang error strings should not be capitalized or end with punctuationLinux Redhat 7 安装免费yum源下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

crontab命令加载和使用

crontab命令用于设置定期执行的指令。在Linux系统中,Linux任务调度的任务主要分为以下两类:1.系统周期性执行的任务,如备份系统数据和清理缓存。2.个人要执行的任务:用户要定期执行的任务,例如每10分钟检查邮件服务器是否有新消息。这些任务可以由每个用户设置,以检查是否首先安装了crontab[root@localhostgjw]#rpm qa|g...

当微信小程序遇到AR(二)

当微信小程序遇到AR,会擦出怎么样的火花?期待与激动......通过该教程,可以从基础开始打造一个微信小程序的AR框架,所有代码开源,提供大家学习。注册地址=˃注册成功之后,需要下载微信小程序开发工具。下载地址=˃目前笔者的开发环境是:Windows10下载的微信小程序版本为:RCv1.0.2.1909111 打开,微信开发者工具之后,会看到如下的页面。...

db2数据导出导入del与ixf格式

ixf格式保存的是结构和数据,是一个二进制文件,ixf文件不可视。...

【JVM】元空间详解 Metaspace

nocs。JpgNoKlassisMetaspaceNoKlassinMetaspaces专用于存储其他与klass相关的内容,如方法、常量池等。它可以由多个不连续的存储器组成。在元空间GC之后,还将调整阈值。默认情况下,MaxMetaspaceSize基本上是无限的,因为大多数元空间都是在本地内存中分配的,但它仍然受到本地内存大小的限制。为了防止元空间的无...

ArchLinux安装英伟达显卡驱动

Optimus manager qt Install novausudopacman-Sxf86-video novau右键单击导航栏上的Intel图标,选择列表中的设置功能,单击左侧的Optimus,然后在右侧窗口中选择nouveau作为切换方法。右键单击导航栏上的Intel图标以选择要使用的图形卡类型。在我选择Nvidia显卡后,您需要注销并再次登录才能...

AcWing算法基础课

第二行包含n个整数,表示整数序列。输出格式对于每个输出指令PM,输出表示当前集合中最小值的结果。每个结果占据一行。数据范围1≤ N≤ 105109≤ x(x)≤ 109是合法的。输入示例:8I-10PMI-10D1C28I6PMDM输出示例:-106分析:对于向上和向下操作,请注意ph和hp的应用,这相当于指针ph[k]=t;插入堆中的Kth的位置为t;hp...