不知道是否有过这种经历,当你尝试连接多个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/