RAID技术

RIAD

什么是RAID

磁盘阵列:利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。

简单来说RAID是把多个硬盘组合成为一个逻辑硬盘,因此,操作系统只会把它当作一个实体硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与RAID功能更加有效地与主板集成,它也成为普通用户的一个选择,特别是需要大容量存储空间的工作,如:视频与音频制作。

使用RAID的原因

lvm 非连续空间 可以动态扩容没有备份功能,性能也无法提升

raid 备份,提高读写性能

RAID功能实现

提高IO能力

提高耐用性,

磁盘冗余备份

RAID实现的方式

外接式磁盘阵列:通过扩展卡提供适配能力

内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置

软件RAID:通过OS实现,比如:群晖的NAS存储

1.硬raid 依靠硬件实现

2.软raid 依靠软件实现

二、RAID的等级

SNIA 、 Berkeley 等组织机构把 RAID0 、 RAID1 、 RAID2 、 RAID3 、 RAID4 、 RAID5 、 RAID6 七个等级定为标准的 RAID 等级,这也被业界和学术界所公认。标准等级是最基本的 RAID 配置集合,单独或综合利用数据条带、镜像和数据校验技术。标准 RAID 可以组合,即 RAID 组合等级,满足 对性能、安全性、可靠性要求更高的存储应用需求。

RAID 0

  • RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余·
  • RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据
  • RAID 0不能应用于数据安全性要求高的场合

RAID 1

  • 通过磁盘数据镜像实现数据几余,在成对的独立磁盘上产生互为备份的数据
  • 当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能
  • RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据

RAID 5

  • N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储
  • N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高
  • (N-1)/N磁盘利用率
  • 可靠性高,允许坏1块盘,不影响所有数据

RAID 1+0

  • N(偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0
  • N/2磁盘利用率
  • N/2块盘同时写入,N块盘同时读取
  • 性能高,可靠性高

RAID各级别特性对比

|-----------|--------------|-------------|------------|---------|
| raid级别 | 0 | 1 | 5 | 10 |
| 是否有备份 | 无 | 有 | 有 | 有 |
| 是否提高读的性能 | 是 | 是 | 是 | 是 |
| 是否提高写的性能 | 是 | 下降 | 下降 | 是 |
| 磁盘利用率 | 100% | 50% | n-1(n>=3) | 50% |
| 最少使用几块盘 | 1(有效果得2块及以上) | 2(2n,n>=1) | 3 | 4+必须是偶数 |
| 最多可以坏几块磁盘 | 0 | 1 | 1块 | 2块 |

raid 模式直通模式之间不能互通

实现软raid

mdadm工具:为软RAID提供管理界面,为空余磁盘添加冗余,结合内核中的md(multidevices)RAID设备可命名 为/dev/md0、/dev/md1、/dev/md2、/dev/md3等

做raid(分区)

建立文件系统

挂载

mdadm [mode] <raiddevice> [options] <component-devices>

命令 模式 阵列名字(md0) 选项 选择/dev/sdb /dev/sdd

mdadm -Cv /dev/md0 -l 10(raid) -n 4 -x 1 /dev/sd[bcde] {b,c,d,e,f}

相关推荐
许白掰2 小时前
Linux入门篇学习——Linux 工具之 make 工具和 makefile 文件
linux·运维·服务器·前端·学习·编辑器
AmosTian8 小时前
【系统与工具】Linux——Linux简介、安装、简单使用
linux·运维·服务器
YC运维10 小时前
RIP实验以及核心原理
运维·网络·智能路由器
leo__52011 小时前
自动化运维:使用Ansible简化日常任务
运维·自动化·ansible
霖0011 小时前
C++学习笔记三
运维·开发语言·c++·笔记·学习·fpga开发
CodeWithMe11 小时前
【Note】《Kafka: The Definitive Guide》 第九章:Kafka 管理与运维实战
运维·分布式·kafka
bug攻城狮12 小时前
Alloy VS Promtail:基于 Loki 的日志采集架构对比与选型指南
运维·架构·grafana·数据可视化
CodeWithMe13 小时前
【Note】《深入理解Linux内核》 第十九章:深入理解 Linux 进程通信机制
linux·运维·php
睿思达DBA_WGX14 小时前
由 DB_FILES 参数导致的 dg 服务器无法同步问题
运维·数据库·oracle