我有一个 RAID1 阵列,每次系统启动很长时间时,我都必须手动重建它。从来没有时间弄清楚为什么。这是我每次启动时用来重建它的命令:
sudo mdadm --build /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sde1
这很好用,不会丢失任何数据。然后我可以在需要的地方手动挂载 /dev/md0 (在这种情况下是 /mnt/plex)。但是,我刚刚在我的服务器中安装了第三个硬盘驱动器,我想升级到 RAID5。我使用 cfdisk 在我的驱动器上创建一个分区。
然后我将阵列升级到 RAID5:
sudo mdadm --grow /dev/md0 -l 5
然后,我将新驱动器添加到阵列中
sudo mdadm /dev/md0 --add /dev/sda1
最后,我尝试将阵列增加到 3 个驱动器
sudo mdadm /dev/md0 --grow -n 3
,此时出现以下错误:
mdadm: ARRAY line /dev/md0 has no identity information.
mdadm: /dev/md0: cannot get superblock from /dev/sda1
第一个错误出现了很多,这是导致问题的第二个错误。为什么我不能将 /dev/sda1 添加到数组中?当我这样做时,为什么系统启动时阵列不自动构建?
如果有帮助,这是我的驱动器/分区:
sda 8:0 0 3.7T 0 disk
+-sda1 8:1 0 3.7T 0 part
+-md0 9:0 0 3.7T 0 raid5 /mnt/plex
sdb 8:16 0 3.7T 0 disk
+-sdb1 8:17 0 3.7T 0 part
+-md0 9:0 0 3.7T 0 raid5 /mnt/plex
sdc 8:32 0 931.5G 0 disk
+-md1 9:1 0 931.4G 0 raid1 /mnt/nas
sdd 8:48 0 931.5G 0 disk
+-md1 9:1 0 931.4G 0 raid1 /mnt/nas
sde 8:64 0 3.7T 0 disk
+-sde1 8:65 0 3.7T 0 part
+-md0 9:0 0 3.7T 0 raid5 /mnt/plex
sdf 8:80 0 149.1G 0 disk
+-sdf1 8:81 0 512M 0 part /boot/efi
+-sdf2 8:82 0 148.6G 0 part /
SDB 和 SDF 是正常运行的 RAID 成员。如果有帮助,这里是来自 mdadm 的数组的详细信息
gradyn@hbi-server:~$ sudo mdadm --detail /dev/md0
mdadm: ARRAY line /dev/md0 has no identity information.
/dev/md0:
Version :
Creation Time : Thu Oct 14 22:19:50 2021
Raid Level : raid5
Array Size : 3906886464 (3725.90 GiB 4000.65 GB)
Used Dev Size : 3906886464 (3725.90 GiB 4000.65 GB)
Raid Devices : 2
Total Devices : 3
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
Consistency Policy : resync
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 65 1 active sync /dev/sde1
2 8 1 - spare /dev/sda1