如何在 Unix 中识别块设备的主要和次要编号

网友投稿 763 2022-05-28

问题:如何找出我的块设备/分区/挂载点/SAN磁盘/文件系统的主要和次要编号?

为什么需要知道主次设备号?

有时,出于各种原因,您可能需要知道设备的主要和次要数量。例如,sar 实用程序以 dev m-n的格式报告文件系统的 i/o 数据,如下所示。(m 是主要编号,n 是次要编号)

来自 sar 手册页以下是 DEV 列的含义如下所示:

-d Report activity for each block device (kernels 2.4 and newer only). When data is displayed, the device specification dev m- n is generally used ( DEV column). m is the major number of the device. With recent kernels (post 2.5), n is the minor number of the device, but is only a sequence number with pre 2.5 kernels.

通过查看下面的 sar 输出,我们无法判断 dev110-1 表示什么挂载点(文件系统)。在这种情况下,您知道该设备代表一个主设备号为 110 和次设备号为 1 的块设备。

$ sar -d Linux 2.6.9-67.0.0.0.1.ELsmp (webserver) 06/21/2009 12:00:00 AM DEV tps rd_sec/s wr_sec/s 12:02:00 AM dev110-1 6.00 0.00 6.00 12:02:00 AM dev8-1 1.00 1.00 0.00 12:02:00 AM dev1-1 2.00 1.00 1.00 12:02:00 AM dev1-2 1.00 0.00 1.00 12:02:00 AM dev1-3 4.00 2.00 2.00 12:02:00 AM dev1-4 5.00 3.00 2.00

df -k 不显示主次号

在以下示例中,当您执行 df -k 时,它表明您已将本地 SCSI 硬盘驱动器分区 (/dev/sda1) 挂载为 / (root) 并挂载了 SAN 设备分区 (/dev/san-device1)作为 /home/mysql. 请注意,SAN 设备可以是 EMC、NetApps 或任何类型的 SAN 存储。

$ df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 10317828 2353828 7439884 25% / /dev/sandevice1 50537528 22350656 25619688 47% /home/mysql

如何识别主次设备号?

现在,如果您想知道这些设备的主要和次要编号,请 cd 到 /dev 目录并执行 ls -l 如下所示,这将显示主要和次要编号

$ cd /dev $ ls -l sd* brw-rw---- 1 root disk 8, 0 Feb 8 2008 sda brw-rw---- 1 root disk 8, 1 Feb 8 2008 sda1 [Note: Major for /dev/sda1 is 8 and minor is 1] $ ls -l san* brw------- 1 root root 110, 0 Feb 8 sandevice brw------- 1 root root 110, 1 Feb 8 sandevice1 [Note: Major for /dev/sandevice1 is 110 and minor is 1]

sda1 – 主要编号为 8,次要编号为 1

sandevice1 – 主要编号为 110,次要编号为 1

有了这些信息,您现在可以识别在 sar -d 输出中报告的相应设备。

$ sar -d Linux 2.6.9-67.0.0.0.1.ELsmp (webserver) 06/21/2009 12:00:00 AM DEV tps rd_sec/s wr_sec/s 12:02:00 AM dev110-1 6.00 0.00 6.00 12:02:00 AM dev8-1 1.00 1.00 0.00 [Note: Now, we know dev110-1 is /dev/sandevice1 and dev8-1 is /dev/sda1 ]

SCSI 和 IDE 驱动器的主要编号

SCSI 和 IDE 的主要编号不会更改,并且具有以下硬编码值。

SCSI (/dev/sd?) 主要编号是 8

如何在 Unix 中识别块设备的主要和次要编号

IDE (/dev/hd?) 主要编号是 3

Unix

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mysql rpl_semi_sync_master_wait_point
下一篇:Win7和Win10 关闭驱动程序强制签名的方法
相关文章