磁盘可分为SCSI和IDE的,SCSI与IDE比较,安全性更高,写入速率也更高,但价格相对过高,对一些小型公司和企业,并不适用,我们是否可以有一种机制,可以让IDE来实现SCSI的高性能呢,这就出现了RAID
RAID磁盘阵列(Redundant Arrays of Inexpensive Disks,RAID),有“价格便宜且多余的磁盘阵列”之意。磁盘阵列是由很多便宜、容量较小、稳定性较高、速度较慢磁盘,组合成一个大型的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。
通过磁盘的不同组合我们将raid分为不同的级别
0 ,1, 2, 3, 4, 5, 6, 7, 10, 50
这里介绍下常用的几个级别0,1,5,6,10,50
0:级别:数据分部分存入各个磁盘中,性能提高,没有容错的能力,任何一个磁盘坏掉,数据就毁坏了,至少2块磁盘
1:数据分别完整存入各个磁盘中,写入性能低,读取性高,有冗余,只要有一个磁盘能用,数据就是完整的
4:至少需要3块磁盘,前两块各存入数据的一部分,第三块放校验码(前两块数据的异或),允许坏掉一块磁盘,当一块坏掉的时候,根据校验码,通过为坏掉的磁盘中的数据计算出坏掉磁盘中的数据
5:至少需要3块磁盘,3块磁盘数据校验码循环存放,盘允许坏一块
6:至少需要4块磁盘,允许坏2块,模式和5一样,存两次校验码
Raid的类别
软raid
通过软件模拟来实现raid
硬raid
硬阵列是由独立操作的硬件提供整个磁盘阵列的控制和计算功能. 不依靠系统的CPU资源.
今天我们主要介绍一下软raid
软raid的组成可以是任意块设备,可以是单个磁盘分区或多个磁盘的分区,同样也可以有多个raid组成
软raid通过mdadm的命令来实现
mdadm [mode] <raiddevice> [options] <component-devices>
下面我们介绍下mdadm的常用选项
mode:
-C 创建
-F 监视
-M
-A 装配,可以启动停下的设备
-S 停止设备
-G 增长模式
-D 查看raid设备
options(在创建的时候使用):
-n 有几块盘来创建
-x 空闲盘
-c 指定chunk块大小,默认单位为k,默认大小 64
-l 指定级别
-p 布局 layout
现在让我们世纪操作一下,创建一个raid5吧,我们再虚拟机上通过新建4个分区来实现,其中一个分区我们用作空闲块,当设备坏的时候可以自动替换的哦。
首先创建我们的4个分区
分别是/dev/sda{5,6,7,8},我们都给他们200m的空间,下面来创建我们的raid
#mdadm -D /dev/md0 查看下设备
-n指定由3个分区来创建,-x一个分区作为空闲块,-l 指定级别为5,-c指定chunk块大小,chunk块也就是一次向raid上写入数据的大小。下面只需格式化挂载就行啦。
这里要特别说明一下-E的指定,chunk等于多少磁盘块,如果不指定,在写入数据的时候,每次都要进行这样的计算,浪费系统资源。最好还是写上,下面挂载就ok啦。
#mount /dev/md0 /mnt\
挂载到/mnt目录下,基本上raid就建成了,我们可以通过下面的命令对raid进行检测#mdadm -f /dev/md0 /dev/sda5
#mdadm -D /dev/md0
通过-f 我们可以模拟构成md0的sda5坏掉了,这时候查看下,这时候显示sda5是faulty,而sda8则自动的补充了上去。
现在如果sda5真的坏了,坏了我们就换一个,怎么办呢
#mdadm -r /dev/md0 /dev/sda5
这样就把sda5拿掉了,假设我们现在有一个新的分区sda9,如何添加呢
#mdadm -a /dev/md0 /dev/sda9
这样就可以了。
raid的停止
如果设备被挂载了,是不能停止的哦,所以要先卸载