Bagaimana cara mendapatkan jumlah disk fisik di Linux?

12

Apa perintah baris perintah untuk mendapatkan jumlah disk fisik di Linux Server dan berapa banyak ruang yang digunakan pada masing-masing?

Arpss
sumber

Jawaban:

10

sudo fdisk -lakan mencantumkan disk Anda dan banyak statistik tentang mereka, termasuk partisi. Disk umumnya dalam bentuk /dev/sdxdan partisi /dev/sdxn, di mana x adalah huruf dan n adalah angka (jadi sda adalah disk fisik pertama dan sda1 adalah partisi pertama pada disk itu).

sudo df -hmemberi Anda ukuran dan statistik penggunaan per partisi. Jatuhkan -hdan Anda mendapatkan penggunaan dalam blok, dengan itu dapat dibaca manusia.

Saya meletakkan sudo di sana karena saya tidak mendapatkan output dari fdisk dan hanya sebagian keluaran dari df ketika saya menjalankan perintah sebagai pengguna biasa, saya kira karena perintah membaca dari suatu tempat terlarang untuk non-admin.

ChimneyImp
sumber
Anda harus menambahkan parteddigunakan bukan fdisk untuk partisi GPT. hanya untuk menegakkan jawaban baik Anda.
Francisco Tapia
6

Jika Anda benar-benar ingin menampilkan hanya perangkat keras, dan bukan volume RAID dan partisi yang mungkin dilihat oleh OS sebagai drive fisik. Anda mungkin ingin mencoba 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

Atau sedikit banyak bertele-tele

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
Buzut
sumber
3

Saya pikir cara termudah (setidaknya tentang upaya parsing) pada instalasi Linux baru-baru ini

$ lsblk -S

yang menghasilkan sesuatu seperti ini:

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:~# 
Andreas Wiese
sumber
-Sbukan opsi yang valid pada debian wheezy / sid atau Ubuntu 12.10. Tanpa itu, bagaimanapun, lsblkmenampilkan output seperti hutan yang bagus.
dezso
2

Anda akan berpikir akan ada jawaban sederhana untuk ini, tetapi sebenarnya tergantung pada apa yang Anda maksud dengan "disk fisik". Volume iSCSI dan perangkat RAID (misalnya) muncul sebagai disk fisik, tetapi alat yang digunakan untuk memeriksa ini berbeda.

Jika Anda hanya bermaksud drive SATA atau SCSI yang terpasang langsung ke pengontrol host pada motherboard server, Anda sedang mencari perangkat yang digunakan secara aktif yang terletak di / dev / sdN, sehingga Anda dapat melihat dmesg Anda untuk mereka (dmesg | grep sd) atau Anda bisa mencari di / dev / disk / by-id atau lagi Anda bisa mencari di / proc / diskstats.

Setelah Anda mengidentifikasi entri / dev / untuk perangkat yang ada, Anda dapat menggunakan alat yang sesuai untuk memeriksa ruang kosong. Ini lagi tergantung pada info lain, seperti bagaimana mereka dipartisi, apakah mereka menggunakan lvm, dan sebagainya.

sapeurfaire
sumber
Satu hal lagi: jawaban saya berasumsi bahwa Anda mungkin ingin mempartisi disk, memodifikasi tata letaknya lvm, atau membuat / memodifikasi sistem file. Jika Anda hanya ingin tahu berapa banyak ruang kosong yang tersedia pada disk yang sudah dialokasikan, jalankan perintah "df -h"
sapeurfaire
Sebenarnya, pertanyaan ini dimotivasi oleh stackoverflow.com/questions/11744730/… . Saya ingin tahu sebenarnya, berapa banyak sistem disk terpisah di mesin server kami. (Jawab Tomas).
Arpssss
Berapa banyak yang tersedia, atau berapa banyak yang digunakan? Dengan kata lain, apakah Anda mencari tempat untuk meletakkan disk lain, atau Anda mencoba mencari disk yang menurut Anda sudah ada di sana?
sapeurfaire
Saya mencoba menemukan disk yang menurut saya sudah ada di sana.
Arpssss
2

Bergantung pada distribusi Anda (dalam hal ini Centos 7) lsblk -dakan menunjukkan kepada Anda (misalnya) tiga disk fisik.

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 

iostatjuga akan menampilkan hasil yang serupa (abaikan dmperangkat karena merupakan bagian dari 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
Chin Seran
sumber
0

Jika Anda hanya ingin mengetahui Disk Fisik dalam sistem.

lsblk | grep -e ^ NAME -e disk

yang menghasilkan sesuatu seperti:

NAMA MAJ: MIN RM UKURAN RO TYPE MOUNTPOINT

sda 8: 0 0 40G 0 disk

Michael L West
sumber