我有一台运行 Linux(特别是 CentOS 6.3)的物理机,我想知道有多少 SATA 端口当前未使用(即没有插入任何内容)。当然,我可以直接打开机器,但假设我没有物理访问权限。有没有我可以用来显示哪些 SATA 端口未使用的命令?
我已经知道这个lshw命令,但据我所知,它只列出了使用过的 SATA 端口,而不是免费的。
kri*_*igl 29
已经三年了,但如果有人通过谷歌来,这里是:如果你启用了 EPEL,然后安装lsscsi,它主要提供有关连接设备的信息,但它的 -H 参数是你需要的:
--hosts|-H 列出 scsi 主机而不是 scsi 设备
与其他输出模式相比,您有不同之处:
root@server1:~# lsscsi -H
[0] ata_piix
[1] ata_piix
[2] ata_piix
[3] ata_piix
[4] usb-storage
root@server1:~# lsscsi -g
[0:0:0:0] disk ATA WDC WD2004FBYZ-0 RR03 /dev/sda /dev/sg0
[0:0:1:0] disk ATA WDC WD2004FBYZ-0 RR04 /dev/sdb /dev/sg1
[1:0:0:0] disk ATA WDC WD2004FBYZ-0 RR03 /dev/sdc /dev/sg2
[4:0:0:0] disk Seagate Backup+ Desk 0342 /dev/sdd /dev/sg3
Run Code Online (Sandbox Code Playgroud)
更新:忽略这一点,不安装任何东西:
dmesg | grep 'SATA link down'
Run Code Online (Sandbox Code Playgroud)
将显示未使用的端口。
有没有我可以用来显示哪些 SATA 端口未使用的命令?
不,但你可以反过来做。您可以列出正在使用的端口。然后查找(在手册中)主板上有多少个端口,减去已经在使用的端口数并获得剩余端口数。
这假设每个 SATA 连接器都连接了一个 SATA 驱动器(例如,没有端口倍增器)。
有几种方法可以做到这一点。
如果所有 SATA 控制器都加载了驱动程序(相当正常),那么我发现fdisk -l列出所有磁盘是最简单的方法。
如果您不再拥有 fdisk(它正在被我更现代的变体替代,例如 gpart),那么您可以阅读引导日志。一些谷歌搜索显示 CentOS 可以通过dmesg获得此功能,但您也可以直接读取日志文件。可能在 /var/log/dmesg.log、/var/run/dmesg.boot 或 /var/log/boot 中。(对于不使用 CentOS 的人来说,这有点通用)。
然后是lspci。这列出了所有 PCI 和 PCI-e 设备,包括 SATA 控制器。添加-v以获得更易于阅读的输出。
或使用dmidecode. 这会向 BIOS 询问信息。如果此命令的输出似乎过多,请使用-t NR选项对其进行限制。
| 归档时间: |
|
| 查看次数: |
22077 次 |
| 最近记录: |