我有一个正在运行的 raid 5 阵列,上面安装了整个 debian(我在 debian 安装期间设置了它)。我已经使用它几天了,一切都很好,但由于我在 debian 安装期间创建了它,raid 阵列本身有 2 个分区,一个用于 GPT,另一个用于操作系统和所有内容的大 ext4。
经过大量阅读后,似乎将操作系统放在 mdadm 管理的 raid 阵列上是一个坏主意。因为如果出现驱动器故障,您将没有操作系统来修复它。所以我拔掉了所有驱动器,从壁橱里拿出一个旧驱动器,并在其上安装了 debian,作为机器中的唯一磁盘。
安装后,我将我的 raid 驱动器重新插入。运行mdadm --assemble --scan
并设置我的/etc/mdadm/mdadm.conf
,以便它在启动时组装。一切都很好,我可以mount -t ext4 /dev/md0p2 /mnt
看到我的所有数据。快乐的时光。
所以我将其添加/etc/fstab
并重新启动。
但重启后,/dev/md0p2
(和 md0p1)不再存在。只有/dev/md0
那里。不知道 2 个分区去哪里了!
完全奇怪的是我可以毫无顾虑地重新组装阵列,它一点也不抱怨。但原来的 2 个分区已经消失了。我什至不知道/dev/md0p1
是用来做什么的。当我第一次设置它时,它让我担心,fdisk 告诉我它的类型是GPT
。
一些有帮助的命令输出:
$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdf1[0] sdb1[4] sdc1[5] sdd1[6] sde1[7] sdi1[3] sdh1[2] sdg1[1]
5860147200 blocks super 1.2 level 5, 512k chunk, algorithm 2 [8/8] [UUUUUUUU]
bitmap: 0/15 pages [0KB], 65536KB chunk
unused devices: <none>
$ sudo mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri May 23 14:05:16 2014
Raid Level : raid5
Array Size : 5860147200 (5588.67 GiB 6000.79 GB)
Used Dev Size : 1953382400 (1862.89 GiB 2000.26 GB)
Raid Devices : 8
Total Devices : 8
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sun May 25 18:15:26 2014
State : active
Active Devices : 8
Working Devices : 8
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : doc:0 (local to host doc)
UUID : 11d6a8a7:d05a8c58:41fab15a:0b177f69
Events : 25704
Number Major Minor RaidDevice State
0 8 81 0 active sync /dev/sdf1
1 8 97 1 active sync /dev/sdg1
2 8 113 2 active sync /dev/sdh1
3 8 129 3 active sync /dev/sdi1
7 8 65 4 active sync /dev/sde1
6 8 49 5 active sync /dev/sdd1
5 8 33 6 active sync /dev/sdc1
4 8 17 7 active sync /dev/sdb1
更新:我刚刚意识到阵列中这些磁盘的顺序与以前不同了。它应该开始于/dev/sdb1
。我已经完成了mdadm --create --level=5 --num-devices=8 /dev/md0 /dev/sd[b-i]1
重新创建数组的工作。这无意中将 /dev/sdi1 置于恢复状态。恶心。
现在回想起来,我不完全确定顺序应该是什么。它要么是字母顺序的,要么是奇数的 e、d、c、b、f、g、h、i。前 4 个按反向字母顺序排列,接下来的 4 个按正常字母顺序排列。当我重新插入SATA电缆时,我可能已经移动了它们,不确定。