即使使用 parting 删除分区后,/dev/mapper/ 中的设备文件仍然存在

即使使用 parting 删除分区后,/dev/mapper/ 中的设备文件仍然存在

这些观察结果来自 CentOS 6.3、6.4 和 6.5。我有一个带有单个分区的多路径设备:

# ls -l /dev/mapper/
total 0
crw-rw---- 1 admin root 10, 57 Dec 22 12:52 control
lrwxrwxrwx 1 admin root      7 Dec 24 12:22 mpatha -> ../dm-0
lrwxrwxrwx 1 admin root      7 Dec 24 12:22 mpathap1 -> ../dm-1

# kpartx -l /dev/mapper/mpatha
mpatha1 : 0 5368719293 /dev/mapper/mpatha 34

然后使用 parted 删除分区:

# parted /dev/mapper/mpatha
GNU Parted 1.7.1
Using /dev/dm-0
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) unit GB                                                          
(parted) p                                                                

Disk /dev/dm-0: 2749GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      0.00GB  2749GB  2749GB  ext3         primary       

(parted) rm 1                                                             
(parted) q                                                                
Information: Don't forget to update /etc/fstab, if necessary.

但是,设备特殊文件/dev/mapper/mpathap1不会自动删除。运行ls -l /dev/mapper/会产生与上面完全相同的输出,而kpartx -l /dev/mapper/mpatha会正常退出($? = 0),不会打印任何内容。

我的问题与一个。但是,问题是没有创建设备专用文件,/dev/而我的问题是删除,而且是在多路径设备上。我正在脚本中执行某些操作,并且已经对预期的设备文件是否实际创建或删除进行了检测,如果没有,那么我调用kpartx -a -p p <device>(从中得到提示/lib/udev/rules.d/40-multipath.rules)或kpartx -d <device>视情况而定。但我还没有得到令人满意的理解。

一般情况下,使用 parted 在额外的本地磁盘或便携式硬盘上创建分区完全没问题,为什么还需要在来自 SAN 的磁盘上做更多的事情呢?任何信息都将不胜感激。谢谢!

答案1

可以通过更新 parting 来修复此问题2.1-21。我们有一个基于 CentOS 的系统,其中某些组件是源代码编译的,而 parted 恰好是其中之一。我还没有尝试探索上一个 parted 版本中是否存在任何错误。

相关内容