服务器直连存储(DAS)通过物理线缆直接将存储设备连接到服务器主板或扩展卡,无需网络交换机,核心连接方式包括:SAS/SATA(通过HBA卡或主板端口)、PCIe NVMe(直插主板插槽或扩展卡)、外部接口(如eSATA/USB),具体操作步骤如下:

物理连接阶段
-
接口识别与选型
- SAS/SATA系统:
- 服务器安装HBA卡(如LSI 9400-16i)或使用主板集成SATA端口
- 使用SFF-8643(SAS)或SATA数据线连接磁盘柜背板
- 链式连接时需启用Expander芯片(最大支持255设备)
- NVMe系统:
- 直插主板M.2/U.2接口(需检查PCIe通道分配)
- 扩展方案:PCIe转接卡(如AOC-SLG3-4E4T)或JBOF机箱(通过OCuLink线缆)
- SAS/SATA系统:
-
线缆规范
| 接口类型 | 线缆标准 | 最大传输速率 | 有效传输距离 |
|—|—|—|—|
| SAS 4.0 | SFF-8654 | 22.5GB/s | 10m |
| NVMe over PCIe 4.0 | SFF-8611 | 64GB/s(x16) | 0.3m(直连)|
| eSATA | SATAe | 6Gb/s | 2m |
主机端配置
-
驱动与固件
- 更新HBA卡固件(示例:
sas2flash -list查看版本) - 加载多路径软件(如Linux DM-Multipath)
- 更新HBA卡固件(示例:
-
存储识别流程
# Linux系统操作示例 echo "- - -" > /sys/class/scsi_host/hostX/scan # 强制扫描SAS设备 nvme list # 查看NVMe设备 rescan-scsi-bus.sh -a # 自动化扫描工具
存储系统配置
-
磁盘管理
- RAID创建(通过HBA卡BIOS或CLI工具)
storcli /c0 add vd type=raid10 drives=32:0-3 # 创建RAID10阵列
- NVMe命名空间划分:
nvme create-ns /dev/nvme0 -s 1000000000 -c 1000000000
- RAID创建(通过HBA卡BIOS或CLI工具)
-
安全策略实施
- SAS域分区(Zoning):
sas_zone_manager -add -phy PHY1 -domain 5 - NVMe访问控制:
nvme connect-all -t tcp -a 192.168.1.100 -s 4420 -q nqn.2026-06.com.example
- SAS域分区(Zoning):
性能优化关键点
-
队列深度调整
# 调整SAS设备队列深度 echo 256 > /sys/block/sdb/queue/nr_requests
-
PCIe通道分配

- BIOS中禁用板载设备释放通道
- 使用
lspci -vv检查设备带宽
-
缓存策略
# 启用NVMe写入缓存(危险!需UPS保护) nvme set-feature /dev/nvme0n1 -f 6 -v 0x2
高可用方案
-
双控制器DAS架构

图示:服务器通过双SAS线缆分别连接存储控制器 -
多路径故障切换
# multipath.conf配置片段 path_grouping_policy "failover" path_selector "service-time 0"
故障排查清单
-
设备未识别
- 检查HBA卡供电(12V Vcc引脚电压≥11.8V)
- SAS链路诊断:
sas2ircu 0 display查看PHY错误计数
-
性能骤降
- 使用
iostat -x 1检查await值 - SAS链路降级检测:
sas_phy_control -g 0 -p 1
- 使用
行业实践警示:2026年某金融系统因未配置HBA卡队列溢出保护,导致缓存溢出引发数据损坏,建议生产环境开启SCSI Medium Error Handling(
scsi_mod.max_error=3)
您正在使用哪种DAS架构?
- 传统SAS机械盘阵列
- 全闪NVMe JBOF
- 混合存储方案
欢迎在评论区分享您的配置痛点或性能优化经验!
原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/19414.html