JBOD是存储领域中一类重要的存储设备。 JBOD(Just a Bunch Of Disks,磁盘簇)是在一个底板上安装的带有多个磁盘驱动器的存储设备。通常又称为Span。 和RAID阵列不同,JBOD没有前端逻辑来管理磁盘上的数据分布,相反,每个磁盘进行单独寻址,作为分开的存储资源,或者基于主机软件的一部分,或者是RAID组的一个适配器卡。JBOD 不是标准的RAID级别,它只是在近几年才被一些厂家提出,并被广泛采用。

1应用举例编辑

以三个硬盘组成的Span为例,其数据存储方式如图所示:Span是在逻辑上把几个物理磁盘一个接一个串联到一起,从而提供一个大的逻辑磁盘。Span上的数据简单的从第一个磁盘开始存储, 当第一个磁盘的存储空间用完后, 再依次从后面的磁盘开始存储数据。Span存取性能完全等同于对单一磁盘的存取操作。Span也不提供数据安全保障。它只是简单的提供一种利用磁盘空间的方法,Span的存储容量等于组成Span的所有磁盘的容量的总和。如图例.

2工作原理编辑

JBOD可以在基于并行SCSI电缆的直接附加存储中使用,或在一般情况下,在具有Fibre Channel接口的存储网络中使用。因为JBOD不十分智能,而且存储网络没有独立的接口,所以单独驱动器的接口类型决定了SAN的连接类型。基于IP的存储网络使用千兆以太网,因此传输需要独立的JBOD磁盘上的千兆以太网/IP接
JBOD

口,或者在千兆以太网和IP到Fibre Channel或并行SCSI之间的桥接设备。随着时间的推移,磁盘驱动器厂商会决定市场需要的接口类型。

磁盘驱动器插在一个内部总线上,将服务器与JBOD系统之间的外部总线电缆简化成单条电缆连接。JBOD也支持热插拔磁盘驱动器,即可以在不影响数据存储和服务器操作的同时增加或者替换磁盘。
使用SCSI磁盘的JBOD,各磁盘之间组成一个封闭的SCSI菊花链,为主机提供了并行SCSI连接。使用Fibre Channel磁盘的JBOD可以提供1~2个Fibre Channel接口,在内部形成一个共享环段。
使用SCSI Enclosure Services协议可以提供带内管理,它可以在并行SCSI和Fibre Channel环境中使用。一些厂商的产品允许通过硬件开关或者跳线将JBOD分成分离的磁盘阵列,比如,可以将一个单独的Fibre Channel JBOD分成对主机来说独立的两个资源。
在JBOD中,单独的磁盘驱动器如何进行数据存储取决于主机或者取决于HBA的RAID智能。例如,Windows磁盘管理程序可以从各个JBOD磁盘中创建单独的卷,或者将一组JBOD磁盘分配成一个软件RAID组成的卷。

3优缺点编辑

JBOD与RAID阵列相比较的优势在于它的低成本,可以将多个磁盘合并到共享电源和风扇的盒子里。市场上常见的JBOD经常安装在19英寸的机柜中,因此提供了一种经济的节省空间的配置存储方式。随着更高容量的磁盘驱动器投入市场,采用具有几个TB的磁盘建立JBOD配置成为可能。
在JBOD的使用过程中,最主要的问题是JBOD在单独的磁盘出现故障的恢复能力,如果没有恰当的迂回能力,那么一个驱动器的故障就可能导致整个JBOD的失效。
JBOD中的磁盘阵列有着严格的制冷系统和电源设施,这些都是容错的重要体现。电源、冷却系统、数据总线和其他部件的容错可以帮助数据存储系统挽回由于硬件损坏而引起的错误,但是不能帮助检查并修复错误。理论上,JBOD解决方案应该在管理状态通过向预警软件发送标准信息来告知管理人员目前数据的问题。
JBOD与RAID比较列表
 
可靠性
控制器
智能功能
成本
JBOD
较低
RAID
较高
使用中的改进
由于JBOD一般在使用中都包含多个磁盘,因此总的存储容量十分巨大,而如果一个磁盘的故障就会造成整个设备中的故障,势必对系统是一个巨大风险。其中的一个解决办法是软件RAID。从主机端来看,采用软件RAID和JBOD的结合与硬件RAID在逻辑上没有任何区别,只是软件RAID会消耗一部分主机资源,而且与硬件RAID相比,无法到达高性能系统的苛刻要求。
对于共享存储,改进JBOD的另一个方法是使用存储虚拟化设备,它们位于主机系统和JBOD目标之间。存储虚拟化设备负责向多个JBOD或者RAID阵列存取数据,从而造成一种假象:每个主机都有单独的存储资源。这使得在主机上免除软件RAID成为可能,因为这项功能现在由设备来承担。从本质上说,除了存储虚拟化设备和存储磁盘阵列位于存储网络上的不同范围以外,存储虚拟化实现了智能RAID控制器相同的功能。尽管存储虚拟化设备给出了主机系统中对存储资源的简单描述,但它还是必须承担管理数据放置的复杂性,并自动地从故障和中断中恢复,这并不是一个常见的任务。

4其他编辑

可用性与价格的平衡论
从表面上看,JBOD仅是将多个磁盘简单组合在一起,实现难度并不大,但实际上仅仅是底板的设计就具有很高的技术含量。这一点从服务器的磁盘扩展能力上便可见一般,一般服务器可以扩展五、六块磁盘,而如果再增加就变得十分困难,与之相比,JBOD大都为十几块磁盘,甚至多到几十块磁盘,因此如何让众多的磁盘集中发挥数据存储的作用就成为一个不小的挑战。
JBOD没有控制器,并不意味着可用性很差,事实上,从使用的磁盘类型(SCSI与Fibre Channel磁盘)来看,其磁盘本身的可靠性就比低端ATA磁盘高得多。另外,国外的先进产品具有一些智能功能,可靠性、性能与中低端RAID产品不相上下。与之相比,国内有些品牌RAID的可用性显得格外逊色。笔者在国内某实验
JBOD

室观看到了某产品(其品牌在国内具有一定的影响力)的测试结果,根据测试工程师介绍,该产品的性能很不错,但是经常发生故障,因此用户不可能选购这样的产品。

如果为JBOD安装了提高可靠性的RAID控制器,那么它就变成RAID了,成本也自然随之提高。因此,JBOD最大的用武之地是在可靠性要求不高的情况下,最大限度地发挥其成本低廉的优势。
目前,中小企业用户的存储需求很高,对于这部分用户来说,JBOD就比较适合。在数据存储过程中,即使在百分之一的概率下出现了故障,无非是多花些时间的问题,不会对关键业务造成致命影响,而用户在成本上却得到很大回报,无需为低端的存储应用去做昂贵的投资。

JBOD磁盘磁盘簇的更多相关文章

  1. 磁盘磁盘MBR与GPT的区别

    基本磁盘与动态磁盘    磁盘的使用方式可以分为两类:一类是“基本磁盘”.基本磁盘非常常见,我们平时使用的磁盘类型基本上都是“基本磁盘”.“基本磁盘”受26个英文字母的限制,也就是说磁盘的盘符只能是2 ...

  2. CentOS下KVM增加磁盘/磁盘扩容/在线扩容

    一.磁盘镜像操作(适用于raw和qcow2格式) 1.创建镜像 qemu-img create -f qcow2(格式) /kvm/centos1_1.qcow2(路径) 5G(容量) 2.修改镜像容 ...

  3. SQL Server 服务器磁盘测试之SQLIO篇(二)

    上次放出了一篇文章,针对磁盘卷簇大小默认4KB和自定义64KB进行了测试,测试内容为随机和顺序读写,大小为8KB和64KB,有人觉得这并没有照顾到SQL Server所有的IO使用情景.这篇测试文章, ...

  4. Linux学习(CentOS-7)---磁盘分区(概念、分区方法、分区方案)

    1磁盘分区相关的概念 1.1什么是磁盘 磁盘就是计算机的外部存储器设备,即将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失.简单地讲,就是一种计算机信息载体,也 ...

  5. DeviceIoControl 直接从磁盘扇区读文件

    好久没写博客了,近期看了下DeviceIoControl  关于磁盘的应用,特记一文,以备久后查阅. 首先介绍下,文件在磁盘的存储结构(详细能够到网上查询NTFS文件系统相关的教程后者数据恢复方面教程 ...

  6. 虚拟化技术之kvm磁盘管理工具qemu-img

    在前边的博客中,我们大致了解了virsh这个工具对kvm虚拟机的一些操作,回顾请参考https://www.cnblogs.com/qiuhom-1874/tag/virsh/:今天我们来了解下kvm ...

  7. 【腾讯Bugly干货分享】TRIM:提升磁盘性能,缓解Android卡顿

    Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处.在业内,Android 手机一直有着 ...

  8. Linux 文件读写操作与磁盘挂载

    文件读写 [文件描述符] Linux下,通常通过open打开一个文件,它然后返回给我们一个整数,通过这个整数便可以操作文件,这个整数我们称文件描述符(fd).对应被打开的文件,它也是一种系统资源,那么 ...

  9. Linux 虚拟机VMware安装失败,提示没有选择磁盘

    提示安装位置:没有选择磁盘 磁盘类型问题. 在新建虚拟机向导时会推荐选项 重新安装就有磁盘了

随机推荐

  1. wpf timePicker 时间选择控件

    wpf里有日期选择控件,但没有时间选择控件.其他地方也有类似的,但效果并不太好,而且复杂.所以就自己写了个.参考codeproject上的. 分两部分. 第一部分是.cs文件.也就是control控件 ...

  2. 2017年总结的前端文章——一劳永逸的搞定 flex 布局

    flex 基本概念 使用 flex 布局首先要设置父容器 display: flex,然后再设置 justify-content: center 实现水平居中,最后设置 align-items: ce ...

  3. POJ 2653 Pick-up sticks [线段相交 迷之暴力]

    Pick-up sticks Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 12861   Accepted: 4847 D ...

  4. 为Android添加JNI支持

    起因 今天在进行Android原生开发时,需要通过JNI调用C++代码实现一些处理.以前没有做过类似的东西,在网上找了很久才解决问题,特记录下来以便以后翻阅. Eclipse无cygwin编译so的方 ...

  5. 12小时格式Xcode的-在一个“TimePicker”24 NSDate的设置

    我正在使用的NSDate对象,和好了,我的iPhone与24小时格式,所以当我在测试我的应用程序,一切正常,但是,我的一个朋友试图在他的iPhone上的应用程序 CodeGo.net,但12小时格式, ...

  6. Mybatis 动态使用update语句

    update pf_product_audio_t <trim prefix="set" suffixOverrides=","> <if t ...

  7. Mysql(三)-2:数据类型

    一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/mysql/mysql-data ...

  8. MVC5中使用Log4Net

    最早搜到的是这篇: http://www.codeproject.com/Articles/823247/How-to-use-Apache-log-net-library-with-ASP-NET- ...

  9. MongoDB 搭建可复制群集

    一.概述 MongoDB复制群集支持节点故障自动切换,最小配置应包含3个节点,正常情况下应该至少包含两个数据节点,第三个节点可以是数据节点也可以是仲裁节点.仲裁节点的作用是当出现偶数节点导致无法仲裁的 ...

  10. 每个前端开发者必会的 20 个 JavaScript 面试题

    JavaScript 未声明变量直接使用会抛出异常:var name is not defined,如果没有处理异常,代码就停止运行了.但是,使用typeof undeclared_variable并 ...