我在摆脱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 进行一次备份(这不是关键数据,也不会经常更改) - 但至少这次我感觉更有准备了,我应该再试一次突袭。