CentOS 6.3下配置软RAID(Software RAID)
一、RAID 简介
RAID 是英文Redundant Array of Independent Disks 的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Array)。
简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份的技术。
组成磁盘阵列的不同方式称为RAID级别(RAID Levels),常见的RAID Level 包括raid0,raid1,raid5,raid10。各level 对比如下:
说明:n 代表硬盘总数
关于RAID的详细介绍,请参考:http://zh.wikipedia.org/wiki/RAID
二、系统环境
实验环境:Oracle VM VirtualBox
系统平台:CentOS release 6.3 (Final)
mdadm 版本:mdadm - v3.2.6 - 25th October 2012
三、设置磁盘
在Oracle VM VirtualBox 里模拟物理增加磁盘,在这篇文章中,我们将创建RAID0,RAID1,RAID5分区,RAID0 需要两块硬盘,RAID1 需要两块硬盘,RAID5需要四块硬盘,所以在这里添加了八块物理硬盘,每块5.00 GB.
在Linux 系统里使用fdisk l 命令查看。
四、安装mdadm
mdadm 是multiple devices admin 的简称,它是Linux下的一款标准的软件RAID 管理工具。
4.1 查看是否安装了mdadm软件
# rpm -qa|grep mdadm
4.2 如果未安装,则使用yum 方式安装。
准备工作完毕,下面可以着手创建raid 了。
五、创建RAID0
5.1 新建分区
创建RAID0 需要两块硬盘,所以我们拿/dev/sdb 和/dev/sdc 来实验。
# fdisk /dev/sdb //对sdb 进行分区
输入"m",获取帮助,输入"p",查看分区前磁盘状态,其他Command action 具体含义请自行Google,Baidu。
输入"n" 新建分区,这里我们将整个磁盘都划分成一个分区,然后输入"p" 查看分区情况。
5.2 修改分区类型
默认新建分区的类型是Linux,代号83,我们需要将其修改为raid 类型。输入"t" ,然后输入"L" 列出所有的文件格式,这里我们选择"fd Linux raid auto",输入"fd",然后再输入"p" 查看分区情况,这是分区格式已经变成了Linux raid autodetect.
5.3 保存分区
输入"w" 保存分区。
使用同样方法对/dev/sdc 进行分区操作。
5.4 同步分区情况
使用partprobe 命令同步分区情况。
5.5 查看现在的状态
# fdisk -l /dev/sdb /dev/sdc
5.6 开始创建RAID0
# mdadm -C /dev/md0 -ayes -l0 -n2 /dev/sd[b,c]1
说明:
-C --create 创建阵列;
-a --auto 同意创建设备,如不加此参数时必须先使用mknod 命令来创建一个RAID设备,不过推荐使用-a yes参数一次性创建;
-l --level 阵列模式,支持的阵列模式有 linear,raid0,raid4,raid6,raid10,multipath,faulty,container;
-n --raid-devices 阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目;
/dev/md0 阵列的设备名称;
/dev/sd{b,c}1 参与创建阵列的磁盘名称;
5.7 查看raid0 状态
# cat /proc/mdstat
# mdadm -D /dev/md0
说明:Raid Level : 阵列级别;
Array Size : 阵列容量大小;
Raid Devices : RAID成员的个数;
Total Devices : RAID中下属成员的总计个数,因为还有冗余硬盘或分区,也就是spare,为了RAID的正常运珩,随时可以推上去加入RAID的;
State : clean,degraded,recovering 状态,包括三个状态,clean 表示正常,degraded 表示有问题,recovering 表示正在恢复或构建;
Active Devices : 被激活的RAID成员个数;
Working Devices : 正常的工作的RAID成员个数;
Failed Devices : 出问题的RAID成员;
Spare Devices : 备用RAID成员个数,当一个RAID的成员出问题时,用其它硬盘或分区来顶替时,RAID要进行构建,在没构建完成时,这个成员也会被认为是spare设备;
UUID : RAID的UUID值,在系统中是唯一的;
5.8 创建RAID 配置文件/etc/mdadm.conf
RAID 的配置文件为/etc/mdadm.conf,默认是不存在的,需要手工创建。
该配置文件的主要作用是系统启动的时候能够自动加载软RAID,同时也方便日后管理。但不是必须的,推荐对该文件进行配置。
我们这里需要创建这个文件,测试中发现,如果没有这个文件,则reboot 后,已经创建好的md0 会自动变成md127。
/etc/mdadm.conf 文件内容包括:
由DEVICE 选项指定用于软RAID的所有设备,和ARRAY 选项所指定阵列的设备名、RAID级别、阵列中活动设备的数目以及设备的UUID号。
5.8.1 创建/etc/mdadm.conf
# echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf
# mdadm Ds >> /etc/mdadm.conf
5.8.2 修改配置文件
当前生成的/etc/mdadm.conf 文件内容并不符合所规定的格式,所以也是不生效的,这时需要手工修改该文件内容为如下格式:
# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1
ARRAY /dev/md0 level=raid0 num-devices=2 UUID=5160ea40:cb2b44f1:c650d2ef:0db09fd0
5.9 格式化磁盘阵列
# mkfs.ext4 /dev/md0