Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在linux中,如何确定使用块设备的进程?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我在服务器中有一个磁盘,我正在迁移到LVM卷组.以前,它使用传统的DOS磁盘分区,hdb [1-5]. 我已经从hdb卸载了每个文件系统,使用hdb关闭交换,已经在设备上删除了一个较小的VG,然后使用fdisk重新分区,删除现有分区,并创建了2个分区,但在写完后,linux拒绝了重新读取分区表.使用hdparm -z报告再次尝试:BLKRRPART失败:设备或资源繁忙. 我已检查以下位置以确保设备
我在服务器中有一个磁盘,我正在迁移到LVM卷组.以前,它使用传统的DOS磁盘分区,hdb [1-5].

我已经从hdb卸载了每个文件系统,使用hdb关闭交换,已经在设备上删除一个较小的VG,然后使用fdisk重新分区,删除现有分区,并创建了2个分区,但在写完后,linux拒绝了重新读取分区表.使用hdparm -z报告再次尝试:BLKRRPART失败:设备或资源繁忙.

我已检查以下位置以确保设备及其分区未列在任何位置:

> / proc / swaps
> / proc / mdadm
>’pvs’命令输出
>’mount’命令输出
> / etc / mtab
> lsof | grep hdb

但是cat / proc / partitions仍然列出了分区,而Hdparm -z / dev / hdb仍然让我设备忙.

是否有一些我遗漏的东西,或者我还不知道要找到什么仍然保留在我的块设备上的秘密地方?更重要的是,我如何释放它以便我可以重新加载分区表

FWIW,在这个特定的情况下,我可以简单地重启服务器而不用担心,但这一直困扰着我,而且我很好奇是否有更好的方法.

(编辑:添加更精确的措辞)
(编辑:详细信息重新分区)

更新:我使用了partprobe / dev / hdb,它确实改变了一些东西:在/ dev / hdb1中,/ deb / hdb [3-5]现在已经消失了,而且partprobe正在报告错误错误通知内核有关分区的修改/ dev / hdb1 – 设备或资源繁忙. < - 特别是关于hdb1. hdb1以前是LVM卷组(VG)中的物理卷(PV),在我重新分区之前,我已经恢复了pvremoved em ...... 更新2:FWIW,我仍然没有纠正这个问题,幸运的是它并不紧急.我已经了解到partprobe正在使用更新的API调用,这就是为什么它似乎早先做了一些事情.我仍然没有找到一种简单有效的方法,给定一个设备,它的主要/次要数字,找出哪些资源(内核或用户空间)正在使用它.有任何想法吗?

解决方法

尝试使用热凝器
fuser -vam /dev/hdb1

大佬总结

以上是大佬教程为你收集整理的在linux中,如何确定使用块设备的进程?全部内容,希望文章能够帮你解决在linux中,如何确定使用块设备的进程?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。