1 raid级别

  生产环境常用到的raid级别有raid0,raid1,raid5,raid10.所以侧重学习这几种raid级别即可.

1.1 raid0条带卷

  raid0示意图:

  raid0特点介绍:如将3块物理磁盘组合成raid0

介绍 说明
容量

是3块盘加在一起的容量,具有最高的读写性能,原理是把

连续的数据分散到多个磁盘上读写.

物理磁盘数要求为至少1块以上.

性能

理论上读写速度比单盘提高3倍,但磁盘数越多倍数会变小.

(注意:1块盘体现不出raid0读写性能)

冗余 无冗余,坏掉任意一块盘,整个raid就失效了,数据就无法读取.
应用场合

大规模高并发读写场景,但对数据安全性要求又不高的领域,如:

集群中的RS,虚拟机的实体机,负载均衡集群下多个相同的RS节点

服务器,分布式文件存储下的chunk Server,或MySQL主从复制下

的多个slave服务器.

优缺点

优点:性能最高,读写速度最快,硬盘利用率100%.

缺点:无冗余.

1.2 raid1镜像卷

  raid1示意图:

  raid1介绍:如2块1TB物理磁盘组合为raid1.

介绍 说明
容量

磁盘容量利用率50%,即损失一半的容量,如

2块1TB物理磁盘做raid1,逻辑磁盘只有1TB容量.

只能使用2块物理磁盘组合为raid1.

性能 性能和单个盘差不多,读的性能可能会比单盘高一些.
冗余 在所有的raid级别中,raid1数据安全性最高.
应用场景 存放重要数据,对性能要求不高的存储领域
优缺点

优点:数据有冗余

缺点:性能低,磁盘利用率低,容量只有一半

1.3 raid5奇偶校验

  raid5示意图:

  raid5介绍:如3块1TB物理磁盘组合为raid5.

介绍 说明
容量

如3块1TB的物理磁盘组合为raid5,只会损失1块盘的

容量,即逻辑磁盘容量接近2TB左右.最低物理磁盘数为3个

才可以组合为raid5.

性能

读的性能接近raid0.因为多了一个奇偶

校验块,写入的速度较慢

冗余

损失1块盘的容量,数据安全性比raid1低,但磁盘利用

率比raid1要高.

应用场景

适合对性能和冗余有双份要求,但又不是特别高的情况

下使用,如存储,文件服务器等普通服务器一般会使用

raid5比较多,高并发存储除外.

优缺点 作为raid0和raid1的折衷方案使用,但损失一块盘的容量.

1.4 raid10和raid01

  raid10示意图:2个raid1虚拟磁盘组可以同时各坏一块盘,但同一个raid1中2块盘不能同时损坏,否则数据会丢失.(如下图:物理磁盘2和3可以同时坏,但3和4不能同时坏,否则数据会丢失)

  raid10介绍:如4块1TB物理磁盘组合为raid10.

介绍 说明
容量

损失50%磁盘容量,如4块1TB物理磁盘组合为raid10,

逻辑磁盘实际容量接近2TB左右

性能 和raid0接近,大于raid5和raid1
冗余 损失一般的磁盘容量,安全性小于raid1
应用场景 高并发存储和MySQL数据库主库主节点
优缺点

优点:性能高,有冗余.

缺点:磁盘利用率50%,成本比较高.

  raid01示意图:2个虚拟磁盘组raid0中,不能同时坏1个盘,否则数据会丢失.(如下图,物理磁盘2和3同时坏,数据会丢失;但3和4或者1和2可以同时坏,数据不会丢失)

  raid01介绍:如4块1TB物理磁盘组合为raid01.

介绍 说明
容量 同raid10
性能 同raid10
冗余 同raid10
应用场景 应用场景比较少,一般生产环境都是用 raid10
优缺点

优点:同raid10.

缺点:发生故障的概率,raid01比raid10要高.

raid知识梳理及其详细介绍的更多相关文章

  1. 详细介绍android rom移植知识普及

    详细介绍android rom移植知识普及 最近接到很多兄弟们的求助,也回答过无数个和下面这个问题类似的问题: 如何编译android 原生代码得到一个rom,然后跑到某某手机上. 鉴于很多兄弟对这块 ...

  2. RAID详细介绍

    RAID详细介绍 RAID 0 又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就 ...

  3. thinkPHP 模板中的语法知识 详细介绍(十二)

    原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件    ==>记住常量的是大写 1.css link .js  sc ...

  4. kvm详细介绍

    KVM详解,太详细太深入了,经典 2016-07-18 19:56:38 分类: 虚拟化 原文地址:KVM详解,太详细太深入了,经典 作者:zzjlzx KVM 介绍(1):简介及安装 http:// ...

  5. MySQL 基础知识梳理

    MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装, ...

  6. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  7. Ubuntu根目录下各文件夹的功能详细介绍

    Ubuntu的根目录下存在着很多的文件夹,但你知道他们都存放着哪些文件呢?这些是深入了解Ubuntu系统必不缺少的知识,本文就关于此做一下介绍吧. /bin/    用以存储二进制可执行命令文件. / ...

  8. [C# 基础知识梳理系列]专题六:泛型基础篇——为什么引入泛型

    引言: 前面专题主要介绍了C#1中的2个核心特性——委托和事件,然而在C# 2.0中又引入一个很重要的特性,它就是泛型,大家在平常的操作中肯定会经常碰到并使用它,如果你对于它的一些相关特性还不是很了解 ...

  9. web前端之 HTML标签详细介绍

    html标签的分类 点我查看完整的html标签介绍 在html中,标签一般分为块级标签和行内标签 块级标签:块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签"p& ...

随机推荐

  1. github 关掉邮件通知

  2. CAS是什么

    CAS是什么? 比较并交换 例子1: public class ABADemo1 { public static void main(String[] args) { AtomicInteger at ...

  3. Scrapy持久化(items+pipelines)

    一.items保存爬取的文件 items.py import scrapy class QuoteItem(scrapy.Item): # define the fields for your ite ...

  4. java.lang.IllegalArgumentException: clusterListener can not be null

    Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.mongodb. ...

  5. 关于checkbox取值的问题

    今天,在做一个小界面的时候,要用到checkbox来判断用户是否选择记住密码. 本来我想这个不是挺简单吗,直接用jquery获取checkbox的checked属性值好了,如下: var rememb ...

  6. 13、python的路径处理

    前言:本文主要介绍python中路径的处理,包括os模块和有关的2个魔法变量. 一.os模块 python里面的os模块有许多方法可以让我们通过代码实现创建,删除和更改目录,具体如下: os.getc ...

  7. robotframework,移动端(小程序)自动化,解决无法输入中文

    1.如何输入中文 方法: 在open application参数最后,新增unicodeKeyboard=True    resetKeyboard=True:不加入这两个参数时,中文无法输入

  8. GitHub Top 微信小程序——在家中憋了几天写点代码吧

    GitHub Top 本项目为 GitHub 热点项目微信小程序客户端,首页仅推荐一个热点项目,这个项目往往是社会热门事件所催生的一个项目,如 996.ICU.wuhan2020,所推荐项目标准为:积 ...

  9. Java多线程:实现API接口创建线程方式详解

    先看例子: /**实现Runnable接口创建线程步骤: * 1.创建一个实现Runnable接口的类 * 2.重写Runnable类中抽象的run()方法 * 3.创建实现类的对象 * 4.声明Th ...

  10. pythonenv的安装及迁移

    一.安装 运行 pip install virtualenv 即可安装virtualenv,想用 最新开发版 就运行 二. virtualenv基本使用 $ python virtualenv.py ...