首页 > 代码库 > Raid入门
Raid入门
1.What is raid?
Raid,一开始是Redundant Arrays of Inexpensive Disks,即冗余的,昂贵的磁盘阵列;后来经过发展,演变成Redundant Arrays of Independent Disks,即廉价的冗余磁盘阵列。通俗点说,就是将多个磁盘设备整合起来当做一个逻辑设备来使用,在数据安全可用性或者读写性能上进行提升。有点类似于设备集群的概念。事实上,RAID已经成为众多存储方案的一个工业化解决方案。
2.What is the level of raid?
将多个设备整合起来,那么有哪些整合的方式呢?描述磁盘整合的方式,就是RAID LEVEL.
常见的RAID LEVEL有如下:
raid 0 :条带技术
raid 1 :镜像技术
raid 5:校验码技术
还可以将raid 0 ,raid 1进行整合使用。
raid 10
raid 01
关于raid 0:
说明:
第一,显而易见的,利用多块磁盘来进行读写,会提升读写性能。 第二,缺点在于,没有冗余空间,一旦某一块设备出现问题,那么其他设备数据将不可用,无法容错。 |
关于raid 1:
说明:
第一,可以发现由于需要写多份数据,那么写性能不会提升,但是读性能会提升。 第二,空间利用率为50% 第三,存在冗余空间,可以容错。 |
关于raid 5:
说明:
第一,注意对于raid5而言,会有一块盘作为校验盘使用,由于这块校验盘的存在,使得具有容错机制。但是,只能容错一块盘发生问题。 第二,读写性能提升。 |
3.How to use raid?
LINUX实现RAID有两种方式:一个是硬件RAID,一个是软件RAID。如果使用硬件RAID,则需要在BIOS中进行相关设置。我们这里只讨论软件RAID的实现。
假设,现在需要用软件的方式模拟RAID 0级别。
第一,准备好分区类型为fd的设备 /dev/sdb8 47 53 56196 fd Linux raid autodetect /dev/sdb9 54 60 56196 fd Linux raid autodetect
第二,创建md设备文件,所谓md:multi disks。其实软件RAID的实现是依赖于内核MD模块的。 [root@localhost ~]# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb8 /dev/sdb9 注意mdadm命令就是用于软件RAID的,-C表示创建MD设备文件,-l表示RAID级别,-n表示由多少个设备。 第三,创建文件系统,然后挂载,即可使用。 [root@localhost ~]# mke2fs -j /dev/md0 |
4.mdadm的补充说明
mdadm: 模式化的命令: 创建模式【创建RAID设备】 -C -l指定级别 -n设备个数 -a自动为其创建设备文件 -x指定空闲盘个数,比如RAID1的话,如果坏掉一块,那么空闲的顶上去 管理模式【可以停止RAID】 --add 等等。默认模式 监控模式【监控RAID是否正常】 -F 增长模式 -G 装配模式【重新识别RAID并组装】-A 查看raid阵列的详细信息: -D 显示详细信息 --detail mdadm -D /dev/md0 比如,我们将/dev/sdb8 , /dev/sdb7 创建了RAID1 /dev/md1,但是/dev/sdb7坏掉了,现在raid还能继续使用,为了防止RAID在坏掉一块,添加一块: mdadm /dev/md1 -a /dev/sdb9 【需要注意的是/dev/sdb9 fd size大小保持一致】 cat /proc/mdstat可以发现同步信息。 |
本文出自 “我想超越自我” 博客,请务必保留此出处http://zhangfengzhe.blog.51cto.com/8855103/1435020