RAID磁盘阵列的原理与搭建
十四、RAID磁盘阵列的原理与搭建
14.1、RAID 概念-工作原理
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。 磁盘阵列是由很多价格较便宜的磁盘,以硬件(RAID 卡)或软件(MDADM)形式组合成一个容量巨大的磁盘组,利用多个磁盘组合在一起,提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。 磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中
注:RAID 可以预防数据丢失,但是它并不能完全保证你的数据不会丢失,所以大家使用 RAID 的同时还是注意备份重要的数据
RAID 的创建有两种方式:软 RAID(通过操作系统软件来实现)和硬 RAID(使用硬件阵列卡);在企业中用的最多的是:raid1、raid5 和 raid10。不过随着云的高速发展,供应商一般可以把硬件问题解决掉。
14.1.1 RAID 几种常见的类型
RAID 基本思想:把好几块硬盘通过一定组合方式把它组合起来,成为一个新的硬盘阵列组,从而使
它能够达到高性能硬盘的要求
级别 | RAID类型说明 | 最低磁盘个数 | 空间利用率 | 优缺点 |
---|---|---|---|---|
RAID0 | 条带卷 | 2+ | 100% | 读写速度快,不容错 |
RAID1 | 镜像卷 | 2 | 50% | 写速度一般,读速度提升,容错 |
RAID5 | 带奇偶校验的条带卷 | 3+ | (n-1)/n | 读写速度快,容错,允许坏一块盘 |
RAID6 | 带奇偶校验的条带集,双校验 | 4+ | (n-2)/n | 读写快,容错,允许坏两块盘 |
RAID10 | RAID1 的安全+RAID0 的高速 | 4 | 50% | 读写速度快,容错 |
RAID50 | RAID5 的安全+RAID0 的高速 | 6 | (n-2)/n | 读写速度快,容错 |
14.1.2 RAID 硬盘失效处理
一般两种处理方法:热备和热插拔
热备:HotSpare
定义:当冗余的 RAID 组中某个硬盘失效时,在不干扰当前 RAID 系统的正常使用的情况下,用RAID 系统中另外一个正常的备用硬盘自动顶替失效硬盘,及时保证 RAID 系统的冗余性
全局式:备用硬盘为系统中所有的冗余 RAID 组共享
专用式:备用硬盘为系统中某一组冗余 RAID 组专用
热插拔:HotSwap
定义:在不影响系统正常运转的情况下,用正常的物理硬盘替换 RAID 系统中失效硬盘。
14.2、RAID-0-1-5-10 搭建及使用
14.2.1 RAID 的实现方式
硬 RAID:需要 RAID 卡,我们的磁盘是接在 RAID 卡的,由它统一管理和控制。数据也由它来进行分配和维护;它有自己的 cpu,处理速度快
RAID:通过操作系统实现
Linux 内核中有一个 md(multiple devices)模块在底层管理 RAID 设备,它会在应用层给我们提供一个应用程序的工具 mdadm ,mdadm 是 linux 下用于创建和管理软件 RAID 的命令。
mdadm 命令常见参数解释:
新添加 11 块硬盘,每块磁盘的作用如下:
环境:
raid 种类 | 磁盘 | 热备盘 |
---|---|---|
raid0 | sdb、sdc | |
raid1 | sdd、sde | sdf |
raid5 | sdg、sdh、sdi | sdj |
raid10 | 分区:sdk1,sdk2,sdk3,sdk4 |
注:工作作中正常做 raid 全部是使用独立的磁盘来做的。为了节约资源,raid10 以一块磁盘上多个分区来代替多个独立的磁盘做 raid,但是这样做出来的 raid 没有备份数据的作用,因为一块磁盘坏了,这个磁盘上所做的 raid 也就都坏了。
14.2.2 创建 RAID0
1、创建 raid0
[root@Hengji ~]# cd /dev/
[root@Hengji dev]# ls sd*
sda sda1 sda2 sda3 sdb sdc sdd sde sdf sdg sdh sdi sdj sdk
[root@Hengji ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
-C 创建 red 卷;-v 显示详情;/dev/md0 卷名为 md0;-l 设置等级 0