mke2fs 说“设置超级块时设备或资源繁忙”

mke2fs 说“设置超级块时设备或资源繁忙”

我正在尝试测试恢复备份的 Linux 文件系统 /apps(ext3 文件系统)

/dev/cciss/c0d0p7     177G  3.8G  164G   3% /apps

我运行了以下命令来进行转储:

/sbin/dump -0uz -f /backup_labeir1/apps.dmp /apps

然后我删除了 /apps 文件夹:

rm -rf /apps

并将其卸载:

umount -l /apps

接下来我尝试制作文件系统

mke2fs -j -b 4096 -L data /dev/cciss/c0d0p7

之后我计划执行以下步骤:

# mkdir /apps
# mount -t ext3 /dev/cciss/c0d0p7 /apps
# cd /apps
# restore -rf /backup_labeir1/apps.dmp .
# reboot

我有两个问题:

  1. 我的测试步骤正确吗
  2. 当我运行下面的命令时,出现错误:[root@labeir2 backup_labeir1]# mke2fs -F -j -b 4096 -L data /dev/cciss/c0d0p7 mke2fs 1.39 (29-May-2006) /dev/cciss/c0d0p7 显然正在被系统使用;无论如何都要强制使用 mke2fs。/dev/cciss/c0d0p7: 设置超级块时设备或资源繁忙

但是文件系统没有挂载,也没有lsof显示任何输出:

 lsof | grep /dev/cciss/c0d0p7
 lsof /dev/cciss/c0d0p7

请帮我解决这个问题。

答案1

当我尝试在 Mac OS X 上格式化 USB 驱动器时,出现了同样的错误。就我而言,先卸载磁盘可以diskutil unmountDisk ...解决问题。

详细信息:首先,运行diskutil list并检查输出以确定要格式化哪个磁盘。(不要格式化硬盘disk0!)就我而言,它是/dev/disk1。当我第一次运行时mkfs.ext3 /dev/disk1,我收到消息“设置超级块时资源繁忙”。但在我运行之后diskutil unmountDisk disk1mkfs.ext3它就起作用了。

注意:最初,我尝试过diskutil eject disk1,但后来磁盘不再可访问 - 例如diskutil list没有显示它。diskutil unmountDisk disk1确保磁盘不再使用,但mkfs.ext3仍可以访问它。

答案2

/dev/cciss/c0d0p7:设置超级块时设备或资源繁忙

根据我的经验,资源繁忙是由多路径设备映射引起的(可能有)。(例如 /dev/mapper/mpathi)

如果我们遇到这个问题,“mke2fs -t ext4 /dev/mapper/mpathi”和“”将会失败。

[root@myserver ~]# multipath -ll mpathi
mpathi (snip:myFCdisk) dm-6 snip:myFCdiskProdName
size=100G features='0' hwhandler='1 alua' wp=ro
|-+- policy='round-robin 0' prio=snip:123 status=active
| `- 6:0:0:7  sdv  65:80  active ready  running
`-+- policy='round-robin 0' prio=snip:111 status=enabled
  `- 5:0:0:7  sdi  8:128  active ready  running
[root@myserver ~]#
[root@myserver ~]# mke2fs -F -t ext4 /dev/mapper/mpathi
mke2fs 1.41.12 (17-May-2010)
/dev/mapper/mpathi: Operation not permitted while setting up superblock
[root@myserver ~]#
[root@myserver ~]# mke2fs -F -t ext4 /dev/sdv
mke2fs 1.41.12 (17-May-2010)
/dev/sdv is apparently in use by the system; will not make a filesystem here!
[root@myserver ~]#

我的解决方法是暂时删除多路径设备图。

  1. 删除多路径设备名称。(multipath -f /dev/mapper/mpathi)
  2. 为 mpath 从属设备运行 mke2fs(例如 mke2fs -F -t ext4 /dev/sdv)
  3. 重建多路径设备图。(多路径 -r)

祝你有美好的一天:)

相关内容