web-dev-qa-db-ja.com

/ dev / mapper /内のデバイスファイルは、partedでパーティションを削除した後でも存在します

これらの観察結果は、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)。

私の質問は this 1に関連しています。ただし、問題は/dev/にデバイス特殊ファイルが作成されていないことでしたが、私のものは削除に関するものであり、マルチパスデバイスでも同様です。私はスクリプトで特定の操作を行っており、予期されるデバイスファイルが実際に作成または削除されるかどうかのチェックをすでにインストルメント化しています。そうでない場合は、kpartx -a -p p <device>/lib/udev/rules.d/40-multipath.rulesからそのヒントを取得)または場合によってはkpartx -d <device>を呼び出します。しかし、私はまだ満足のいく理解を持っていません。

一般に、partedを使用して追加のローカルディスクまたはポータブルハードディスクにパーティションを作成することは完全にうまく機能しますが、SANからのディスクでさらに何かを行う必要があるのはなぜですか?任意の情報をいただければ幸いです。ありがとう!

1
pdp

Partedを 2.1-21 に更新することで、この問題を修正することができました。 CentOSに基づくシステムがあり、特定のコンポーネントがソースコンパイルされ、別れがたまたま1つになっています。以前のパートリリースにバグがあったかどうかについては、まだ調べていません。

1
pdp