web-dev-qa-db-ja.com

CentOS 7のlsblkリストからブロックデバイスを削除する方法

これが私のlsblk -aリスト:

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   10G  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0    9G  0 part
  ├─cl-root 253:0    0    8G  0 lvm  /
  └─cl-swap 253:1    0    1G  0 lvm  [SWAP]
sdb           8:32   0   16G  0 disk
sr0          11:0    1 1024M  0 rom
drbd0       147:0    0    2G  0 disk

削除したいdrbd0。実行する方法?

3
cloud_cloud

(前の質問について)DRBDデバイスを削除することを提案しましたが、/dev/のノードでrmを実行しても実際にはこれが実現されません。例えば。 /sys/class/blockのブロックデバイスのカーネルビューは、そのような変更の影響を受けないことがわかります。

デバイスノードを削除すると、lsblkから非表示になりますが、要求されたリソースは解放されません。これは悪い考えのようです。

再起動すると、使用していない奇妙なDRBDデバイスが削除されます。 (たとえば、それらはdrbd configから削除されましたが、奇妙な理由でまだ存在しています)。

「モジュールのロード/アンロード」は、再起動を回避する方法です(必要な場合)。アンロードするmodprobe -r drbd。他のDRBDデバイスを使用していないことが必要です。


Drbdデーモンがudev/devtmpfsの実行と同時に/devでのデバイスの作成または名前の変更をいじっていると信じており、本当にバグが残っていたため、古くなったデバイスノード(およびlsblkの古くなったキャッシュ)は、完全な再起動を行って混乱を解消することをお勧めします。これは本当に壊れたソフトウェアになるので、もうそれで何もするべきではない。

2
sourcejedi

drdbを停止したので、 スレッド をチェックして、推奨事項に従い、/devのデバイスファイルを削除することをお勧めします。上記のページからの抜粋です。

/ dev /ディレクトリにdrbdデバイスもあるので、/ drからde drbd1を削除します。

brw-rw---- 1 root disk 147, 0 2009-03-18 15:34 /dev/drbd0

brw-rw---- 1 root disk 147, 1 2009-03-18 15:34 /dev/drbd1

brw-rw---- 1 root disk 147, 2 2009-03-18 15:34 /dev/drbd2

brw-rw---- 1 root disk 147, 3 2009-03-18 15:41 /dev/drbd3

brw-rw---- 1 root disk 147, 4 2009-03-18 15:41 /dev/drbd4

もちろん、必要に応じて、デバイスノードを削除することもできます。再使用する場合に備えて、魔法のように再表示されることはありません(再起動やモジュールのアンロード/ロードを行わない限り)。したがって、もう一度必要な場合は、もう一度mknodする必要があります。

2
Romeo Ninov

lsblkには-eメジャーデバイス番号でデバイスを除外するオプション。

上記のlsblk出力のdrbdデバイスのメジャー番号は147であるため、リストから除外されます。

lsblk -a -e 147

これにより、システムからdrbdデバイスノードが削除されたり、DRBDサービスとやり取りしたりすることはなく、lsblkの出力からdrbdデバイスが除外されるだけです。

2
cas