Linux下实现最常用的磁盘阵列RAID5
(一) RAID简介:
独立磁盘冗余数组(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余数组(RAID,Redundant Array of Inexpensive Disks),简称硬盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据选择的版本不同,RAID比单个硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于电脑来说, 看起来就像一个单独的硬盘或逻辑存储单元。分为RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50
简单来说,RAID把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与RAID功能更加有效地与主板集成,它也成为了玩家的一个选择,特别是需要大容量存储空间的工作,如:视频与音频制作
最初的RAID分成了不同的等级,每种等级都有其理论上的优缺点,不同的等级在两个目标间取得平衡,分别是增加数据可靠性以及增加存储器(群)读写性能。这些年来,出现了对于RAID观念不同的应用
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案
(二) 各软RAID的区别:
RAID4,奇偶备份,最少3块硬盘,其中一块硬盘作为奇偶校验备份,那么任意一块硬盘损坏都可以其他盘和校验盘通过奇偶校验还原数据
RAID5,将奇偶校验数据库分散到各个硬盘,最少3块硬盘
RAID6,横向和纵向都生成奇偶校验,最少4块硬盘
RAID0,速度最快,不冗余,最少2块硬盘,提高2倍速度(硬盘越多,理论速度提高越多),但任何一块硬盘损坏,则所有数据报废
RAID1,50%冗余;——RAID0+1
(三) Linux实现RAID5各参数详解与注意事项:
需要的磁盘个数:三块以上
我们在这里添加四块硬盘,其中3块做磁盘阵列,1块做预备(spare)磁盘
注意:raid5 的磁盘使用率是N-1 也就是说四个30G的硬盘可用空间是90G
实验步骤:
- 查看一下系统中的磁盘设备fdisk -l
- 接下来创建raid了使用的命令是mdadm,如果没有请先安装mdadm软件包(rpm -qa |grep mdadm)
注意:RHEL 6.5的光盘中有
mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]
参数解释:
--create //表示要创建raid
--auto=yes /dev/md0 //是否自动检测,新建立的软件磁盘陈列设备为md0,md序号可以为0-9
--level=5 //磁盘阵列的等级,这里是raid5
-raid-devices //所需使用的磁盘数量
--spare-devices //添加作为预备(spare)磁盘的块数
/dev/sd[b-e] //磁盘阵列所使用的设备,还可以写成“/dev/sdb /dev/sdc /dev/sdd /dev/sde”同样可以缩写为:mdadm –C –a yes /dev/md0 –l5 –n3 –x1 /dev/sd[b-e]
查看RAID是否成功的创建是否运行的正常,有两种方法 查看详细信息:mdadm --detail /dev/md0命令查看RAID的详细信息
- 较为简单的查看:可以直接查看cat /proc/mdstat的文件看到RAID运行的情况
U代表没有问题、_则表示不正常;磁盘后面的(S)表示作为预备
格式化并且挂载和使用创建的RAID
mkfs.ext4 /dev/md0 //格式化 raid5磁盘为 md0
mkdir /raid
mount /dev/md0 /raid //将md0 挂载到/raid目录下
查看一下挂载情况
df –hT
试一下新加上的RAID是不是可以使用,向里面写入文件
设置开机自动启动RAID以及自动挂载
让RAID开机启动, RIAD配置文件名字为mdadm.conf , 这个文件默认是不存在的,要自己建立.该配置文件存在的主要作用是系统启动的时候能够自动加载软RAID,同时也方便日后管理. 说明下mdadm.conf文件主要由以下部分组成:
DEVICES选项制定组成RAID所有设备,
ARRAY选项指定阵列的设备名、RAID级别、阵列中活动设备的数目以及设备的UUID号
注意:此文件如果不创建下次开机重启后/dev/md0将会被系统自动识别为其他非/dev/md0名称的设备,对于实现开机挂载和使用都不方便
自动启动raid
先建立/etc/mdadm.conf 这个文件
mdadm --detail --scan > /etc/mdadm.conf
要对这个文件做一下改动:将组成RAID5的设备名全部追加到配置文件中
在设置RAID的自动挂载
修改文件 vi /etc/fstab
在里面加上一行 /dev/md0 /raid ext4 defaults 0 0
模拟RAID5中的磁盘损坏,验证spare磁盘的功能(在raid5中允许一块磁盘的损坏,也就是我们设置的spare磁盘会立即的替换坏掉的磁盘进行raid的重建,保障数据的安全性)
mdadm --manage /dev/md0 --fail /dev/sdd //使用此命令设置sdd成为出错的状态(或可简写为mdadm /dev/md0 -f /dev/sdd)
再来查看一下磁盘的信息:mdadm –-detail /dev/md0
简单的查看一下RAID的情况:
创建完成也就是说明raid5 已经自动的恢复了!
查看一下raid5是不是可以正常使用!
向里面写写数据,这时可以发现,RAID5还可正常使用,对数据不造成任何影响
Active sync /dev/sdb1 # raid的真成员
spare /dev/sdc1 #raid备用成员
如果想重新添加/dev/sdd进RAID5,可做以下操作:
mdadm /dev/md0 --remove /dev/sdd //将坏掉的磁盘sdd从raid中
mdadm /dev/md0 -a /dev/sdd //将/dev/sdd加入阵列
mdadm --zero-superblock --force /dev/sdd(可选) //可修复硬盘将模拟损坏的硬盘重新添加
命令参数
-A = --assemble 激活
-S = --stop 停止
-D = --detail 查看raid详细信息
-C = -- create 建立raid设备
-v = --verbose 显示建立过程的详细信息
-l = --level raid的级别
-n = --raid-devices raid设备数
-s = --scan 扫描raid设备
-f = --fail 标示坏的硬盘
-a = --add 添加硬盘
-r = -remove 移除坏的硬盘
关闭RAID的方法:
直接卸载/dev/md0,并且注释掉/etc/fstab文件中的配置
umount /dev/md0 //解除挂接
vi /etc/fstab //将fstab里面的开机自动挂载注释掉
#/dev/md0 /var/www/html ext4 defaults 0 0
mdadm --stop /dev/md0 //停止md0磁盘服务