Linuxで未使用のSATAポートをリストする


18

Linux(具体的にはCentOS 6.3)を実行している物理マシンがあり、現在使用されていない(つまり何も接続されていない)SATAポートの数を知りたい。もちろん、マシンを開いたままにすることもできますが、物理的にアクセスできないとしましょう。使用されていないSATAポートを表示するために使用できるコマンドはありますか?

私はすでにlshwコマンドについて知っていますが、私が知る限り、使用されているSATAポートのみをリストし、空きポートはリストしません。

回答:


5

使用されていない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オプションで制限してください。


lspci関連するマザーボードの仕様の組み合わせにより、必要な情報が得られました。ありがとう。
コールドット

21

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'

未使用のポートが表示されます。


ありがとう、とても便利です。Ubuntuでも動作lsscsiします(少なくとも16.04 LTS以降、デフォルトのリポジトリに含まれています)。
ジェロス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.