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 / 问题 / 41982
Accepted
user13328
user13328
Asked: 2009-07-17 19:41:51 +0800 CST2009-07-17 19:41:51 +0800 CST 2009-07-17 19:41:51 +0800 CST

mdadm raid5 超级块丢失

  • 772

当服务器电源出现故障时,我有一个 3 磁盘 mdadm raid5 卷(由 /dev/sd[abc] 制成),它处于重塑中间,进入 5 个磁盘(添加 /dev/sd[df]) . 这是在 ubuntu 8.10 intrepid 64 位服务器(内核 2.6.27),mdadm 版本 2.6.4,从源代码构建的。ups monitor daemon当时很好执行以下命令

mdadm --stop /dev/md0
shutdown -P now

当我让盒子重新启动并运行时,我使用以下命令重新启动了 raid,因为它不会自行启动。

mdadm --assemble /dev/md0 /dev/sd[abcdf]

它重新启动并沿着其重塑过程重新开始,但只有 4 个光盘。/dev/sdf 没有超级块,所以它不会出现。我尝试将其添加回:

mdadm --add /dev/md0 /dev/sdf

但这只是将其添加为热备件,而不是作为突袭中失踪的第 5 名成员。所以我用--remove删除了它,因为在这个过程中的热备件有点没用。更糟糕的是,这向磁盘添加了一个超级块,现在将其标识为热备用。不过,使用 --zero-superblock 很容易摆脱。

我想知道的是,我如何按摩这个磁盘以将其放回阵列的正确位置?我没有理由相信数据不好,只是超级块。或者,在没有它的情况下,重塑已经取得进展,现在尝试重新添加它甚至不合适吗?

/proc/mdstat 的内容:

root@FS1:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sda[0] sdd[4] sdc[2] sdb[1]
      1953524736 blocks super 0.91 level 5, 512k chunk, algorithm 2 [5/4] [UUU_U]
      [======>..............]  reshape = 33.4% (326807040/976762368) finish=1175.3min speed=9216K/sec

unused devices: <none>

/etc/mdadm/mdadm.conf 的内容

root@FS1:~# cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=4128dcfb:b5e905ae:60b633ef:af4ede72

# This file was auto-generated on Wed, 15 Jul 2009 09:09:57 -0400
# by mkconf $Id$

mdadm --examine --scan 的输出

root@FS1:~# mdadm --examine --scan
ARRAY /dev/md0 level=raid5 num-devices=5 UUID=4128dcfb:b5e905ae:60b633ef:af4ede72
   spares=1

mdadm -D 的输出

root@FS1:~# mdadm -D /dev/md0
/dev/md0:
        Version : 00.91.03
  Creation Time : Sun Jul 12 15:57:27 2009
     Raid Level : raid5
     Array Size : 1953524736 (1863.03 GiB 2000.41 GB)
  Used Dev Size : 976762368 (931.51 GiB 1000.20 GB)
   Raid Devices : 5
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Thu Jul 16 23:34:21 2009
          State : clean, degraded, recovering
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

 Reshape Status : 33% complete
  Delta Devices : 2, (3->5)

           UUID : 4128dcfb:b5e905ae:60b633ef:af4ede72 (local to host FS1)
         Events : 0.216044

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb
       2       8       32        2      active sync   /dev/sdc
       3       0        0        3      removed
       4       8       48        4      active sync   /dev/sdd
mdadm raid5
  • 1 1 个回答
  • 3917 Views

1 个回答

  • Voted
  1. Best Answer
    Avery Payne
    2009-07-17T22:50:55+08:002009-07-17T22:50:55+08:00

    首先,让 md0 设备完成对现有设置的消化。此刻不要胡思乱想,因为它正忙于尝试遵循它唯一的命令 -让阵列恢复到干净的状态!

    一旦事情稳定下来,继续删除第五个驱动器的“旧”条目。然后继续将驱动器添加到阵列中并像最初一样对其进行整形,尽管这次您将从 4 个磁盘开始,而不是 3 个。

    • 1

相关问题

  • 如何将 Linux 软件 RAID 移动到新机器上?

  • 重建 RAID 阵列时的预期吞吐量?

  • 有没有好的图形或基于 Web 的 md 状态或管理工具?

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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