SAS和JBOD基础简介

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
简介:


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 ,如需转载请自行联系原作者



相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章