Como obter o número de discos físicos no Linux?


12

Qual é o comando da linha de comando para obter o número de discos físicos no Linux Server e quanto espaço é usado em cada um?

Respostas:


10

sudo fdisk -llistará seus discos e várias estatísticas sobre eles, incluindo as partições. Os discos são geralmente na forma de /dev/sdxe partições /dev/sdxn, onde x é uma carta e n é um número (de modo sda é o primeiro disco físico e sda1 é a primeira partição no disco).

sudo df -hfornece as estatísticas de tamanho e uso por partição. Solte o -he você obtém uso em blocos, com ele é legível por humanos.

Coloquei os sudos lá porque não obtive saída do fdisk e apenas saída parcial do df quando executei os comandos como um usuário comum, suponho que os comandos sejam lidos de algum lugar fora dos limites para os não administradores.


você deve adicionar o partedfdisk para partições GPT. apenas para reforçar sua boa resposta.
Francisco Tapia

6

Se você realmente deseja exibir apenas o hardware, e não os volumes e partições RAID que podem ser vistos pelo sistema operacional como unidades físicas. Você pode tentar o lshw

lshw -class disk -short
H/W path        Device      Class       Description
===================================================
/0/1/0.0.0      /dev/cdrom  disk        DVD-RAM GSA-H55N
/0/1/0.1.0      /dev/sda    disk        160GB ST3160021A
/0/2/0.0.0      /dev/sdb    disk        160GB ST3160815AS

Ou um pouco mais detalhado

lshw -class disk
  *-cdrom                 
   description: DVD-RAM writer
   product: DVD-RAM GSA-H55N
   vendor: HL-DT-ST
   physical id: 0.0.0
   bus info: scsi@0:0.0.0
   logical name: /dev/cdrom
   logical name: /dev/sr0
   version: 1.04
   serial: [
   capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram
   configuration: ansiversion=5 status=nodisc
  *-disk
   description: ATA Disk
   product: ST3160021A
   vendor: Seagate
   physical id: 0.1.0
   bus info: scsi@0:0.1.0
   logical name: /dev/sda
   version: 8.01
   serial: 5JS97CFY
   size: 149GiB (160GB)
   capabilities: partitioned partitioned:dos
   configuration: ansiversion=5 sectorsize=512 signature=000f3a2f
  *-disk
   description: ATA Disk
   product: ST3160815AS
   vendor: Seagate
   physical id: 0.0.0
   bus info: scsi@2:0.0.0
   logical name: /dev/sdb
   version: 3.AA
   serial: 9RX7AK36
   size: 149GiB (160GB)
   capabilities: partitioned partitioned:dos
   configuration: ansiversion=5 sectorsize=512 signature=000b6d91

3

Eu acho que a maneira mais fácil (pelo menos em relação ao esforço de análise) em uma instalação recente do Linux seria

$ lsblk -S

que gera algo como isto:

tremendous:~# lsblk -S
NAME HCTL       TYPE VENDOR   MODEL             REV TRAN
sda  0:0:0:0    disk ATA      WDC WD5000AUDX-6 01.0 sata
sdb  1:0:0:0    disk ATA      WDC WD5000AUDX-6 01.0 sata
tremendous:~# 

-Snão é uma opção válida no debian wheezy / sid ou no Ubuntu 12.10. Sem ele, no entanto, lsblkexibe uma boa saída semelhante à floresta.
Dezso

2

Você pensaria que haveria uma resposta simples para isso, mas na verdade depende do que você quer dizer com "disco físico". Os volumes iSCSI e os dispositivos RAID (por exemplo) aparecem como discos físicos, mas as ferramentas usadas para examinar esses diferem.

Se você apenas quer dizer uma unidade SATA ou SCSI simples conectada diretamente a um controlador host na placa-mãe do servidor, está procurando dispositivos usados ​​ativamente localizados em / dev / sdN, para que você possa dar uma olhada no dmesg por eles (dmesg | grep sd) ou você pode procurar em / dev / disk / by-id ou, novamente, em / proc / diskstats.

Depois de identificar a entrada / dev / para dispositivos presentes, você pode usar a ferramenta apropriada para verificar se há espaço livre. Isso depende novamente de outras informações, como como elas foram particionadas, se usam o lvm e assim por diante.


Outro ponto: minha resposta foi assumir que você pode particionar um disco, modificar seu layout lvm ou criar / modificar sistemas de arquivos. Se você quiser apenas saber quanto espaço livre está disponível no disco já alocado, execute o comando "df -h"
sapeurfaire

Na verdade, essa pergunta é motivada por stackoverflow.com/questions/11744730/… . Na verdade, quero saber quantos sistemas de disco separados existem em nossa máquina servidor. (Tomás responde).
Arpssss

Quantos estão disponíveis ou quantos estão em uso? Em outras palavras, você está procurando um lugar para colocar outro disco ou está tentando encontrar um disco que acha que já existe?
Sapeurfaire

Estou tentando encontrar um disco que acho que já está lá.
Arpssss

2

Dependendo da sua distribuição (neste caso, o Centos 7) lsblk -dmostrará (por exemplo) três discos físicos.

NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0   11:0    1  1024M  0 rom  
sr1   11:1    1  1024M  0 rom  
sdf    8:80   0 372.6G  0 disk 
sde    8:64   0 372.6G  0 disk 
sdg    8:96   0   1.8T  0 disk 

iostattambém mostrará resultados semelhantes (ignore os dmdispositivos que fazem parte LVM)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sdf               1.85        41.74        53.80   68524791   88335482
sde               0.00         0.01         0.00      20219          0
dm-0              7.75        40.17        52.24   65945186   85767784
dm-1              0.31         0.94         1.56    1543416    2567312
sdg               0.86         1.89       171.04    3096240  280813864

0

Se você quer apenas conhecer os discos físicos no sistema.

LSBLK | grep -e ^ NAME -e disco

que gera algo como:

NOME MAJ: TAMANHO MÍN. RM RO TIPO DE MONTAGEM

sda 8: 0 0 40G 0 disco

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.