回答:
使用されていないSATAポートを表示するために使用できるコマンドはありますか?
いいえ、しかし逆もできます。使用されているポートを一覧表示できます。次に、(マニュアルで)マザーボード上にあるポートの数を調べ、すでに使用されているポートの数を引いて、残りのポートの数を取得します。
これは、SATAコネクタごとに1つのSATAドライブが接続されていることを前提としています(ポートマルチプライヤなしなど)。
これにはいくつかの方法があります。
すべてのSATAコントローラーにドライバーがロードされている場合(かなり正常)、fdisk -l
すべてのディスクを最も簡単な方法でリストすることができます。
fdiskがなくなった場合(gpartなどの最新の亜種と置き換えられています)、ブートログを読むことができます。一部のグーグルショーでは、CentOSがdmesg経由でこれを利用できることを示していますいますが、ログファイルを直接読み取ることもできます。おそらく/var/log/dmesg.log、/var/run/dmesg.boot、または/ var / log / bootにあります。(CentOSを使用していない人のために、これを少し一般的なものにしてください)。
次にありますlspci
。これには、SATAコントローラーを含むすべてのPCIおよびPCI-eデバイスがリストされます。-v
読みやすくするために追加します。
またはを使用しますdmidecode
。これはBIOSに情報を要求します。このコマンドからの出力が圧倒的に思える場合は、-t NR
オプションで制限してください。
3年が経ちましたが、誰かが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
関連するマザーボードの仕様の組み合わせにより、必要な情報が得られました。ありがとう。