首页 > 代码库 > RAID
RAID
硬盘镜像技术
旧式RAID:使用IDE
新式RAID:使用SATA、SCSI
RAID种类
RAID0:条带
性能表现:读、写 提升至N倍
冗余能力:无
空间利用率:N
磁盘数量:至少2块
RAID1:镜像
性能表现:写性能下降(需同步),读性能提升(可以交替读)
冗余能力:有
空间利用率:1/2
磁盘数量:至少2块
RAID 0+1:先用条带技术,再对各自数据进行镜像
性能表现:读、写提升
冗余能力:有(硬盘坏时修复:牵一发而动全。)
空间利用率:1/2
磁盘数量:至少4块
RAID 1+0 :先对各自数据进行镜像,再用条带技术。
性能表现:读、写提升
冗余能力:有,(硬盘坏时修复:较RAID1+0更容易,更快)
空间利用率:1/2
磁盘数量:至少4块
RAID4:采用校验码技术,单独1磁盘存放校验码。
性能表现:小于n-1倍,因为检验码盘速度慢,会成为速率瓶颈。
冗余能力:有,不能坏2块
空间利用率:(n-1)/n
磁盘数量:至少3块
RAID5:采用校验码技术,所有盘轮流存放校验码。
性能表现:略小于n-1倍,轮流存放校验码技术,减少瓶颈。
冗余能力:有,不能坏2块
空间利用率:(n-1)/n
磁盘数量:至少3块
RAID 5+0:先RAID5,然后再镜像
性能表现:读、写提升
冗余能力:有
空间利用率:(n-2)/n
磁盘数量:至少6块
JBOD技术:将多个盘组合成1个盘使用,利用HDFS文件系统,可实现在文件系统级别找回丢失文件。
性能表现:无提升
冗余能力:无
空间利用率:100%
磁盘数量:至少2块
使用案例:Hadoop
RAID实现方式
硬件RAID
1.方式 1:
RAID磁盘阵列卡
存储箱:N块硬盘
连接线:连接存储箱于RAID控制器
2.方式2:
RAID控制器:可控制硬盘上的插槽
硬盘插槽:
连接线:连接硬盘与插槽。
RAID实现步骤:
1)通过BIOS界面配置RAID:配置启用RAID控制器,配置相关盘配置成RAID
2)安装操作系统,如果系统不识别RAID,需在安装系统前安装RAID磁盘驱动;
在OS看来,RAID设备文件名为/dev/sda、/dev/sdb这样的格式。
软件RAID
OS中,直接操作硬件的只有内核
RAID前提:内核安装md(多磁盘)模块,通过md模板,将多个物理设备组合成RAID
实现原理:
1.内核模拟一个RAID,设备文件:/dev/md0、/dev/md1。。。
2.CPU将存储数据给/dev/md,md管理模板根据RAID方式存储具体的磁盘设备/dev/sda、/dev/sdb等
性能:取决于CPU能力,较差。
OS一挂,RAID数据无法找回,解决方法:将raid分区系统表示设备为fd(253),这样在存储数据到RAID时,会多写入元数据,
若OS一挂,充值系统时,只要内核安装了md模块,会自动扫面RAID的组成磁盘,这样数据就能重新使用。
mdadm:md管理器,用户空间工具,将任何块设备做成RAID
mdadm [mode] <raiddevice> [option] <component-devices>
创建模式 、
-C
选项:
-l:级别
-n Num 设备个数
-x Num 指定空闲个数
-a {yes|no} 是否自动为其创建设备文件
-c:指定数据块大小
管理模式:
-f
-r
监控模式:
-F
增长模式:扩展RAID
装配模式:系统坏了,重装RAID到其他系统
RAID