如何获取Linux中物理磁盘的数量?

如何获取Linux中物理磁盘的数量?

什么命令行命令可以获取 Linux 服务器中的物理磁盘数量以及每个磁盘使用了多少空间?

答案1

sudo fdisk -l将列出您的磁盘及其一系列统计信息,包括分区。磁盘通常采用/dev/sdx和 分区的形式/dev/sdxn,其中X是一封信,n是一个数字(因此 sda 是第一个物理磁盘,而 sda1 是该磁盘上的第一个分区)。

sudo df -h为您提供每个分区的大小和使用情况统计信息。删除-h,您将获得以块为单位的使用情况,这样就很容易理解了。

我将 sudos 放在其中,因为当我以普通用户身份运行命令时,没有从 fdisk 获得任何输出,并且只从 df 获得部分输出,我猜是因为命令从非管理员无法访问的地方读取。

答案2

如果你确实只想显示硬件,而不是操作系统可能视为物理驱动器的 RAID 卷和分区。你可能想尝试瘦身

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

答案4

您可能认为这个问题的答案很简单,但实际上这取决于您所说的“物理磁盘”是什么意思。iSCSI 卷和 RAID 设备(例如)显示为物理磁盘,但检查这些磁盘所使用的工具有所不同。

如果您只是指直接连接到服务器主板上的主机控制器的普通 SATA 或 SCSI 驱动器,那么您正在寻找位于 /dev/sdN 的活跃使用的设备,因此您可以通过 dmesg 查找它们(dmesg | grep sd)或者您可以查看 /dev/disk/by-id,或者再次查看 /proc/diskstats。

一旦确定了 /dev/ 中存在的设备,就可以使用适当的工具检查可用空间。这又取决于其他信息,例如它们是如何分区的、它们是否使用 lvm 等等。

相关内容