难以删除不需要的阵列

难以删除不需要的阵列

我在摆脱2磁盘raid1阵列时遇到了一些麻烦。

(Ubuntu 服务器 16.04)

我使用 mdadm 从 2x 3tb 驱动器创建了一个阵列 - 该阵列仅用于存储数据,而不是我的操作系统/启动系统的一部分。

然而,随后我意识到它只选择了 2TB 的阵列大小 - 因此按照一些步骤(我认为会)删除阵列,然后将两个磁盘更改为 gpt。

重新启动,并进入紧急模式,因为它无法加载设备 md0

很多通过乱搞,我能够(似乎)消除对数组存在的期望,并且现在已经重新启动到我的系统 - 唷!

我以为就是这样——但并不完全是。

此后,我在 2x 磁盘上创建了新分区,它们显示为 3TB - 但系统仍然认为它们是阵列的一部分。例如...

sudo mdadm --detail /dev/md0

/dev/md0:
        Version : 1.2
  Creation Time : Sun Jul 31 13:22:09 2016
     Raid Level : raid1
     Array Size : 2147351488 (2047.87 GiB 2198.89 GB)
  Used Dev Size : 2147351488 (2047.87 GiB 2198.89 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Sun Jul 31 19:56:08 2016
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : ARES:0  (local to host ARES)
           UUID : db925a50:039ab51d:bc8b06da:80bacf04
         Events : 3059

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

lsblk

NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda       8:0    0   2.7T  0 disk
└─sda1    8:1    0   2.7T  0 part
  └─md0   9:0    0     2T  0 raid1 
sdb       8:16   0   2.7T  0 disk
└─sdb1    8:17   0   2.7T  0 part
  └─md0   9:0    0     2T  0 raid1 
sdc       8:32   0   1.8T  0 disk
└─sdc1    8:33   0   1.8T  0 part  /datamounts/s2
sdd       8:48   0   7.3T  0 disk
└─sdd1    8:49   0   7.3T  0 part  /datamounts/media
sde       8:64   0 119.2G  0 disk
├─sde1    8:65   0 115.4G  0 part  /
├─sde2    8:66   0     1K  0 part
└─sde5    8:69   0   3.9G  0 part  [SWAP]

我已经检查了 mdadm.conf,但这里似乎没有任何证据表明......

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

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

# 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

# This file was auto-generated on Sun, 31 Jul 2016 10:13:10 +0100
# by mkconf $Id$

所以显然仍然有一些东西引用该数组 - 但我不确定应该采取什么步骤来删除指向它的任何链接,但又不会再次破坏我的系统(正如您可能知道的,这一切仍然很新!)

我可以运行 mdadm --stop /dev/md0,但是不想运行 --remove,直到我知道这是正确的做法!

谢谢您提供的任何提示/帮助!

编辑以添加...

看到很多对 /proc/mdstat 的引用,所以听起来我也应该包括这个文件的内容。

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
      2147351488 blocks super 1.2 [2/2] [UU]
      bitmap: 0/16 pages [0KB], 65536KB chunk

unused devices: <none>

编辑2

删除 mdadm 时建议的步骤之一是

sudo mdadm --zero-superblock /dev/sda/

但总是出现错误,说无法打开进行写入。驱动器没有安装,所以不确定如何继续,也不知道这是否是问题的一部分

如果我理解正确的话,上述命令将“清除”超级块信息,这也许就是读取的内容,假设它们仍然是数组的一部分。

因此,我尝试使用以下方法将整个驱动器归零

sudo dd if=/dev/zero of=/dev/sda
sudo dd if=/dev/zero of=/dev/sdb

我会看看这是否有什么不同

答案1

好的,所以对我来说答案是执行以下操作......

按照通常的步骤停止并删除 RAID 阵列

mdadm --stop /dev/md0
mdadm --remove /dev/md0

此时,重新启动机器,再次启动突袭

以前的使用说明--zero-superblock对我来说失败了,所以尝试用 0 填充磁盘...

sudo dd if=/dev/zero of=/dev/sda status=progress
sudo dd if=/dev/zero of=/dev/sdb status=progress

(我在不同的终端上同时运行了这两项操作 - 在 3TB 的硬盘上大约花费了 12 个小时)

这招确实奏效了——几次重启后,阵列就消失了。

重新格式化/分区磁盘,我回到了我想要的状态。

说实话 - 不确定是否要按原计划将阵列重新设为 2x3tb 磁盘,或者只是每周对磁盘 2 进行一次备份(这不是关键数据,也不会经常更改) - 但至少这次我感觉更有准备了,我应该再试一次突袭。

相关内容