Linux(特にCentOS 6.3)を実行している物理マシンがあり、現在使用されていない(つまり、何も接続されていない)SATAポートの数を知りたい。もちろん、マシンを引っ張って開けることもできますが、物理的にアクセスできないとしましょう。未使用のSATAポートを表示するために使用できるコマンドはありますか?
lshw
コマンドについてはすでに知っていますが、私の知る限り、使用されているSATAポートのみを一覧表示し、空きポートは一覧表示しません。
未使用の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'
未使用のポートが表示されます。