Listando portas SATA não utilizadas no Linux

13

Eu tenho uma máquina física rodando Linux (CentOS 6.3, especificamente), e eu quero saber quantas portas SATA estão atualmente sem uso (ou seja, nada está conectado). Claro, eu poderia simplesmente abrir a máquina, mas digamos que eu não tenha acesso físico. Existe um comando que eu possa usar para mostrar quais portas SATA não estão sendo usadas?

Eu já sei sobre o comando lshw , mas, até onde sei, ele lista apenas as portas SATA usadas e não as portas livres.

    
por coledot 14.12.2013 / 01:27

2 respostas

5

Is there a command I can use to show which SATA ports are unused?

Não, mas você pode fazer o contrário. Você pode listar quais portas estão sendo usadas. Então olhe para cima (no manual) quantas portas existem na placa-mãe, subtraia quantas já estão em uso e obtenha o número de portas restantes.

Isso pressupõe que você tenha uma unidade SATA conectada por conector SATA (por exemplo, sem multiplicadores de porta ).


Existem várias maneiras de fazer isso.

Se todos os controladores SATA possuírem drivers carregados (bastante normal), então eu acho que fdisk -l lista todos os discos da maneira mais fácil.

Se você não tem mais fdisk (está sendo substituído por variantes mais modernas, como gpart), então você pode ler o log de inicialização. Alguns googling mostram que o CentOS está disponível através do dmesg , mas você pode leia também os arquivos de log diretamente. Provavelmente existem em /var/log/dmesg.log, /var/run/dmesg.boot ou em / var / log / boot. (Mantendo isso um pouco genérico para pessoas que não usam o CentOS).

Depois, há lspci . Isso lista todos os dispositivos PCI e PCI-e, incluindo os controladores SATA. Adicione -v para obter uma saída mais fácil de ler.

Ou use dmidecode . Isso pede informações ao BIOS. Se a saída deste comando parecer avassaladora, limite-a com a opção -t NR .

    
por 14.12.2013 / 03:46
14

Já se passaram três anos, mas se alguém vier através do Google, aqui vai: Se você tem o EPEL ativado, então instale o lsscsi , principalmente, fornece informações sobre dispositivos conectados, mas seu parâmetro -H é o que você precisa:

--hosts|-H lists scsi hosts rather than scsi devices

Compare com outro modo de saída e você tem a diferença:

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

ATUALIZAÇÃO: desconsidere isso, sem instalar nada:

dmesg | grep 'SATA link down'

mostrará as portas não utilizadas.

    
por 29.11.2016 / 16:27

Tags