在使用硬盘创建逻辑卷或数据库之前,我需要了解以下信息。任何 perl 模块或片段都会有用。
- 我的系统有多少个硬盘?
- 找出它们的尺寸(总尺寸、已用尺寸、可用尺寸)
答案1
这很容易找到:cat /proc/partitions
。非常容易解释和编写脚本:
major minor #blocks name
11 0 182466 sr0
8 0 156290904 sda
8 1 156039313 sda1
8 2 1 sda2
8 5 248976 sda5
252 0 52428800 dm-0
252 1 9764864 dm-1
252 2 9764864 dm-2
sdx
(其中 x 是一个字符)设备是您的磁盘sdxn
(其中 n 是数字)是分区dm-n
是逻辑卷mdn
是 Linux 软件 RAIDsr0
是CD驱动器
答案2
在 Debian(可能还有大多数 Linux)中,fdisk -l
显示所有磁盘的总大小。如果您还想知道分区的大小,那么您可以编写一个脚本来解析输出并根据开始和结束柱面以及块大小进行计算。
要了解磁盘上的已用空间和可用空间,通常您必须安装它们。某些文件系统可能存在无需安装即可获取该信息的工具,但没有适用于所有文件系统的通用工具。
答案3
如果您的“VMware”实例是 ESX/ESXi 服务器,则可以使用 Web 服务 SDK 来获取此信息。
我个人喜欢 Steve Jin 的 vijava 库来查询 WS。http://vijava.sourceforge.net/