lsscsi
告诉我我有许多磁盘和盘柜。
我可以用来$ ls /sys/class/enclosure/6:0:10:0/ArrayDevice*/device/scsi/disk
获取 6:0:10:0 机箱下磁盘的所有 scsi 地址的列表。
我可以将该列表与lsscsi
输出相关联,以查看每个磁盘的位置。
但我当然不需要编写脚本来自动执行此操作。有udevadm
没有类似的工具sg_ses
可以为我完成这项任务?
答案1
这是一个答案吗?
[root@hard-3 ~]# ls -ldF /sys/block/sda/device/enclosure_device\:0
lrwxrwxrwx. 1 root root 0 июл 26 18:25 /sys/block/sda/device/enclosure_device:0 -> ../../../../../../port-1:0:4/end_device-1:0:4/target1:0:1/1:0:1:0/enclosure/1:0:1:0/0/
[root@hard-3 ~]#
答案2
您可以安装 sg3_utils(debian 上的 sg3-utils)软件包。lsscsi
命令将帮助您识别机柜的总线 ID。你可以查询sg_ses -p 7 /dev/bsg/<busid>
这是一个例子:
[0:0:64:0] disk HGST HUHAJLGALLLAAAAA A384 /dev/sdbl
[0:0:65:0] enclosu HGST 4U60G2_STOR_ENCL 0101 -
获得巴士 ID 后:
sg_ses --page=7 /dev/bsg/0:0:65:0