RAID的简单介绍

RAID是Redundant Array of Inexpensive 的缩成,称为廉价冗余磁盘阵列。原理是利用数组方式来做磁盘组,配合数据分散排列的设计,提升数据的安全性。其中磁盘阵列是有很多便宜、容量较小、稳定性较高、速度较慢的磁盘组合成一个大型的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能

目前RAID技术大致分为两种:基于硬件的RAID技术的硬RAID和基于软件RAID技术的软RAID.

软件RAID:是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成raid阵列。

硬件RAID:是在服务器的bos界面进行RAID级别的配置,然后内核通过RAID适配器把RAID识别为sd接口的硬盘。

RAID 级别的介绍

随着RAID技术经过不断的发展,现已有RAID 0 到 RAID 6 七种基本的RAID 级别,同时还有RAID 0和RAID 1的组合形式,称为RAID10。其中的级别并不代表技术的高低。接下来就简单介绍一下RAID级别的组合方式和特性。

1、         RAID0

RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上(如上图),因此具有很高的数据传输率,但它没有数据冗余,因此出错几率较大,一旦其中一块磁盘坏掉,数据将无法恢复。因此RAID0不能应用于数据安全性高的场合。

2、         RAID1

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

3、         RAID4

RAID4是将数据条块化分布于不同的硬盘上,区别在于RAID 4使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息,如上图前两块存放数据,第三块磁盘则存放前两块的异或校验码。如果一块磁盘失效,奇偶盘及其他数据盘可以重  新产生数据;如果奇偶盘失效则不影响数据使用。RAID 4对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。

4、         RAID5

RAID5 与 RAID4 之间最大的区别就是校验信息均匀分布在各个磁盘上也就是三个磁盘轮流做为校验盘,如上图所示,这样就避免了RAID 4中出现的瓶颈问题。如果其中一块磁盘出现故障,那么由于有校验信息,所以所有数据仍然可以保持不变。如果可以使用备用磁盘,那么在设备出现故障之后,将立即开始同步数据。如果两块磁盘同时出现故障,那么所有数据都会丢失。RAID5 可以经受一块磁盘故障,但不能经受两块或多块磁盘故障。

5、         RAID10

RAID10实际是将RAID 0和RAID 1标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。

mdadm命令详解

   在Linux中式通过mdadm来创建和维护软RAID的,mdadm是一个模式化的命令,因此有很多的模式。具体模式和选项如下:

Assemble 装配模式;Create  创建模式 ;Follow or Monitor  监控模式(运行特性);Grow: 增长模式;Manage 管理模式

mdadm 模式化命令如下:

-C 创建模式

-a yes 可以自动创建不存在的设备

-n 表示使用几块磁盘创建

-x  表示使用几块空闲盘 spare disks

-c  指定块大小 默认64KB

-l   指定级别

-p   layout

-D 查看详细信息

-S 停止raid设备

-A 装配模式(装配已停下的设备)

-F 监控模式

--add,--fail --remove 自动工作在监控模式下

--examine --scan 扫描当前设备信息

--fail简写成-f 可以模拟设备坏掉

--add 新增一块磁盘

--remove 删除一块磁盘

创建软一个RAID的步骤如下:

  创建软RAID的设备可以是任意设备或是分区,一般应该是把多块磁盘的分区做成RAID。这里我们就以一个磁盘上的多个分区创建软RAID为例进行讲解。

例一:在磁盘/dev/sda中创建一个6G的RAID0具体的操作步骤如下:

1、分析6G的RAID

根据RAID0的特性,我们可以创建为两个3G或是三个2G抑或六个1G的分区,这里我们就以两个3G为例进行讲解。

2、创建分区

使用“fdisk“命令在磁盘/dev/sda中创建两个3G的分区,并调整分区标识类型id 为fd,然后查看我们创建的分区。操作如下图:

创建分区

调整分区类型

查看创建好的分区

3、创建RAID

分区创建完成后不要像平时操作那样直接格式化分区,应该直接创建RAID.

在创建RAID之前应该先使用partprobe 命令来使我们的分区能够被识别。然后再使用如下命令进行创建。

mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda6 /dev/sda7

其中-C是指创建模式下的命令, -a如果没有设备也可自动创建,-n 指定几块磁盘 –l 指定raid级别。

4、格式化raid并挂载

格式化:mke2fs /dev/md0

挂载:mkdir /mt 创建一个目录载到

挂载成功后,切换到mt目录下查看会有lost+foud

创建一个具有空闲盘的RAID5并模拟磁盘的坏掉

   我们先来创建一个2G的RAID5并具有一块空闲盘。

1、分析创建2G的RAID5需要建立几个分区,根据RAID5的特性我们需要建立三个1G的分区,因为还需要一个空闲盘,所以我们这里要建立四个1G的分区。

2、创建分区,具体步骤和创建RAID0是一样的,这里就不做详细说明。

3、创建RAID5

mdadm -C /dev/md0 -a yes -l 5 -n 3 –x 1 /dev/sda6 /dev/sda7

其中-x表示创建几块空闲磁盘

然后用mdadm –D /dev/md0查看RAID5的详细信息如下

4.格式化并挂载到/mt目录下,操作和RAID0一样,在此就不重复了。

5、模拟一块坏掉的磁盘

我们先拷贝一个文件到挂载目录/mt下,是为了查看磁盘坏掉对文件数据是否有影响

cp /etc/fstab  /mt,

接下来我们模拟/dev/sda5坏掉

然后用mdadm –D /dev/md0查看详细信息如下:

接下来我们看看拷贝的文件是否受影响

由此可知在RAID5中当坏掉一块盘时,因为有一块空闲盘顶替了坏掉的磁盘,所以我们数据仍然存在,并不会丢失。

那我们现在再模拟/dev/sda6坏掉,也就说我们已经坏掉了两块盘。然后查看数据是否丢失,具体操作如下面的截图。

由图可知我们的数据并没有丢失,这就和RAID5的特性有关系了,RAID5是允许坏掉一块磁盘的,所以即使剩余两块磁盘,数据还是不会丢失的。

接下来简单介绍一下怎么生成RAID的配置文件。

前面已经提到的—examine –scan 选项是扫描当前设备信息。生成配置文件其实很简单,只需把扫描的设备信息保存到一个文件中即可,具体如下:

mdadm --examine –scan /dev/md0 >> /etc/mdadm.conf

linux之RAID知识总结相关推荐

  1. linux软raid阅读笔记,linux_软RAID阅读笔记.pdf

    linux_软RAID阅读笔记.pdf RAID 读笔记 前言 1 1 RAID 概述 1 1.1 RAID 在linux 内核中的位置 2 1.2 mdadm 3 1.3 参考文献 3 2 RAID ...

  2. linux系统下io的过程,Linux系统基础知识:IO调度

    Linux系统基础知识:IO调度 IO调度发生在Linux内核的IO调度层.这个层次是针对Linux的整体IO层次体系来说的.从read()或者write()系统调用的角度来说,Linux整体IO体系 ...

  3. 权限认证php,2016年Linux认证基础知识:php做权限管理

    2016年Linux认证基础知识:php做权限管理 在学习Linux认证过程中,每个人会遇到每个人不同的问题,或小或大,那么你知道在Linux下,php怎么做权限管理?下面跟yjbys小编来看看最新的 ...

  4. linux 之RAID详解

    主要内容:  一. RAID详解  二. mdadm工具介绍  三. 创建一个RAID的基本过程  四. 磁盘阵列的管理  五. RAID优化 RAID详解: 描述:RAID:(Redundant A ...

  5. linux文件系统基本知识

    系统目录及其作用如下 /boot:引导文件存放目录,内核文件(vmlinuz).引导加载器 (bootloader, grub)都存放于此目录 /dev:设备文件存储位置 设备文件分为块设备(物理)和 ...

  6. linux ospf 命令,Linux运维知识之linux下使用quagga配置ospf协议

    本文主要向大家介绍了Linux运维知识之linux下使用quagga配置ospf协议,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 环境:三台redhat6.5(VM虚拟机)一 ...

  7. linux crontab不运行,Linux运维知识之解决Linux中crontab不执行ntpdate问题

    本文主要向大家介绍了Linux运维知识之解决Linux中crontab不执行ntpdate问题,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 解决Linux中crontab尚未 ...

  8. linux cp 目录不存在自动创建,Linux运维知识之Linux:复制并创建目标目录,如果它不存在...

    本文主要向大家介绍了Linux运维知识之Linux:复制并创建目标目录,如果它不存在,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 我需要一个命令(或者可能是cp的一个选项)来 ...

  9. linux mk创建文件,Linux运维知识之Linux mkkickstart建立安装的组态文件命令详解

    本文主要向大家介绍了Linux运维知识之Linux mkkickstart建立安装的组态文件命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 功能说明:建立安装的组态文件 ...

最新文章

  1. 使用locate 的正则查询 查找所有main.c
  2. Elasticsearch之深入了解Doc Values 和 Fielddata
  3. ylbtech-Unitity-CS:Hello world
  4. Java三元表达式学习笔记
  5. C语言 | 为什么写这三行代码
  6. 硬件基础 —— 电容
  7. MiniO纠删码快速入门
  8. java extends 继承的一些小结。
  9. C++socket编程(一):绪论
  10. 高质量程序设计指南C++/C试题
  11. matlab如何实现隔直滤波器,matlab的滤波器仿真——低通滤波器与插值滤波器
  12. CIS Benchmarks
  13. 解谜破案类游戏:夜间呼叫 for Mac
  14. 智能制造:IntelligentSmart Manufacturing有何区别?
  15. 计算机强制关机后重启报错,电脑开起来就自动关机
  16. fc安卓模拟器_[10月26号]VirtuaNES FC游戏模拟器:附300个无敌版Roms游戏!非常受欢迎的FC游戏模拟器...
  17. php GD库的使用
  18. JavaWeb 获取客户端的真实IP地址
  19. 大数据显示,社交电商已经是美国主流?
  20. 宏观调控绝不是微观控制

热门文章

  1. 12 快件文档“更新终止”从作者“xxx”收到
  2. NOIP 2007 普及组初赛试题(C++)(含答案)
  3. ubuntu16.04 升级内核
  4. 【PyTorch】torch.cat==>张量拼接,在图像的应用上可以有效利用原始图像结构信息
  5. 使用hive完成统计分析功能
  6. TypeScript接口
  7. mysql itpub_mysql
  8. js多种方法:返回上一页
  9. PS 菜单栏显示与隐藏 - 快捷键
  10. phpcmsV9 首页调用全站最新文章(受模型限制)