Liste des ports SATA inutilisés sous Linux

18

J'ai une machine physique sous Linux (CentOS 6.3, en particulier), et je veux savoir combien de ports SATA sont actuellement inutilisés (c'est-à-dire que rien n'est branché). Bien sûr, je pouvais simplement ouvrir la machine, mais disons que je n'ai pas d'accès physique. Existe-t-il une commande que je peux utiliser pour afficher les ports SATA non utilisés?

Je connais déjà la lshwcommande, mais pour autant que je sache , elle ne répertorie que les ports SATA utilisés et non les ports libres.

coledot
la source

Réponses:

5

Existe-t-il une commande que je peux utiliser pour afficher les ports SATA non utilisés?

Non, mais vous pouvez faire l'inverse. Vous pouvez répertorier les ports utilisés. Recherchez ensuite (dans le manuel) le nombre de ports sur la carte mère, soustrayez le nombre de ports déjà utilisés et obtenez le nombre de ports restants.

Cela suppose que vous avez un lecteur SATA connecté par connecteur SATA (par exemple, aucun multiplicateur de port ).


Il existe plusieurs façons d'y parvenir.

Si tous les contrôleurs SATA ont des pilotes chargés (assez normal), je trouve la fdisk -lliste de tous les disques de la manière la plus simple.

Si vous n'avez plus fdisk (il est en train de remplacer mes variantes plus modernes telles que gpart), alors vous pouvez lire le journal de démarrage. Certaines recherches sur Google montrent que CentOS dispose de cela via dmesg , mais vous pouvez également lire les fichiers journaux directement. Il y en a probablement dans /var/log/dmesg.log, /var/run/dmesg.boot ou dans / var / log / boot. (Garder cela un peu générique pour les personnes n'utilisant pas CentOS).

Il y a ensuite lspci. Ceci répertorie tous les périphériques PCI et PCI-e, y compris les contrôleurs SATA. Ajoutez -vpour obtenir une sortie plus lisible.

Ou utilisez dmidecode. Cela demande des informations au BIOS. Si la sortie de cette commande semble écrasante, limitez-la avec l' -t NRoption.

Hennes
la source
Une combinaison de lspciet les spécifications pertinentes de la carte mère ont donné les informations dont j'avais besoin. Merci.
coledot
21

Cela fait trois ans, mais si quelqu'un passe par Google, voici: Si vous avez activé EPEL, puis installez lsscsi , il donne principalement des informations sur les appareils connectés, mais son paramètre -H est ce dont vous avez besoin:

--hosts | -H répertorie les hôtes scsi plutôt que les périphériques scsi

Comparez avec un autre mode de sortie et vous avez la différence:

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

MISE À JOUR: Ignorez cela, sans rien installer:

dmesg | grep 'SATA link down'

vous montrera les ports inutilisés.

Krigl
la source
Merci, très utile. Il fonctionne également sur Ubuntu ( lsscsiest inclus dans les référentiels par défaut, au moins à partir de 16.04 LTS).
gerlos