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