11

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

6 ответов6

10

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

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

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

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:~# 
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
2

Вы могли бы подумать, что будет простой ответ на этот вопрос, но на самом деле это зависит от того, что вы подразумеваете под "физическим диском". Тома iSCSI и устройства RAID (например) отображаются как физические диски, но инструменты, используемые для их изучения, различаются.

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

После того, как вы определили /dev / entry для присутствующих устройств, вы можете использовать соответствующий инструмент для проверки свободного места. Это опять-таки зависит от другой информации, такой как то, как они были разделены, используют ли они lvm и так далее.

0

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .