Antworten:
sudo fdisk -l
listet Ihre Festplatten und eine Reihe von Statistiken darüber auf, einschließlich der Partitionen. Die Festplatten haben im Allgemeinen die Form /dev/sdx
und Partitionen /dev/sdxn
, wobei x ein Buchstabe und n eine Zahl ist (also ist sda die erste physische Festplatte und sda1 die erste Partition auf dieser Festplatte).
sudo df -h
gibt Ihnen die Größe und Nutzungsstatistik pro Partition. Wenn Sie das fallen -h
lassen, wird es in Blöcken verwendet. Damit ist es für Menschen lesbar.
Ich habe die sudos dort eingefügt, weil ich keine Ausgabe von fdisk und nur eine teilweise Ausgabe von df erhalten habe, als ich die Befehle als regulärer Benutzer ausgeführt habe, ich nehme an, weil die Befehle von einem Ort außerhalb der Grenzen für Nicht-Administratoren gelesen wurden.
Wenn Sie wirklich nur die Hardware und nicht RAID-Volumes und -Partitionen anzeigen möchten, die vom Betriebssystem möglicherweise als physische Laufwerke angesehen werden. Vielleicht möchten Sie lshw ausprobieren
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
Oder ein bisschen ausführlich
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
Ich denke, der einfachste Weg (zumindest in Bezug auf den Parsing-Aufwand) für eine aktuelle Linux-Installation wäre
$ lsblk -S
welches so etwas ausgibt:
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:~#
-S
ist keine gültige Option für Debian Wheezy / Sid oder Ubuntu 12.10. Ohne sie wird jedoch lsblk
eine schöne waldähnliche Ausgabe angezeigt.
Sie würden denken, es gäbe eine einfache Antwort darauf, aber es hängt tatsächlich davon ab, was Sie unter "physischer Festplatte" verstehen. iSCSI-Volumes und RAID-Geräte (zum Beispiel) werden als physische Festplatten angezeigt, aber die Tools, mit denen diese untersucht werden, unterscheiden sich.
Wenn Sie nur ein einfaches SATA- oder SCSI-Laufwerk meinen, das direkt an einen Host-Controller auf der Hauptplatine des Servers angeschlossen ist, suchen Sie nach aktiv verwendeten Geräten unter / dev / sdN, damit Sie in Ihrem dmesg nach ihnen suchen können (dmesg |) grep sd) oder Sie könnten in / dev / disk / by-id suchen oder noch einmal in / proc / diskstats.
Sobald Sie den Eintrag / dev / für vorhandene Geräte identifiziert haben, können Sie mit dem entsprechenden Tool nach freiem Speicherplatz suchen. Dies hängt wiederum von anderen Informationen ab, z. B. wie sie partitioniert wurden, ob sie das lvm verwenden und so weiter.
Abhängig von Ihrer Distribution (in diesem Fall Centos 7) lsblk -d
werden Ihnen (zum Beispiel) drei physische Festplatten angezeigt .
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
zeigt auch ähnliche Ergebnisse an (ignorieren Sie die dm
Geräte, zu denen sie gehören 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
Wenn Sie nur die physischen Festplatten im System kennen möchten.
lsblk | grep -e ^ NAME -e Festplatte
welches etwas ausgibt wie:
NAME MAJ: MIN RM GRÖSSE RO TYP MOUNTPOINT
sda 8: 0 0 40G 0 festplatte
parted
, dass stattdessen fdisk für GPT-Partitionen verwendet wird. nur um Ihre gute Antwort durchzusetzen.