共计 3104 个字符,预计需要花费 8 分钟才能阅读完成。
(一)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 磁盘服务
: