web-dev-qa-db-fra.com

Comment obtenir le nombre de disques physiques sous Linux?

Quelle est la commande en ligne de commande pour obtenir le nombre de disques physiques sur le serveur Linux et combien d’espace est utilisé sur chacun?

11
Arpssss

Sudo fdisk -l listera vos disques et une série de statistiques à leur sujet, y compris les partitions. Les disques se présentent généralement sous la forme /dev/sdx et les partitions /dev/sdxn, où x est une lettre et n est un nombre (donc sda est le premier disque physique et sda1 est la première partition de ce disque).

Sudo df -h vous donne les statistiques de taille et d'utilisation par partition. Supprimez le -h et vous obtenez une utilisation par blocs, ce qui le rend lisible par l'homme.

J'ai mis les sudos dedans parce que je n'avais aucune sortie de fdisk et seulement une sortie partielle de df quand j'exécutais les commandes en tant qu'utilisateur normal, je suppose parce que les commandes étaient lues quelque part hors de portée des non-administrateurs.

10
ChimneyImp

Si vous souhaitez vraiment afficher uniquement le matériel, et non les volumes et partitions RAID qui pourraient être vus par le système d'exploitation comme des disques physiques. Vous voudrez peut-être essayer 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 un peu beaucoup verbeux

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
5
Buzut

Je pense que le moyen le plus simple (au moins en ce qui concerne les efforts d’analyse) sur une installation récente de Linux serait

$ lsblk -S

qui produit quelque chose comme ceci:

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:~# 
3
Andreas Wiese

En fonction de votre distribution (dans ce cas, Centos 7), lsblk -d vous montrera (par exemple) trois disques physiques.

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 

iostat affichera également des résultats similaires (ignorez les périphériques dm car ils font partie de 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
2
Chin Seran

Vous penseriez qu'il y aurait une réponse simple à cela, mais cela dépend en fait de ce que vous entendez par "disque physique". Les volumes iSCSI et les périphériques RAID (par exemple) apparaissent sous la forme de disques physiques, mais les outils utilisés pour les examiner sont différents.

Si vous voulez simplement dire un lecteur SATA ou SCSI brut connecté directement à un contrôleur hôte sur la carte mère du serveur, vous recherchez des périphériques activement utilisés situés dans/dev/sdN, de sorte que vous puissiez les rechercher via votre dmesg (dmesg | grep sd) ou vous pouvez regarder dans/dev/disk/by-id ou encore dans/proc/diskstats.

Une fois que vous avez identifié l'entrée/dev/pour les périphériques présents, vous pouvez utiliser l'outil approprié pour vérifier l'espace disponible. Cela dépend à nouveau d'autres informations, telles que la manière dont elles ont été partitionnées, l'utilisation ou non du lvm, etc.

2
sapeurfaire

Si vous voulez juste connaître les disques physiques du système.

lsblk | grep -e ^ NOM -e disque

qui produit quelque chose comme:

NOM MAJ: MIN RM TAILLE RO TYPE MOUNTPOINT

sda 8: 0 0 40G 0 disque

0
Michael L West