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


11

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

Ответы:


10

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

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

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


ты должен добавить 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

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 диск

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.