一,RAID概念
1,磁盘阵列(Redundant Arrays of Independent Disk,DAID),由很多价格便宜的磁盘,以硬件(RAID卡)或软件(MDADM)形式组合成一个容量巨大的磁盘组,利用多个磁盘组合在一起,提升整个磁盘系统效能。
***注:RAID可以预防数据丢失,但并不能完全保证数据不会丢失,所有在使用RAID的同时还应注意备份重要的数据。
2,RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬RAID(使用硬件阵列卡),供应商一般可以把硬件问题解决掉。
3,
4,RAID的三个关键技术:
a,镜像:提供了数据的安全性
b,条带(块大小也可以说是条带的粒度),它的存在就是提供了数据的并发行
c,数据的校验:提供了数据的安全
5,RAID相对于单个磁盘优点
二,四种RAID的工作原理
RAID-0的工作原理
1)条带(strping),也是最早出现的RAID模式
2)特点:成本低,可以提高整个磁盘性能;任何一个磁盘的损坏将损坏全部数据;磁盘利用率为100%(没有提供冗余或错误修复能力,速度快)
RAID-1
1)镜像卷(mirroring),需要磁盘两块以上
原理:把一个磁盘的数据镜像到另一个磁盘之上,也就是说在数据写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件
RAID-5
1)需要三块或以上磁盘,可以提供热备盘实现故障的恢复;只损坏一块,没问题,但若同时损坏两块磁盘,则数据将会损坏
2)奇偶校验信息的作用:当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被破坏的数据
3)异或运算:相对简单的,相同为0,相异为1
RAID-10
1)嵌套,镜像+条带,第一级是RAID1镜像对,第二级为RAID0
2)失效处理:一般为热备和热插拔
a,热备hotspare
定义:当冗余的RAID组中某个硬盘失效时,在不干扰当前RAID系统的正常使用情况下,用RAID系统中另外一个正常的备用硬盘自动顶替失效硬盘,及时保证RAID系统的冗余性
全局式:备用硬盘为系统中所有冗余RAID组共享
专用式:备用硬盘为系统中某一冗余RAID组共用
b,热插拔hotswap
定义:在不影响系统正常运转的情况下,用正常的物理硬盘替换RAID系统中失效硬盘
三,RAID-0-1-5-10搭建及使用/删除RAID及注意事项
1,面试题:我们做硬件RAID,是在装系统前还是之后?
答:先做阵列才装系统 ,一般服务器启动时,有显示进入配置Riad的提示。
硬RAID:需要RAID卡,我们的磁盘是接在RAID卡的,由它统一管理和控制。数据也由它来进行分配和维护;它有自己的cpu,处理速度快
2,Linux内核中有一个md(multiple devices)模块在底层管理RAID设备,它会在应用层给我们提供一个应用程序工具mdadm,mdadm是Linux下用于创建和管理的命令。
3,实战
注:工作中正常做RAID全部是使用独立的磁盘来做的。为了节约资源,raid10以一块磁盘上多个分区来代替多个独立的磁盘做raid,但这样做出来的raid没有备份数据的作用,因为一块磁盘坏了,这个磁盘上所做的raid也就都坏了。
3&1 RAID0
Key process:创建,生成配置文件,格式化,挂载
Expend process:开机自动挂载,解除挂载,重新挂载
a,# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc a,创建raid0(md0为创建文件名称,需以md命名)
b,# mdadm -Ds b,查看阵列信息
c,# mdadm -D /dev/md0 c,(Chunk Size:512k,Chunk是raid中最小的存储单位)
d,# mdadm -Dsv > /etc/mdadm.conf d,生成配置文件
e,# mkfs.xfs /dev/md0 e,格式化(对创建的RAID进行文件系统创建并挂载)
f,# mkdir /raid0
g,# mount /dev/md0 /raid0
h,# df -h(df -Th /raid0)
i,# echo 12434345 > /raid0/a.txt
j,# blkid /dev/md0 j,开机自动挂载
o,# echo "UUID=****** /raid0 xfs defaults 0 0" >> /etc/fstab
p,# vim /etc/fstab
q,# umount /raid0 q,解除挂载
r,# df -h
s,# mount -a s,重新挂载
t,# df -h
3&2 RAID1
Key process:创建,将RAID信息保存到配置文件,更新配置文件,添加新热备盘
Extend process:查看陈列信息,准备测试文件,模拟损坏
a,# mdadm -C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sd[d,e,f] a,创建
b,# mdadm -Dsv > /etc/mdadm.conf b,将RAID信息保存到配置文件
c,# mdadm -D /dev/md1 c,查看RAID阵列信息
d,# mkfs.xfs /dev/md1 d,在RAID设备上创建文件系统
e,# mkdir /raid1
f,# mount /dev/md1 /raid1
g,# cp /etc/passwd /raid1 g,准备测试文件
h,# mdadm /dev/md1 -f /dev/sde h,模拟损坏
i,# mdadm -D /dev/md1 i,查看阵列状态信息
j,# mdadm -Dsv > /etc/mdadm.conf j,更新配置文件
k,# ls /raid1 k,查看数据是否丢失
l,# mdadm -r /dev/md1 /dev/sde l,移除损坏设备
m,# mdadm -D /dev/md1 m,查看信息
n,# mdadm -a /dev/md1 /dev/sde n,添加一块新热备盘
o,# mdadm -D /dev/md1 o,查看阵列状态信息
3&3 RAID5
Key process:创建,停止,激活,扩展
Extend process:
a,# mdadm -C -v /dev/md5 -l 5 -n 3 -x 1 -c 32 /dev/sd[g,h,i,j] a,创建
b,# mdadm -D /dev/md5 b,查看
c,# mdadm -Dsc > /etc/mdadm.conf c,保存配置文件
d,# mdadm -D /dev/md5 d,确认数据同步
e,# mdadm -S /dev/md5 e,停止
f,# mdadm -As f,激活
g,# mdadm -G /dev/md5 -n 4 -c 32 g,扩展磁盘阵列,将热备盘增加到md5中,使用 md5中可以使用的磁盘数量为4块
h,# mdadm -D /dev/md5
i,# mdadm -Dsv > /etc/mdadm.conf
j,# mdadm -D /dev/md5
备注:1)停止前,一定要先保存配置文件
2)阵列只有在正常状态下才能扩容,降级及重构时不允许扩容。对于raid5来说,只能增加成员盘,不能减少;而对于raid1来说,可以增加成员盘,也可以减少。
3)要等所有数据同步后,新增加的磁盘空间才会在md5空间中有数据变化
备注:1)--zero-superblock:erase the MD superblock from a device 擦除设备中的MD超级块
2)如更换的RAID卡与原卡规格型号相同,则不会有什么问题;若两卡规格型号不同,需重新安装新卡驱动程序。若驱动程序差别不大,RAID盘组合顺序正常,硬盘原数据可正确读写;若驱动程序结构差别大,则可能发生读写错误。