云计算百科
云计算领域专业知识百科平台

小白秒懂系列-服务器/存储SAS架构介绍

写在前面

今天有朋友在我们的”存储技术交流群“中探讨一个PHY LINK 的问题,无论是对于服务器还是存储系统,目前存储上很多后端都是SAS架构,这几年开始往NVMe架构在过度,我们这里还是聚焦于SAS的后端架构,对于一个故障提示或者故障log,要想分析判断出问题所在,首先我们要能理解报错的这些内容是什么,都是什么概念。写这个文章的目的就是让各位看官了解到服务器/存储的后端SAS存储架构的概念。

码字不易,欢迎点赞、转发,添加vx:StorageExpert。如果有需要加入”存储技术交流群“,也可以申请加入。

1. SAS架构概述

SAS是一种高速、串行数据传输协议,广泛应用于企业级存储系统中,用于连接主机(服务器)与存储设备(如硬盘或SSD)。它通过点对点的连接方式,提供了高带宽、高可靠性以及良好的扩展性。以下是涉及的关键组件:

  • SAS控制器:负责主机与SAS设备之间的通信,管理数据传输。
  • Expander:用于扩展SAS连接,增加可连接的设备数量。
  • PHY:物理层接口,负责实际的信号传输。
  • 磁盘:存储数据的设备,通常是SAS或SATA硬盘。

这些组件共同构成了SAS域(SAS Domain),在SAS域中,数据通过点对点的链路在设备之间传输。

2. SAS控制器(Controller)

定义与功能

SAS控制器(也称为RAID控制器)是连接主机与存储设备的核心组件。它是主机端的一个硬件模块,通常以PCIe卡的形式插入服务器主板。SAS控制器的主要功能包括:

  • 协议处理:实现SAS协议栈,处理主机与存储设备之间的命令(如SCSI命令)。
  • 数据传输管理:管理数据流,确保数据在主机与磁盘之间高效、可靠地传输。
  • 设备管理:发现和管理连接到控制器的所有SAS设备(包括Expander和磁盘)。
  • 错误处理:检测并纠正传输中的错误(如CRC校验)。
  • 如果是RAID控制器,还支持RAID功能(如RAID 0、1、5等)。

关键特性

  • 端口数量:每个SAS控制器有多个SAS端口(Port),每个端口包含若干PHY(通常4个PHY组成一个宽端口,称为Wide Port)。
  • 带宽:现代SAS控制器支持SAS-3(12Gbps)或SAS-4(24Gbps)速率。
  • 连接能力:直接连接若干磁盘,或通过Expander扩展到数百个设备。

与其他组件的关系

  • 与主机:通过PCIe接口与服务器通信,接收主机发出的I/O请求。
  • 与Expander:通过SAS端口连接Expander,扩展设备数量。
  • 与磁盘:直接或通过Expander连接磁盘,发送SCSI命令并传输数据。
  • 与PHY:SAS控制器内部的PHY是信号传输的物理接口,负责与外部设备的物理连接。

3. Expander

定义与功能

SAS Expander(扩展器)是一个用于扩展SAS域的设备,类似于网络交换机。它允许单个SAS控制器连接更多的存储设备(如磁盘)。Expander的主要功能包括:

  • 端口扩展:提供额外的SAS端口,增加可连接的设备数量。
  • 路由功能:在SAS域中,根据目标设备的SAS地址(SAS Address)路由数据包。
  • 链路聚合:支持宽端口(Wide Port),将多个PHY组合以提高带宽。
  • 设备发现:协助控制器发现和配置SAS域中的所有设备。

关键特性

  • 端口数量:一个Expander通常有12到36个端口(甚至更多),可以连接多个磁盘或其他Expander。
  • 级联支持:多个Expander可以级联,进一步扩展SAS域。
  • 协议支持:支持SAS和SATA设备(通过SATA Tunneling Protocol,STP)。
  • 无状态路由:Expander不存储数据,仅负责转发。

与其他组件的关系

  • 与SAS控制器:通过SAS电缆连接到控制器的端口,接收控制器的命令并转发到目标设备。
  • 与磁盘:直接连接磁盘,将控制器的命令传递到磁盘,或将磁盘的数据返回给控制器。
  • 与PHY:Expander内部也有多个PHY,每个PHY对应一个物理链路,用于与控制器、磁盘或其他Expander通信。
  • 与其他Expander:通过级联连接,构建更大的SAS域。

这个东东在存储系统上就是扩展柜DAE/shelf上的LCC卡,也叫做IOM卡等。这些就是expander。

4. PHY

定义与功能

PHY(Physical Layer,物理层)是SAS架构中最底层的组件,负责实际的信号传输。每个PHY是一个独立的物理链路,处理电信号的发送和接收。PHY的主要功能包括:

  • 信号传输:将数字信号转换为电信号(或反之),通过SAS电缆传输数据。
  • 链路管理:管理链路的初始化、速度协商和错误检测。
  • 协议支持:支持SAS或SATA协议的物理层通信。

关键特性

  • 速率:单个PHY支持的速率取决于SAS版本(如SAS-3为12Gbps,SAS-4为24Gbps)。
  • 宽端口:多个PHY可以组合成一个宽端口(Wide Port),提高带宽。例如,4个12Gbps的PHY组成一个宽端口,可提供48Gbps的带宽。
  • 点对点连接:每个PHY连接到另一个设备的PHY,形成点对点的链路。

与其他组件的关系

  • 与SAS控制器:控制器内部的PHY是与外部设备通信的接口。
  • 与Expander:Expander的每个端口由一个或多个PHY组成,用于连接控制器、磁盘或其他Expander。
  • 与磁盘:磁盘的SAS接口也有PHY,用于与控制器或Expander的PHY通信。

5. 磁盘(Disk)

定义与功能

磁盘是存储数据的最终设备,通常是SAS硬盘或SATA硬盘(在SAS系统中,SATA硬盘可以通过STP协议兼容)。磁盘的主要功能包括:

  • 数据存储:存储主机发送的数据。
  • 命令处理:接收并执行SCSI命令(如读、写)。
  • 数据传输:通过SAS接口与控制器或Expander通信。

关键特性

  • 接口类型:SAS磁盘支持双端口(Dual Port),提高可靠性和性能;SATA磁盘通常为单端口。
  • 速率:与SAS控制器和Expander的速率匹配(如12Gbps或24Gbps)。
  • SAS地址:每个磁盘有唯一的SAS地址,用于在SAS域中标识。

与其他组件的关系

  • 与SAS控制器:直接或通过Expander接收控制器的命令,执行读写操作。
  • 与Expander:通过Expander连接到控制器,Expander负责路由数据。
  • 与PHY:磁盘的SAS接口包含PHY,与控制器或Expander的PHY形成点对点链路。

6. 各组件之间的关系与工作流程

为了更清晰地理解这些组件之间的关系,我们可以通过一个典型的工作流程来分析:

  • 主机发起I/O请求:
    • 主机通过操作系统发送读写请求到SAS控制器。
    • 控制器将请求转换为SCSI命令,封装成SAS协议的数据包。
  • 控制器与Expander通信:
    • 如果磁盘直接连接到控制器,控制器通过其PHY将数据包发送到磁盘。
    • 如果使用了Expander,控制器通过其端口(由多个PHY组成)将数据包发送到Expander。
    • Expander根据目标磁盘的SAS地址,路由数据包到正确的端口(通过其内部的PHY)。
  • Expander与磁盘通信:
    • Expander的PHY与目标磁盘的PHY建立点对点链路。
    • 数据包通过链路传输到磁盘,磁盘执行读写操作,并将结果返回。
  • 数据返回主机:
    • 磁盘通过相同的链路(磁盘 → Expander → 控制器)将数据或状态返回给控制器。
    • 控制器通过PCIe接口将数据返回给主机。
  • 7. 实际场景中的拓扑示例

    以下是一个典型的SAS存储系统拓扑:

    主机

      ↓ (PCIe)

    SAS控制器 (4个端口,每个端口4个PHY)

      ↓ (SAS电缆)

    Expander (36个端口)

      ↓ (多个SAS电缆)

    磁盘1 磁盘2 磁盘3 … 磁盘N

    • 控制器:通过4个宽端口连接到Expander,每个宽端口提供48Gbps带宽(假设SAS-3,12Gbps/PHY)。
    • Expander:将控制器的端口扩展到36个端口,其中部分端口连接磁盘,部分端口可连接其他Expander。
    • PHY:控制器、Expander和磁盘之间的每条链路由PHY支持,确保高速、可靠的信号传输。
    • 磁盘:通过Expander接收命令,执行存储操作。

    8. 常见问题与注意事项

  • SAS与SATA兼容性:
    • SAS控制器和Expander支持SATA磁盘,但SATA磁盘的性能和功能(如单端口)低于SAS磁盘。
    • 在混合环境中,Expander通过STP协议处理SATA磁盘的通信。
  • 宽端口与窄端口:
    • 宽端口(多个PHY组合)提高带宽和可靠性,适合高性能场景。
    • 窄端口(单个PHY)用于低带宽设备。
  • 级联限制:
    • SAS规范限制了Expander的级联深度(通常不超过2-3级),以避免延迟和复杂性。
  • 错误处理:
    • PHY负责检测链路错误(如信号丢失)。
    • 控制器负责高级错误处理(如重试、故障隔离)。
  • 9. 总结

    • SAS控制器是系统的核心,管理主机与存储设备的通信。
    • Expander扩展了连接能力,允许连接更多磁盘。
    • PHY是信号传输的基础,构成了点对点的物理链路。
    • 磁盘是数据的最终存储介质,执行读写操作。

    写在最后

    了解了这些概念,就可以更好的去看log,知道log中的报错是什么? 还可以用命令去查询这些不同部分的状态来做详细的故障诊断分析。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 小白秒懂系列-服务器/存储SAS架构介绍
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!