这些观察结果来自 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 版本中是否存在任何错误。