it-swarm-es.tech

¿Cómo averiguo qué discos duros hay en el sistema?

Necesito saber qué discos duros están disponibles, incluidos los que no están montados y posiblemente no están formateados. No puedo encontrarlos en dmesg o /var/log/messages (demasiado para desplazarse). Espero que haya una manera de usar /dev o /proc para encontrar esta información, pero no sé cómo. Estoy usando Linux.

238
xenoterracide

Esto depende mucho de la plataforma. También diferentes métodos pueden tratar los casos Edge de manera diferente (discos "falsos" de varios tipos, volúmenes RAID, ...).

En las instalaciones modernas de udev, hay enlaces simbólicos a los medios de almacenamiento en subdirectorios de /dev/disk, que le permite buscar un disco o una partición por número de serie (/dev/disk/by-id/), por UUID (/dev/disk/by-uuid), por etiqueta del sistema de archivos (/dev/disk/by-label/) o por conectividad de hardware (/dev/disk/by-path/).

Bajo Linux 2.6, cada disco y dispositivo similar a un disco tiene una entrada en /sys/block. En Linux desde el principio de los tiempos, los discos y las particiones se enumeran en /proc/partitions. Alternativamente, puede usar lshw : lshw -class disk.

Linux también proporciona la utilidad lsblk que muestra una vista de árbol agradable de los volúmenes de almacenamiento (desde util-linux 2.19, no presente en dispositivos integrados con BusyBox).

Si tiene una utilidad fdisk o disklabel, podría decirle en qué dispositivos puede trabajar.

Encontrará nombres de utilidades para muchas variantes de Unix en Rosetta Stone para Unix , en particular las líneas "lista de configuración de hardware" y "leer una etiqueta de disco".

lsblk enumerará todos los dispositivos de bloque. Se presta bien a las secuencias de comandos:

$ lsblk -io KNAME,TYPE,SIZE,MODEL
KNAME TYPE   SIZE MODEL
sda   disk 149.1G Toshiba MK1637GS
sda1  part  23.3G 
sda2  part    28G 
sda3  part  93.6G 
sda4  part   4.3G 
sr0   rom   1024M CD/DVDW TS-L632M

lsblk está presente en el paquete util-linux y, por lo tanto, es mucho más universal que las alternativas propuestas.

160
K3---rnc

Qué tal si

lshw -class disk
70
nc3b

hwinfo ayuda:

> hwinfo --disk
21: IDE 00.0: 10600 Disk                                        
[Created at block.245]
Unique ID: 3OOL.8MZXfAWnuH8
Parent ID: w7Y8.1T_0outZkp6
SysFS ID: /class/block/sda
SysFS BusID: 0:0:0:0
SysFS Device Link: /devices/pci0000:00/0000:00:1f.2/Host0/target0:0:0/0:0:0:0
Hardware Class: disk
Model: "Hitachi HTS54322"
Vendor: "Hitachi"
Device: "HTS54322"
Revision: "ESBO"
Driver: "ahci", "sd"
Driver Modules: "ahci"
Device File: /dev/sda
Device Files: /dev/sda, /dev/disk/by-id/ata-Hitachi_HTS543225A7A384_E2021342GEPG4J, /dev/disk/by-id/scsi-SATA_Hitachi_HTS5432_E2021342GEPG4J, /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0, /dev/disk/by-id/wwn-0x5000cca614c6395e
Device Number: block 8:0-8:15
BIOS id: 0x80
Geometry (BIOS EDD): CHS 484521/16/63
Size (BIOS EDD): 488397168 sectors
Geometry (BIOS Legacy): CHS 1023/255/63
Drive status: no medium
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #17 (SATA controller)
> hwinfo --block --short
disk:                                                           
  /dev/sda             Hitachi HTS54322
partition:
  /dev/sda1            Partition
  /dev/sda2            Partition
  /dev/sda3            Partition
  /dev/sda4            Partition
  /dev/sda5            Partition

@Giles dice que esto depende mucho de la plataforma. Aquí hay uno de esos ejemplos.

Estoy ejecutando un sistema CentOS 5.5. Este sistema tiene 4 discos y un controlador RAID 3ware.

En mi caso, lshw -class disk, cat /proc/scsi/scsi y parted --list muestra el controlador RAID (3ware 9650SE-4LP). Esto no muestra los discos reales:

solo muestra el controlador RAID 3ware que proporciona el volumen/dev/sda:

# lshw -class disk
  *-disk                  
       description: SCSI Disk
       product: 9650SE-4LP DISK
       vendor: AMCC
       physical id: 0.0.0
       bus info: [email protected]:0.0.0
       logical name: /dev/sda

# cat /proc/scsi/scsi 
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: AMCC     Model: 9650SE-4LP DISK  Rev: 4.06
  Type:   Direct-Access                    ANSI SCSI revision: 05

# parted --list

Model: AMCC 9650SE-4LP DISK (scsi)
Disk /dev/sda: 2000GB

Para ver los discos que se encuentran debajo, tuve que instalar la utilidad tw_cli desde 3ware y preguntar al controlador en sí.

# tw_cli info c0
...

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   931.51 GB SATA  0   -            WDC WD1002FBYS-02A6 
p1    OK             u0   931.51 GB SATA  1   -            WDC WD1002FBYS-02A6 
20
Stefan Lasiewski

Dado que " ¿Puedo ver qué HDD he instalado? " y " ¿Cómo determino la marca y el modelo de mis dispositivos de almacenamiento? " están marcados como duplicados de esta pregunta , Me sorprende que nadie haya mencionado hdparm y smartctl. Al echar un vistazo a algunas máquinas, parece que cualquiera de ellas (cuando no son ambas) a menudo se encuentra instalada en distribuciones de Linux estándar (incluso antiguas).

# smartctl -i /dev/sda
smartctl 6.1 2013-03-16 r3800 [i686-linux-3.9.9-301.fc19.i686.PAE] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Toshiba 2.5" HDD MK..56GSY
Device Model:     Toshiba MK1656GSY
Serial Number:    60PKT43CT
LU WWN Device Id: 5 000039 2919874b6
Firmware Version: LH013D
User Capacity:    160 041 885 696 bytes [160 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Mon Jul 22 11:13:37 2013 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

# hdparm -i /dev/sda

/dev/sda:

 Model=Toshiba MK1656GSY, FwRev=LH013D, SerialNo=60PKT43CT
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=312581808
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  sdma0 sdma1 sdma2 mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
 AdvancedPM=yes: unknown setting WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-3,4,5,6,7

 * signifies the current active mode

Como de costumbre, consulte la página de manual para obtener más opciones.

14

Estoy ejecutando Fedora 14 y lshw no está disponible aquí (al menos no de manera predeterminada). Sin embargo, en mi caso, usé fdisk -l comando (como usuario root) para obtener el siguiente resultado:

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006a697

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    16777215     7875584   8e  Linux LVM

Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/dm-0: 6509 MB, 6509559808 bytes
255 heads, 63 sectors/track, 791 cylinders, total 12713984 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-0 doesn't contain a valid partition table

Disk /dev/dm-1: 1543 MB, 1543503872 bytes
255 heads, 63 sectors/track, 187 cylinders, total 3014656 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-1 doesn't contain a valid partition table
12
Eugene S

I se encuentra en otra respuesta SE , inxi herramienta como muy conveniente:

inxi -Dxx
Drives:    HDD Total Size: 810.2GB (42.9% used)
           ID-1: /dev/sdc model: ST3160827AS size: 160.0GB serial: 5MT2HMH6
           ID-2: /dev/sdb model: WDC_WD3200JD size: 320.1GB serial: WD-WCAMR1302926
           ID-3: /dev/sda model: ST380817AS size: 80.0GB serial: 4MR2EWBE
           ID-4: /dev/sdd model: ST3250824AS size: 250.1GB serial: 9ND08GKX
6
sfdisk -l  

le dará información detallada sobre hardware/discos físicos, incluso si no están montados.

el programa está preinstalado en todas las variantes de Linux que he usado, pero debes ser root para usarlo.

4
codeslinger

Muchos de los comandos enumerados lo ayudarán a buscar discos que el sistema ya haya reconocido en el arranque. Con las unidades modernas, puede encontrarse buscando algo que haya insertado mientras la máquina estaba en funcionamiento (lo hice). Me gusta el consejo de http://fredericiana.com/2010/06/15/hot-plugging-a-sata-drive-under-linux/ :

Pruebe esto para volver a escanear los hosts SCSI (cada puerto SATA aparece como un bus SCSI):

echo "0 0 0">/sys/class/scsi_Host/host/scan

... Entonces puede usar sus utilidades de Linux como fdisk para mostrarle información sobre los discos que se encontraron.

3
Mike Schwager

Esto funcionó para mí:

fdisk -l 2>/dev/null | grep "Disk \/" | grep -v "\/dev\/md" | awk '{print $2}' | sed -e 's/://g'
2
Aldo Vargas

Sudo gparted mostrará todo esto en una GUI.

(No especificó que necesita hacerlo dentro de un terminal, así que me pregunto por qué falta esta solución).

1
Ondra Žižka