AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 387399
Accepted
Peter
Peter
Asked: 2012-05-10 01:51:51 +0800 CST2012-05-10 01:51:51 +0800 CST 2012-05-10 01:51:51 +0800 CST

奇怪的 mdadm 行为 - 创建失败时,md127 在新创建的部分清零分区上出现“设备或资源繁忙”

  • 772

问题:

# ls /dev/md*
/dev/md0  /dev/md1

# dd if=/dev/zero of=/dev/sdb3 bs=1M count=1
# dd if=/dev/zero of=/dev/sdd3 bs=1M count=1
# mdadm --zero-superblock /dev/sdb3
# mdadm --zero-superblock /dev/sdd3

# mdadm --create -l 1 -n 2 /dev/md2 /dev/sdb3 /dev/sdd3
mdadm: cannot open /dev/sdb3: Device or resource busy

# ls /dev/md*
/dev/md0  /dev/md1  /dev/md127  /dev/md2

# mdadm -D /dev/md127
mdadm: md device /dev/md127 does not appear to be active.

我没有要求它自动检测和组装任何东西。我也没有重启。

我在这些磁盘上多次移动分区以尝试不同的设置。所以很可能到处都有那些实验的痕迹。

sdb3 不忙。我刚刚像这样在几秒钟前创建了它:

swapoff -a
parted /dev/sdb rm 4        (my old raid10 + lvm)
parted /dev/sdb rm 3        (my old swap)
parted /dev/sdd unit s mkpart root4 503808 5860533118 (start here is same as swap start, and end is same as raid10+lvm end)
parted /dev/sdd set 3 raid on

另外,如果我创建了一个只有 /dev/sdd3 的设备,--create 命令也会打印:

mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md2 started.

但它现在也打印出来,在“-l 1”再次工作之后,没有“设备或资源繁忙”消息。(并且该磁盘有一个 bios_grub 和引导 raid1 分区,其元数据为 0.90,但此 sdd3 与引导无关)。

虽然我现在无法重现这个...我尝试了几次并很好地重现了它,但是在尝试使用“-l 0”之后,它起作用了。“-l 10”与“-l 1”具有相同的效果。

问题:

为什么会出现md127?

如果创建失败,为什么还要使用 md2?

将来,除了使用:

  • dd 将块设备的开始归零
  • mdadm --zero-超级块
  • 并使用“-l 0”创建(这是一个无意义的解决方案)

我还能做些什么来清理磁盘以为“--create”做准备?

linux mdadm
  • 2 2 个回答
  • 3665 Views

2 个回答

  • Voted
  1. Best Answer
    chutz
    2012-05-10T02:19:35+08:002012-05-10T02:19:35+08:00

    很难md127从您发布在屏幕上的输出中解释为什么会出现。但是你下次可以做的是检查上面写的是什么cat /proc/mdstat——它会告诉你它是否md127真的是一个内核设备。如果不存在,您可以删除/dev/md127.

    与此相关,并回答第二个问题,该mdadm工具将尝试在其下创建设备节点,/dev但如果由于某种原因失败,它不会清除它们。

    回答第三个问题——确保磁盘确实没有被使用。cat /proc/mdstat,停止任何 md 设备mdadm --stop,运行mdadm --zero-superblock,然后通过运行确保没有 md 元数据mdadm --examine /dev/sd...。

    • 2
  2. roktechie
    2014-02-11T18:05:09+08:002014-02-11T18:05:09+08:00

    md127 是您“裂脑”RAID1 阵列时的结果。内核开始对它们进行反向编号,以避免与现有配置的设备发生冲突。它将该备用磁盘计为未知 RAID1 阵列的成员。我不知道为什么它将另一个分配为 md2。这是一个谜。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve