linux运维基础[系统磁盘管理]——————磁盘阵列[概念、raid 0、raid 1、raid 5、raid10]

1. 磁盘阵列简述

1.1 什么是磁盘阵列

RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列。

简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术

组成磁盘阵列的不同方式称为RAID级别(RAID Levels)。

1.2 磁盘阵列的作用

磁盘阵列的作用

  • 网站数据量很大的时候,单块盘装不下了,购买多块盘,又不想单个存放数据,就需要把所有硬盘整合成一个大磁盘,再在这个大磁盘上在分区(虚拟磁盘)放数据。
  • 另外一个功能,多块磁盘放在一起可以有冗余(备份)
  • 提高磁盘存储效率
  • 提高磁盘存储安全
  • 提高磁盘存储容量

1.3 磁盘阵列的特点

相同之处:组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样

不同之处磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性

1.4 磁盘阵列的级别

1、主要性能排序:

  • 冗余从好到坏:raid 1 raid 10 raid 5 raid 0
  • 性能从好到坏:raid 0 raid 10 raid 5 raid 1
  • 成本从低到高:raid 0 raid 5 raid 1 raid 10

2、RAID类型的选择

  • 单台服务器,很重要,盘不多,系统盘raid1
  • 数据库/存储服务器,主库raid10,从库raid5/raido(为了维护成本,raid10)
  • web服务器,如果没有太多的数据的话,raid5,raid0(单盘)
  • 有多台监控/应用服务器raid5,raid0

2.阵列的配置方式

在后面的图示中,用到以下标识:

  • A,B,C,D,E和F - 表示数据块
  • p1,p2,p3 - 表示奇偶校验信息块

2.1 raid 0

linux运维基础[系统磁盘管理]——————磁盘阵列[概念、raid 0、raid 1、raid 5、raid10]
将数据分开存储,每块磁盘上均分存储。

RAID 0的特点:

  • 最少需要两块磁盘
  • 数据条带式分布
  • 没有冗余,性能最佳(不存储镜像、校验信息)
  • 不能应用于对数据安全性要求高的场合

2.2 raid 1

linux运维基础[系统磁盘管理]——————磁盘阵列[概念、raid 0、raid 1、raid 5、raid10]
将数据在两块磁盘上重复存储。

以下为RAID 1的特点:

  • 最少需要2块磁盘
  • 提供数据块冗余
  • 性能好

2.3 raid 5

linux运维基础[系统磁盘管理]——————磁盘阵列[概念、raid 0、raid 1、raid 5、raid10]
将数据和他的校验比对都进行存储:如

A + B = p1
C + D = p2
E + F = p3

如果第一块磁盘坏了,就是说我们不知道,A,C,p3了我们可以通过其他两个磁盘中的数据推出来:

p1 - B = A
p2 - D = C
E + F = p3

数据就被存储住了。

RAID 5特点:

  • 最少3块磁盘
  • 数据条带形式分布
  • 以奇偶校验作冗余
  • 适合多读少写的情景,是性能与数据冗余最佳的折中方案

也就是说,按照比例,raid5在存储的时候会有一个磁盘大小的校验信息存储,所以会损耗一个磁盘的容量

如果有三块300G的磁盘,做了raid5,最终会有多少数据被存储?
300G + 300G + 300G - 300G(校验信息) =600G

2.4 raid 10

linux运维基础[系统磁盘管理]——————磁盘阵列[概念、raid 0、raid 1、raid 5、raid10]

RAID 10(又叫RAID 1+0)特点:

  • 最少需要4块磁盘
  • 先按RAID 0分成两组,再分别对两组按RAID 1方式镜像
  • 兼顾冗余(提供镜像存储)和性能(数据条带形分布)
  • 在实际应用中较为常用