Linux创建软件RAID 1(镜像)阵列

时间:2020-01-09 10:41:25  来源:igfitidea点击:

如何在不使用GUI工具或安装程序选项的情况下在Linux系统上创建Software RAID 1阵列?
如何在Linux系统下设置RAID 1阵列?
您需要安装mdadm,该文件用于创建,管理和监视Linux软件MD(RAID)设备。

RAID设备是由两个或多个实际块设备创建的虚拟设备。
这允许将多个设备(通常是磁盘驱动器或分区)组合为一个设备,以容纳(例如)单个文件系统。
一些RAID级别包括冗余,并且可以在某种程度的设备故障中幸免。

Linux对软件RAID的支持

当前,Linux支持以下RAID级别:

  • 线性LINEAR
  • RAID0(条带化)
  • RAID1(镜像)
  • RAID4
  • RAID5
  • RAID6
  • RAID10
  • 多路径(MULTIPATH)和故障(FAULTY)。

MULTIPATH不是软件RAID机制,而是涉及多个设备:每个设备都是通向一个公用物理存储设备的路径。

FAULTY也不是真正的RAID,它仅涉及一个设备。
它在真实设备上提供了一层,可用于注入故障。

安装mdadm

在RHEL/CentOS/Fedora Linux下执行以下命令:

# yum install mdadm

在Debian/Ubuntu Linux下执行以下命令:

# apt-get update && apt-get install mdadm

如何使用mdadm创建RAID1?

执行以下命令以使用/dev/sdc1和/dev/sdd1(每个20GB)创建RAID1。
首先在/dev/sdc和/dev/sdd上以软件Raid类型运行fdisk,即执行0xfd

# fdisk /dev/sdc
# fdisk /dev/sdd

请参见fdisk(8)手册页以设置分区类型。
不格式化分区。
只需创建相同。
现在,如下创建RAID-1。

如果设备包含有效的md超级块,则该块将被零覆盖:

# mdadm --zero-superblock /dev/sdc /dev/sdd

使用/dev/sdc1和/dev/sdd1创建RAID1

# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1

将/dev/md0格式化为ext3:

# mkfs.ext3 /dev/md0

挂载/dev/md0

# mkdir /raid1
# mount /dev/md0 /raid1
# df -H

编辑/etc/fstab

确保RAID1自动挂载。
编辑/etc/fstab并添加以下行:

/dev/md0 /raid1 ext3 noatime,rw 0 0

保存并关闭文件。

如何查看RAID阵列的构建进度和当前状态?

执行以下命令:

# watch -n 2 cat /proc/mdstat

或者

# tail -f /proc/mdstat

更新/etc/mdadm.conf文件

更新或编辑/etc/mdadm/mdadm.conf或/etc/mdadm.conf(特定于发行版的位置)文件,如下所示:

ARRAY /dev/md0 devices=/dev/sdc1,/dev/sdd1 level=1 num-devices=2 auto=yes

该配置文件列出了可以扫描哪些设备以查看它们是否包含MD超级块,并提供有关已知MD阵列的标识信息(例如UUID)。
请注意,上述Linux内核v2.6.xx可以同时使用/dev/mdX或/dev/md/XX名称。
您也可以将/dev/md/XX的分区创建为/dev/md/d1/p2。

如何获取有关现有阵列的信息?

输入以下命令

# mdadm --query /dev/md0

这将确定给定设备是RAID阵列还是RAID阵列的一部分,并将提供有关该设备的简要信息。