如何从 CentOS 7 上的 lsblk 列表中删除块设备?

如何从 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.怎么做?

答案1

(关于上一个问题)我建议您要删除 DRBD 设备,但是rm在 中的节点上运行/dev/并不能真正实现这一点。例如,您应该看到块设备的内核视图/sys/class/block不受此类更改的影响。

删除设备节点会将其隐藏在 lsblk 中,但不会导致任何已声明的资源被释放!这似乎是个坏主意。

重新启动应该会删除您不再使用的任何奇怪的 DRBD 设备。 (例如,已从 drbd 配置中删除,但由于任何奇怪的原因仍然存在)。

如果您想要的话,“模块加载/卸载”将是避免重新启动的一种方法。 modprobe -r drbd卸载。它要求您没有使用其他 DRBD 设备。


如果您认为 drbd 守护进程在/运行/dev的同时创建或重命名设备,并且确实有一个错误留下了过时的设备节点(以及 中的一些过时的缓存),那么您最好这样做完全重新启动以清除混乱。因为那将是一些非常损坏的软件,所以不应该再这样做了。udevdevtmpfslsblk

答案2

当您停止时,drdb您可能需要检查线程并按照建议删除/dev.以下是上述页面的摘录:

我们在/dev/目录下也有drbd设备,我们想从/dev中删除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 它。

答案3

lsblk可以-e选择按主要设备编号排除设备。

上面输出中的 drbd 设备的lsblk主设备号为 147,因此这会将它们从列表中排除:

lsblk -a -e 147

这不会从您的系统中删除任何 drbd 设备节点或以任何方式与 DRBD 服务交互,它只会从lsblk输出中排除 drbd 设备。

相关内容