Как узнать количество физических дисков в Linux?

11

Какова команда командной строки, чтобы получить количество физических дисков в Linux Server и сколько места используется на каждом?

Arpssss
источник

Ответы:

10

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

sudo df -h дает вам размер и статистику использования на раздел. Брось -h и вы получаете использование в блоках, с ним это читается человеком.

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

ChimneyImp
источник
ты должен добавить parted используется вместо fdisk для разделов GPT. просто чтобы обеспечить ваш хороший ответ.
Francisco Tapia
5

Если вы действительно хотите отображать только оборудование, а не тома 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
Buzut
источник
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:~# 
Andreas Wiese
источник
-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, и так далее.

sapeurfaire
источник
Еще один момент: мой ответ заключался в том, что вы можете разделить диск, изменить его формат 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
Chin Seran
источник
0

Если вы просто хотите узнать физические диски в системе.

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

который выводит что-то вроде:

НАИМЕНОВАНИЕ MAJ: MIN RM РАЗМЕР RO ТИП MOUNTPOINT

сда 8:00 40г 0 диск

Michael L West
источник