RAID简介:
RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组,从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式称为RAID级别(RAID Levels)。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性;简单点说就是为了提高IO能力,提高耐用性。
分类:
raid分为硬raid和软raid;
硬件RAID通过RAID卡连接多个硬盘、或者主板中集成了RAID控制器来实现RAID的相关功能。
软RAID则通过软件层面模拟实现RAID的相关功能
RAID级别:
RAID0:
RAID0称为条带化(Striping)存储,将数据分段存储于 各个磁盘中,读写均可以并行处理。提高了磁盘的IO读、写性能;硬盘可用空间:所有硬盘中空间最小的硬盘空间乘以硬盘总数N*min(S1,S2,...)
无容错能力;最少磁盘数:2, 2+
RAID1:
镜像存储(mirroring),没有数据校验。数据被同等地写入两个或多个磁盘中,读性能提升、写性能略有下降;硬盘可用空间,为所有硬盘中空间最小硬盘的空间大小:1*min(S1,S2,...);有冗余能力;最少磁盘数:2, 2+
RAID2:
从概念上讲,RAID 2 同RAID 3类似, 两者都是将数据条块化分布于不同的硬盘上, 条块单位为位或字节。然而RAID 2 使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂。因此,在商业环境中很少使用,这里就不一一赘述了。
RAID3:
它同RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID 3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。
RAID5:
RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和 相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是 说有相当于一块磁盘容量的空间用于存储奇偶校验信息。提高了读、写性能;最大硬盘使用空间,为所有硬盘中空间最小的硬盘的空间大小乘以硬盘数减去1:(N-1)*min(S1,S2,...);有容错能力:1块磁盘;最少磁盘数:3, 3+
混合类型:
RAID10:
先做镜像(1),再做条带(0);提高了读、写性能;最大硬盘使用空间,为所有硬盘中空间最小的硬盘的空间大小乘以2:N*min(S1,S2,...)/2;有容错能力:每组镜像最多只能坏一块;最少磁盘数:4, 4+
RAID01:
是RAID0和RAID1的结合。先做条带(0),再做镜像(1)
CentOS 7上的软件RAID的实现
mdadm:模式化的工具
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10;
-C: 创建模式:
-n #: 使用#个块设备来创建此RAID;
-l #:指明要创建的RAID的级别;
-a {yes|no}:自动创建目标RAID设备的设备文件;
-c CHUNK_SIZE: 指明块大小;
-x #: 指明空闲盘的个数;
例如:创建一个30G可用空间的raid5;
先创建分区:
使用mdadm命令创建raid5
-D:显示raid的详细信息;
mdadm -D /dev/md#
格式化raid设备
开机可自动挂载
管理模式:
-f: 标记指定磁盘为损坏;
-a: 添加磁盘
-r: 移除磁盘
观察md的状态:
cat /proc/mdstat
停止md设备:
mdadm -S /dev/md#
仅供参考,不喜勿喷