Як отримати кількість фізичних дисків у Linux?


12

Що таке командний рядок для отримання кількості фізичних дисків у Linux Server та скільки місця використовується на кожному?

Відповіді:


10

sudo fdisk -lперелічить ваші диски та купу статистики про них, включаючи розділи. Диски, як правило, мають форму /dev/sdxі розділи /dev/sdxn, де x - буква і n - число (тому sda - це перший фізичний диск, а sda1 - перший розділ на цьому диску).

sudo df -hдає розмір та статистику використання для кожного розділу. Відкиньте -hі ви отримаєте використання в блоках, завдяки цьому він читається людиною.

Я поклав туди sudos, оскільки я не отримав вихід з fdisk і лише частковий вихід з df, коли я запускав команди як звичайний користувач, я вважаю, тому що команди читаються звідкись поза межами до не-адмінів.


Ви повинні додати parted, що використовується розділ fdisk для розділів GPT. просто для забезпечення вашої доброї відповіді.
Франсіско Тапія

6

Якщо ви дійсно хочете відображати лише апаратне забезпечення, а не томи RAID та розділи, які ОС можуть сприймати як фізичні диски. Ви можете спробувати 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

Або трохи багатослівний

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

3

Я думаю, що найпростішим способом (принаймні, щодо розбору зусиль) для недавньої установки Linux був би

$ lsblk -S

який виводить щось подібне:

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не є дійсною опцією для debian wheezy / sid або Ubuntu 12.10. Однак без нього lsblkвідображається приємний вихід із лісу.
dezso

2

Ви можете подумати, що на це буде проста відповідь, але насправді це залежить від того, що ви маєте на увазі під фізичним диском. Томи iSCSI та пристрої RAID (наприклад) виглядають як фізичні диски, але інструменти, які використовуються для їх вивчення, відрізняються.

Якщо ви просто маєте на увазі звичайний накопичувач SATA або SCSI, приєднаний безпосередньо до хост-контролеру на материнській платі сервера, ви шукаєте активно використовувані пристрої, розташовані за адресою / dev / sdN, тож ви можете проглядати їх dmesg (dmesg | | grep sd) або ви можете заглянути в / dev / disk / by-id або ще раз ви можете заглянути в / proc / diskstats.

Визначивши / dev / entry для присутніх пристроїв, ви можете скористатися відповідним інструментом для перевірки вільного місця. Це знову залежить від іншої інформації, наприклад, від того, як вони були розділені, чи вони використовують lvm тощо.


Ще один момент: моя відповідь припускала, що ви, можливо, захочете розділити диск, змінити його макет lvm або створити / змінити файлові системи. Якщо ви просто хочете дізнатися, скільки вільного місця є на вже виділеному диску, запустіть команду "df -h"
sapeurfaire

Власне, це питання мотивовано stackoverflow.com/questions/11744730/… . Я хочу знати насправді, скільки окремих дискових систем є в нашій серверній машині. (Відповідь Томаша).
Arpssss

Скільки доступних чи скільки використовується? Іншими словами, ви шукаєте місце, щоб поставити інший диск, чи намагаєтесь знайти диск, який, на вашу думку, вже є?
sapeurfaire

Я намагаюся знайти диск, який, на мою думку, вже є.
Arpssss

2

Залежно від вашого розповсюдження (в даному випадку Centos 7) lsblk -dпокаже вам (наприклад) три фізичні диски.

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також покаже подібні результати (ігноруйте dmпристрої, до яких вони входять 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

0

Якщо ви просто хочете знати фізичні диски в системі.

lsblk | grep -e ^ NAME -e диск

який виводить щось на кшталт:

ІМЕЙ МАЙ: МІН RM РОЗМІР РОЗВИТОК ТИПУ RO

sda 8: 0 0 40G 0 диск

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.