即使在使用parted删除分区后,/ dev / mapper /中的设备文件也是如此

这些意见来自CentOS 6.3,6.4和6.5。 我有一个单分区的多path设备:

# 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/没有创build设备专用文件,而我的移除工作是在多path设备上进行的。 我正在脚本中执行某些操作,并且已经检查了预期的设备文件是否实际创build或删除,如果没有,则调用kpartx -a -pp <device> (从/lib/udev/rules.d/40-multipath.rules该提示/lib/udev/rules.d/40-multipath.rules )或kpartx -d <device>视情况而定。 但是我还没有一个满意的理解。

一般情况下,使用分割在额外的本地磁盘或移动硬盘上创build分区完全没问题,为什么还需要在来自SAN的磁盘上执行任何操作? 任何信息将不胜感激。 谢谢!

通过更新2.1-21可以解决这个问题。 我们有一个基于CentOS的系统,其中某些组件是源代码编译的,分开的只是一个。 我还没有试图去探究在以前的版本中是否有任何bug。