Linux创建软件RAID 1(镜像)阵列
如何在不使用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阵列的一部分,并将提供有关该设备的简要信息。