我使用以下命令构建了新的 raid 5 阵列后,让我的服务器整晚运行“恢复”:
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sd[bcd]1
我的服务器花了一整夜重建,得到了预期的结果:
amir@SuperMassive:~$ sudo mdadm --detail --scan
[sudo] password for amir:
ARRAY /dev/md0 metadata=1.2 name=SuperMassive:0 UUID=2f693f45:accebaf0:70060db8:c5cb42e0
我尝试将其添加到我的 mdadm.conf 文件中,但一直收到权限被拒绝错误。
amir@SuperMassive:~$ sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf
-bash: /etc/mdadm/mdadm.conf: Permission denied
由于某种我无法解释的原因,我认为重新启动是个好主意。我没有想到我还没有将我的阵列添加到 mdadm.conf 文件中。现在当我查看箭头时,名称已从 /dev/MD 更改为 /dev/md/SuperMassive:0
amir@SuperMassive:~$ sudo mdadm --detail --scan
[sudo] password for amir:
ARRAY /dev/md/SuperMassive:0 metadata=1.2 name=SuperMassive:0 UUID=2f693f45:accebaf0:70060db8:c5cb42e0
有人能告诉我如何修复这个问题吗?我真的不想再经历一次恢复 :( 我编辑了 mdadm.conf 文件以包含第一个 mdadm 详细扫描中的正确行,但重启后我仍然得到最后一个 mdadm 详细扫描的输出,名称为 /dev/md/SuperMassive:0。
需要注意的另一件事是,/dev 中没有 md0 和 md0p1,而是有 md127 和 md127p1。:(
答案1
这很奇怪,我看到所有 mdadm 都带有 sudo。也许首先你需要停止阵列...上次我必须修复 raid 时,我使用了 live cd...让我们试试这个:
首先是根(sudo -i
),然后停止你的阵列
首先执行 cat /proc/mdstat 并将其保存到文件中以查看差异,好吗?
mdadm --stop /dev/md0
然后重新创建数组(抱歉)
mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
保存会议。
mdadm --detail --scan >> /etc/mdadm.conf
看看你的会议。 cat /proc/mdstat
看看我的一个例子;
cat /proc/mdstat
Personalities : [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
md4 : active raid5 sdd4[0] sdg4[4] sdf4[2] sde4[1]
5762701824 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
md3 : active raid1 sdh1[0] sdi1[1]
1953512400 blocks super 1.2 [2/2] [UU]
md2 : active raid5 sdj1[0] sdc1[4] sdb1[2] sda1[1]
5860535808 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
md0 : active raid1 sdd2[0] sde2[3] sdf2[2] sdg2[1]
409152 blocks [4/4] [UUUU]
md1 : active raid5 sdd3[0] sde3[3] sdf3[2] sdg3[1]
93449856 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
无论如何,如果这不起作用,请向我们显示更多信息。(mdadm --detail /dev/md0,mdadm --examine /dev/sd[abcde...])祝你好运!
答案2
另外,我可能会补充一点,这tee
对你的情况有帮助。所以输入
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
将导致没有权限被拒绝的错误。该tee
命令与附加选项 ( -a
) 一起获取输出mdadm
并将其附加到文件。
在您描述的情况下,输出重定向(>>
)以用户 amir 的身份发生,并且您无权写入该文件。