¿Cómo obtener la cantidad de discos físicos en Linux?


12

¿Cuál es el comando de línea de comando para obtener la cantidad de discos físicos en Linux Server y cuánto espacio se usa en cada uno?

Respuestas:


10

sudo fdisk -lenumerará sus discos y un montón de estadísticas sobre ellos, incluidas las particiones. Los discos generalmente están en forma de /dev/sdxparticiones /dev/sdxn, donde x es una letra yn es un número (entonces sda es el primer disco físico y sda1 es la primera partición en ese disco).

sudo df -hle da el tamaño y las estadísticas de uso por partición. Suelte el -hy obtendrá el uso en bloques, con él es legible para los humanos.

Puse los sudos allí porque no obtuve salida de fdisk y solo salida parcial de df cuando ejecuté los comandos como usuario normal, supongo que porque los comandos leen desde algún lugar fuera del alcance de los no administradores.


debe agregar partedse utiliza en su lugar fdisk para particiones GPT. solo para hacer cumplir tu buena respuesta.
Francisco Tapia

6

Si realmente desea mostrar solo el hardware, y no los volúmenes y particiones RAID que el sistema operativo puede ver como unidades físicas. Es posible que desee probar 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

O un poco demasiado detallado

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

Creo que la forma más fácil (al menos en relación con el esfuerzo de análisis) en una instalación reciente de Linux sería

$ lsblk -S

que produce algo como esto:

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:~# 

-Sno es una opción válida en debian wheezy / sid o Ubuntu 12.10. Sin él, sin embargo, lsblkmuestra una buena salida similar a un bosque.
dezso

2

Pensarías que habría una respuesta simple a esto, pero en realidad depende de lo que quieras decir con "disco físico". Los volúmenes iSCSI y los dispositivos RAID (por ejemplo) aparecen como discos físicos, pero las herramientas que uno usa para examinar estos difieren.

Si solo quiere decir una unidad SATA o SCSI simple conectada directamente a un controlador de host en la placa base del servidor, está buscando dispositivos de uso activo ubicados en / dev / sdN, para que pueda navegar a través de su dmesg (dmesg | grep sd) o puede buscar en / dev / disk / by-id o una vez más puede buscar en / proc / diskstats.

Una vez que haya identificado la entrada / dev / para los dispositivos que están presentes, puede usar la herramienta adecuada para verificar el espacio libre. De nuevo, esto depende de otra información, como la forma en que se particionaron, si usan lvm, etc.


Otro punto: mi respuesta fue asumir que es posible que desee particionar un disco, modificar su diseño lvm o crear / modificar sistemas de archivos. Si solo desea saber cuánto espacio libre está disponible en el disco ya asignado, ejecute el comando "df -h"
sapeurfaire

En realidad, esta pregunta está motivada por stackoverflow.com/questions/11744730/… . En realidad, quiero saber cuántos sistemas de disco separados hay en nuestra máquina servidor. (Respuesta de Tomás).
Arpssss

¿Cuántos hay disponibles o cuántos están en uso? En otras palabras, ¿está buscando un lugar para colocar otro disco o está tratando de encontrar un disco que cree que ya está allí?
sapeurfaire

Estoy tratando de encontrar un disco que creo que ya está allí.
Arpssss

2

Dependiendo de su distribución (en este caso, Centos 7) lsblk -dle mostrará (por ejemplo) tres 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 

iostattambién mostrará resultados similares (ignore los dmdispositivos de los que forman 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

Si solo desea conocer los discos físicos en el sistema.

lsblk | grep -e ^ NOMBRE -e disco

que produce algo como:

NOMBRE MAJ: MIN RM TAMAÑO RO TIPO MOUNTPOINT

sda 8: 0 0 40G 0 disco

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.