是否有通用的 linux 实用程序/方法来查询有关系统上所有磁盘的信息?
Posted
技术标签:
【中文标题】是否有通用的 linux 实用程序/方法来查询有关系统上所有磁盘的信息?【英文标题】:Is there a common linux utility/way to query information about all the disks on a system? 【发布时间】:2015-09-25 16:39:20 【问题描述】:我正在编写一个脚本,它将远程访问实验室中的机器并评估系统中的磁盘及其用途。我需要:
1. 获取系统中的所有磁盘,这也包括 SAN 磁盘作为 以及非标准的硬件突袭控制器。 2. 检查磁盘是否是软件RAID 的一部分。 3. 检查磁盘的分区以及它们是否可以启动。 4.收集有关驱动器的基本信息,包括制造商块大小等。我遇到的问题是,如果不编写 10 多页用于查找这些信息的每个实用程序的正则表达式,似乎没有一个非常方便的地方可以找到所有这些信息.令人惊讶的是,这在 Windows 上更容易,因为我可以使用 WMI。有没有更程序化的方式来收集我在 linux 中寻找的所有信息?
【问题讨论】:
kpartx,partprobe,blkid,lshw; cfdisk 和parted 【参考方案1】:我想到的工具:
kpartx
,partprobe
,blkid
,lshw
; cfdisk
和 parted
我认为parted
适合自动化。
lshw
有 xml 输出。
【讨论】:
我很想使用 lshw.. 但是,它在所有 Linux 发行版中并不统一。此外,您列出的其他操作主要用于更改驱动器上的分区,而不是读取有关驱动器的元数据。我正在考虑更多地通过迭代 /sys/class/block 来收集有关每个块设备的信息。 嗯? partprobe、blkid、kpartx 根本不 处理修改。 sfdisk 和 parted 可以用来查询信息。事实上,parted 必然会提供最多的信息(因为无论如何它都需要信息来支持其功能)【参考方案2】:mount
mount [-l] [-t type]
列出所有挂载的文件系统(类型类型)。选项 -l 在此列表中添加标签。
http://linux.die.net/man/8/mount
【讨论】:
这只会列出文件系统。我需要整个系统的整个有组织的磁盘结构。以上是关于是否有通用的 linux 实用程序/方法来查询有关系统上所有磁盘的信息?的主要内容,如果未能解决你的问题,请参考以下文章