一、Raid:Redundent Array of Inexpensive Disks廉价冗余磁盘阵列(早期,使用IDE廉价磁盘)。
Raid:Redundent Array of Independent Disks独立冗余磁盘阵列(后来,使用SCSI等高性能磁盘)。
1、Raid Level:仅用于标识磁盘的组合方式,目的是提高读写性能和容错能力。
raid0:至少需要两块磁盘,将“数据平均分散保存到磁盘阵列上(各保存50%的数据)”。
可见能提高读写能力,但容错能力降低(其中一块盘坏掉,数据就废掉)。
一般用于swap或者tmp。注意两块盘空间大小最好一样。
raid1:镜像raid,至少需要两块磁盘,第一块磁盘上保存原数据,第二块磁盘保存镜像数据。
可见写能力降低,但读能力提升(在读取数据时,在两块磁盘上读取)。
只有硬件容错能力,即raid1只能保证一块磁盘坏掉,正常的业务不受影响。
无数据容错能力(如果删除第一块磁盘上的数据,第二块磁盘上的数据也会被删除)。
raid5:至少需要三块盘,每块磁盘轮流保存校验码和数据。(第一块数据保存到一块磁盘,
第二块数据保存到第二块磁盘,则第三块磁盘保存1、2块数据的校验码,以此类推)
允许一块磁盘出错可见容错能力提升,读写能力提升。
raid10:先raid1,再raid0
raid50:先raid5,再raid0
jbod:如一个数据150G(如果不考虑切割,切割太麻烦),我有两个120G的盘,
将两块120G的盘连接起来用这就是jbod.
2、Raid实现方式:
硬Raid:由硬件厂商,通过“阵列卡”来实现。
软Raid:由操作系统内核来实现,对企业一般不推荐。
因要占用CPU时间,可见在提高性能上是有限的。
(如果有企业在使用软Raid,可见这个企业不怎么样(钱),哈哈趁早闪人吧...)
3、软Raid的实现工具mdadm:mdadm可以组合任何块设备。
mdadm:模块化工具,
-A(Assemble):装配模式
-C(Create):创建模式
-F(Fllow or Monitor):监控模式
管理模式:-f 损坏 ,-r 移除,-a 插上
-D(detail):显示raid的详细信息。
-S(stop):停用阵列
-C:创建模式:
-n #:用于创建RAID设备的设备个数。
如:用2个6G的分区,创建一个大小为12G的RAID0,则-n 2
如:用2个12G的分区,创建一个大小为12G的RAID1,则-n 2
-x #:热备磁盘的个数。
-l :raid级别(raid0=0,raid5=5)
-a yes:自动为创建的raid设备创建设备文件。
-c Chunk_Size:指定分块大小,默认为512,单位为KB
A、如创建raid /dev/md0
命令为#mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}
指定热备的raid md1:mdadm -C /dev/md1 -a yes -l 0 -n 2 -x /dev/sdb{1,2,3}
B、如查看/dev/md0 命令为#mdadm -D /dev/md0
C、创建完raid如果进行格式化呢? #mke2fs -t ext4 /dev/md0
如何将md0挂载后使用呢?
#mkdir /mnt/md0
#mount /dev/md0 /mnt/md0
D、如何停用阵列呢?
#umount /dev/md0
#mdadm -S /dev/md0
E、如何将停用的阵列再次装配呢?
#mdadm -A /dev/md0 /dev/sdb{1,2}
4、watch -n #:每隔#执行一次指定的命令。#单位秒。