如何为软件RAID1添加热备?

Edw*_*118 4 software-raid raid1 centos7

我有一台 CentOS 7 服务器。它正在运行镜像三个磁盘的软件 RAID 1。我想添加第四个磁盘作为热备份。我的意图是,如果被镜像的三个磁盘之一出现故障,热备用将自动从剩余的工作磁盘之一填充,并从故障驱动器中取而代之。

对于热备盘,除了格式化新盘还需要做些什么呢?我认为它上面没有数据,直到需要它并开始同步以更换坏驱动器?

sho*_*hok 11

如果你真的想用 4 块硬盘做 RAID1 阵列,我建议你使用 4 路 RAID1 阵列。通过这种方式,如果磁盘出现故障,您将继续拥有三重保护(3 路阵列)而无需任何重建。

如果你真的想要一个3路镜像+热备盘,你可以使用mdadm --manage --add-spare为RAID1阵列添加一个备盘。例如,让我们从这个 3 路阵列开始(注意:我使用的是环回设备,而您想使用真正的磁盘):

[root@localhost test]# cat /proc/mdstat 
Personalities : [raid1] 
md127 : active raid1 loop2[2] loop1[1] loop0[0]
      7168 blocks super 1.2 [3/3] [UUU]
Run Code Online (Sandbox Code Playgroud)

添加备件非常简单:

[root@localhost test]# mdadm --manage /dev/md127 --add-spare /dev/loop3
mdadm: added /dev/loop3
Run Code Online (Sandbox Code Playgroud)

/proc/mdstat现在让我们检查一下:

[root@localhost test]# cat /proc/mdstat 
Personalities : [raid1] 
md127 : active raid1 loop3[3](S) loop2[2] loop1[1] loop0[0]
      7168 blocks super 1.2 [3/3] [UUU]
Run Code Online (Sandbox Code Playgroud)

同样,请确保使用正确的设备名称(而不是盲目复制/粘贴上述命令)。并首先进行确认工作的备份。

但是,我认为 4 路或 3 路+热备件 RAID1 阵列过大。虽然对于极其重要的数据,3 路 RAID1 镜像是合理的,但您应该真正为整个服务器宕机的故障场景做好准备。换句话说,不要仅仅因为您有镜像磁盘就跳过常规备份