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.
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.
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
lspci
et les spécifications pertinentes de la carte mère ont donné les informations dont j'avais besoin. Merci.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:
Comparez avec un autre mode de sortie et vous avez la différence:
MISE À JOUR: Ignorez cela, sans rien installer:
vous montrera les ports inutilisés.
la source
lsscsi
est inclus dans les référentiels par défaut, au moins à partir de 16.04 LTS).