Answers:
有没有我可以用来显示哪些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
选项限制它。
已经三年了,但是如果有人通过Google来了,那就去了:如果启用了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
更新:无需安装任何东西,无需理会:
dmesg | grep 'SATA link down'
将显示未使用的端口。
lsscsi
默认存储库中至少包含16.04 LTS版本)。
lspci
相关的主板规格即可获得我所需的信息。谢谢。