SAS和JBOD基础简介

本文涉及的产品
数据传输服务 DTS,同步至DuckDB 3个月
简介:


1. SAS background


1.1 SCSI

Small Computer System Interface;简写:SCSI),一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。是一种智能的通用接口标准,它具备与多种类型的外设进行通信。SCSI采用ASPI(高级SCSI编程接口)的标准软件接口使驱动器和计算机内部安装的SCSI适配器进行通信。SCSI接口广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点。


1.1.1 interface


DB-25,Male External

DB-25,雄性外置接口

DB-25,Female External

DB-25,雌性外置接口

Low-Density,50-pin,Male External

低密度 50 针雄性外置接口 (6.5cm)

Low-Density,50-pin,Female External

低密度 50 针雌性外置接口

High-Density,50-pin,Male External

高密度 50 针雄性外置接口 (3.3cm)

High-Density,50-pin,Female External

高密度 50 针雌性外置接口

Low-Density,50-pin,Male Internal

低密度 50 针雄性内置接口 (7.1cm)

Low-Density,50-pin,Female Internal

低密度 50 针雌性内置借口

High-Density,68-pin,Male External

高密度 68 针雄性外置接口 (4.5cm)

High-Density,68-pin,Female External

高密度 68 针雌性外置接口

High-Density,68-pin,Male Internal

高密度 68 针雄性内置接口 (4.5cm)

High-Density,68-pin,Female Internal

高密度 68 针雌性内置接口

VHDCI,68-pin,Male External

非常高密度 68 针雄性外置接口 (3.2cm)

VHDCI,68-pin,Female External

非常高密度 68 针雌性外置接口



1.1.2 signal

SCSI总线有9个控制信号[2] ATNBSYACKRSTMSGSELC/DREQI/O,总线的活动完全由这些控制信号来决定和实现。这些信号由Initiator控制或者由Target控制或者由二者共同控制。其中C/DSELMSGBSYSEL的状态决定了总线处于什么阶段。在不同的阶段,总线上的信号组合是不同的。

1ATN:注意信号,通常在Initiator有消息要发送给Target的时候由Initiator设置。
  (2BSY:当有SCSI设备处于“忙”状态,占据数据总线时,这个信号被置为真。
  (3ACK:应答信号,由Initiator置位,作为对REQ/ACK请求应答数据传输的确认。
  (4RST:表示SCSI总线复位。
  (5MSG:在消息阶段由Target置位。
  (6SEL:Initiator选择Target或者Target再选Initiator时使用。
  (7C/D:表示控制或者数据信息的信号。
  (8REQ:Target置位,表示请求进行一次REQ/AC K握手的数据传输。
  (9I/O:表明当前数据传输的方向。
  为了完成一个I/O任务,SCSI设备和总线大体上必须经过以下过程:
  (1)申请使用总线
  (2)选择I/O操作对象
  (3)传送消息
  (4)交待I/O任务
  (5)数据传输
  (6)返回状态信息


当任务顺序完成后,目标器返回GOOD状态。但是,SCSI总线活动是比较复杂的,根据I/O任务的完成情况可以分成八个不同阶段。它们分别是BUS FREE(总线空闲)ARBITRATION(仲裁)SELECTION(选择)RESELECTION(重选)COMMAND(命令)DATA(数据)MESSAGE(消息)STATUS(状态)。总线进行任何处理都是以BUS FREE阶段开始,并以BUS FREE阶段结束的。在任何时候,SCSI总线只能处于一个确定的总线阶段。阶段前后的关联时受到严格限制的,也就是说并不是在每一个阶段后面都可以跟着任何的阶段。BUS FREE阶段状态的后面是ARBITRATION, SELECTION以及一个MESSAGE OUT阶段状态。在这些阶段状态之后是COMMANDDATA阶段状态,然后是STATUS阶段状态。



1.1.3 advantages

  • 快:Ultra320 SCSI320MB/s


  • 可靠:更强大的S.M.A.R.T(Self-Monitoring Analysis and Reporting Technology )


  • 扩展性比IDE:IDE 2个扩展口,SCSI: 7/15/30


  • CPU: 有独立的SCSI controller控制读写,无需Host CPU参与

1.1.4 weakness

  • 贵:比SATA


  • 电缆多: 电磁干扰多


  • 扩展性稍差: 对于构建JBOD需要很多controller


  • 菊花链连接,无专有通道


1.2 SAT

SATASerial Advanced Technology Attachment,串行高级技术附件)是基于行业标准的串行硬件驱动器接口,是2001年由IntelIBMDellAPTMaxtorSeagate公司共同提出的硬盘接口规范。



1.2.1 interface


wKiom1f_fLjgmBMuAAGDpuED6GE927.png

1.2.2 signal


wKiom1f_fPTjf6nwAAH1CWg52ys047.png












1.2.3 advantages

PATA(IDE)相比:

  • 快:IDE 133MB/s,  SATA 2.0: 600MB/s


  • 省: 串行传输,占用位宽、引脚、线缆少,省机箱内空间;功耗低,省电;


  • 纠错:利用嵌入式时钟信号,对指令和数据都能检测、纠错


  • 可扩展性好:支持星形链接


  • 便宜



1.2.4 weakness

  • 需要占用CPU


  • 可靠性稍差


  • 扩展性差



1.3 SAS = SCSI + SATA

为了充分利用SATASCSI的优点,避免它的缺点,提出了SAS(Serial Attached SCSI)即串行连接SCSI,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是基于并行SCSI接口开发出的全新接口,目的是为了改善存储系统的效能、可用性和扩充性,并且提供与SATA硬盘的兼容性。



1.3.1 Physical layer

遵循SFF-8482/SFF-887等物理接口和连接规范。


SATASAS接口的区别:

wKiom1f_fYjwaDniAAhDCz7fxUs603.png













多种多样的SAS连接器:

wKiom1f_fgjR2lvUAAPWLVS78wI780.png

1.3.2 Data Link layer

基于SCSI协议,利用CRC校验来检查指令或者数据的正确性。如果出错,就重新传送这个帧。



1.3.3 network layer

基于SCSI总线ID编址和仲裁的机制。

按照ID 7-0-15-8的顺序;只有IDtarget ID的节点会将总线上的电位变化信息保存到自己的缓存中。



1.3.4 Transaction layer

基于request-response模型:

wKioL1f_fnyArDGjAAFZJUJYqtM289.png读过程:

wKiom1f_fszAi3ygAAEmZBpILWY589.png命令格式示例1CDB(Command Descriptor block) for 6-byte-command

wKiom1f_fzqA7-xGAABbKNEpWnY019.png


SCSI所有的命令:


wKiom1f_f2mh4PdsAAOmzFuUvT8510.png1.3.4 Application layer

SAS对普通用户是透明的,用户只是用lsscsi/sg_ses等命令枚举scsi设备、管理JBOD



2. Why JBOD

现代通用存储服务器上的HBA卡能挂载非常多的drive,但由于背板尺寸和电缆的限制,无法充分发挥HBA卡的能力。特别是对更大存储容量的需求日益增多,有必要使用JBOD来发挥SAS良好的扩展性以及点对点全双工通信的能力。



3. understand JBOD

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



3.1 Hardware connection and infrastructure

以某款服务器为例,LSI SAS3008 HBA卡直连CPU PCIE x8:

wKiom1f_gAygf2LwAACS8XRuS_s194.png


JOBD可以通过expanderHBA直接相连:


wKiom1f_gF6Tes85AADZwmqkEwY990.png3.2 JBOD's location in kernel space

由于JOBD本身只是相当于插入了更多的磁盘,没有引入新的设备,因此依赖的驱动就是HBA的驱动mpt3sas.koSCSI通用层的驱动sg.ko.

wKioL1f_gJ7S1i0DAADYWKmTfjg959.png3.3 Use JBOD's function in user space

JBOD提供的功能包括:

Disk management,FAN management,Power management and controlling,Temperature monitor


4. Reference

http://baike.baidu.com/link?url=h-txwNIquQWMyrOsO3jVIkWsEhbqYgFKv4NFSAzL70ZLbAMVePALOo2i0ybK-80m1_z3ZcpCFlgK9OMiMgS1b_

http://baike.baidu.com/view/82499.htm

http://baike.baidu.com/link?url=6Fahof5PvBHyiGzP_f9xyxiIRjf4R93o_tf4EkIrOAaaKNlH8yPjyfY4kI24-8qqzo5pIa5Gx1zpZMnxDqg0oKLod9NL9VcPDedL4Oob6lW

http://51CTO提醒您,请勿滥发广告!/chip/347.html

http://baike.baidu.com/link?url=mY19zCtOMm0wgUYZ-0awy50ilEU9X42HIw-DWMQCNl6dELViyErRuneO6QJzL0bQ4IElc8bwVam1dtYIzPO3X70WKW3UFiS2iygdY7hjsYu

http://www.360doc.com/content/12/0820/08/21412_231246608.shtml

http://soft.zdnet.com.cn/techupdate/2008/1225/1292726.shtml

http://baike.baidu.com/link?url=GNpIL-sxCpi3-v2nTVLmQLdemkkxNrg1CYqYJBw6W8Y4EhK17mKrBDwUywP-KOgbcud1FtrDdyMM-u7CpljiUq























本文转自存储之厨51CTO博客,原文链接:http://blog.51cto.com/xiamachao/1861651 ,如需转载请自行联系原作者



相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 网络协议 文件存储
|
Web App开发 搜索推荐 Android开发
AppsFlyer 研究(三)OneLink平台归因、跳转、深度链接
AppsFlyer 研究(三)OneLink平台归因、跳转、深度链接
2615 0
|
7月前
|
机器学习/深度学习 算法 PyTorch
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
318 0
|
缓存 网络协议 前端开发
Web 性能优化|了解 HTTP 协议后才能理解的预加载
本文旨在探讨和分享多种预加载技术及其在提升网站性能、优化用户体验方面的应用。
Web 性能优化|了解 HTTP 协议后才能理解的预加载
|
安全 容灾 网络安全
深度用云——释放企业潜能 | 网络先行——阿里云网络卓越架构白皮书正式发布
深度用云——释放企业潜能 | 网络先行——阿里云网络卓越架构白皮书正式发布
674 3
|
存储 监控 数据可视化
在Linux中,有哪些日志管理和分析工具?
在Linux中,有哪些日志管理和分析工具?
|
边缘计算 监控 自动驾驶
揭秘云计算中的边缘计算:架构、优势及应用场景
揭秘云计算中的边缘计算:架构、优势及应用场景
|
存储 人工智能 大数据
阿里云吴结生:高性能计算持续创新,响应数据+AI时代的多元化负载需求
在数字化转型的大潮中,每家公司都在积极探索如何利用数据驱动业务增长,而AI技术的快速发展更是加速了这一进程。
带你读《阿里云卓越架构白皮书》——一 前言(1)
带你读《阿里云卓越架构白皮书》——一 前言(1)
805 91
|
存储 人工智能 文件存储
阿里云吴结生:面向大规模数据智能的阿里云存储创新
近年来,越来越多人意识到,我们正处在一个数据爆炸式增长的时代。IDC 预测 2027 年全球产生的数据量将达到 291 ZB,与 2022 年相比,增长了近 2 倍。其中 75% 的数据来自企业,每一个现代化的企业都是一家数据公司。
1623 10
阿里云吴结生:面向大规模数据智能的阿里云存储创新
下一篇
开通oss服务