不知道是否有过这种经历,当你尝试连接多个SCSI设备时,不知道该怎么做,那稀奇古怪的物理布线和设备配置又是什么情况?现在,绝妙的串行连接SCSI(SAS)Linux实用程序和Python库来解决这个令人困扰的问题!

与SCSI(SAM)直接连接不同,SAS采用点对点连接。本文将介绍如何使用串行连接SCSI(SAS)Linux实用程序和Python库连接多个SAS设备。这个过程包括:

1. 确定要使用的SAS/SCSI控制器

2. 插入并启动所有设备

3. 使用实用程序来扫描总线

4. 使用Python库与设备通信

首先,你需要确认你正在使用的SAS/SCSI控制器。您可以使用lsblk命令来检查哪些控制器已加载。在下面的示例中,控制器是/dev/sda:

“`

[root@centos7 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 10G 0 disk

├─sda1 8:1 0 100M 0 part /boot/efi

├─sda2 8:2 0 1G 0 part /boot

└─sda3 8:3 0 8.9G 0 part /

“`

接下来,插入所有设备并启动它们。您可以使用lsscsi命令检查所有已连接的SCSI/SAS设备:

“`

[root@centos7 ~]# lsscsi

[0:0:0:0] disk ATA VBOX HARDDISK 1.0 /dev/sda

[1:0:0:0] cd/dvd Optiarc DVD RW AD-5170A 1.13 /dev/sr0

“`

使用sasutils中的sas_scan命令扫描SAS总线,以查找所有设备。它将输出所有已找到的设备的详细信息。您可以使用以下命令:

“`

[root@centos7 ~]# sas_scan

[ SCAN RESULTS ]

Device Model Vendor Device Type Protocol Phy Phy Identifier

————————— ——- ———– ——– —– ————–

SMC SMC2108 AVAGO SAS SATA 0 0

SMC SMC2108 AVAGO SAS SATA 1 1

“`

现在,您可以使用Python中的sasutils库来与设备进行交互。该库包装了sas_scan命令并提供了更方便的访问方法。以下是一个示例脚本,此脚本从设备获取各种属性:

“`

import sasutils

for dev in sasutils.SASDevices():

print (dev.name)

print (dev.size)

print (dev.wwn)

print (dev.sas_address)

“`

串行连接SCSI(SAS)Linux实用程序和Python库确实使您能够轻松快捷地连接多个SAS设备。此外,sasutils库提供了比原始命令更方便的接口,使您能够更轻松地从设备中获取信息。现在,您可以畅快地与SAS设备玩耍了!

详情参考

了解更多有趣的事情:https://blog.ds3783.com/