RAID技术主要有以下三个基本功能:

(1).通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
(2).通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。
(3).通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。
(4).RAID常见的组合有01510

RAID0、RAID1、RAID5、RAID10的特点

RAID0:需要至少两块(含)硬盘,可以有效的提高硬盘的性能和吞吐量,但没有数据的冗余和错误修复能力。

将多块硬盘通过硬件或软件的方式串联在一起,成为一个大的卷集,将数据依次写入到各个硬盘中,这样性能会极大提升,但若任意一块硬盘故障则整个系统的数据都会受到破坏。

RAID1:需要至少两块(含)硬盘,可以有效的提高数据资料的安全性和可修复性,但成本却提高了。

实现原来是在数据写入硬盘时也会在另外一块闲置的硬盘上生成镜像文件,在不影响性能的情况下最大限度保证数据资料的可靠性,只要在一对镜像盘中还有一块硬盘可以使用,那么数据也不会丢失,具有很好的硬盘冗余能力,虽然对数据来讲绝对的安全,但成本却明显增加,磁盘利用率仅为50%。

RAID5:需要至少三块(含)硬盘,兼顾存储性能、数据安全和储存成本。

如下图所示”parity”块中保存的是其他硬盘数据的奇偶校验信息(并非其他硬盘的数据),以数据的奇偶校验信息来保证数据的安全,RAID5不以单独的硬盘来存放数据的奇偶校验信息,而是保存在各个磁盘上。

这样当任何一个硬盘损坏都可以根据其他硬盘上的奇偶校验信息来尝试重建损坏的数据,性能也很高,兼顾了存储性能、数据安全和存储成本,可以看作是RAID0与RAID1的折中方案。

RAID10:需要至少四块(含)硬盘,兼具速度和安全性,但成本很高。

继承了RAID0的快速与RAID1的安全,RAID1在这里提供了冗余备份的阵列,而RAID0则负责数据的读写阵列。

因这种结构的成本高,一般用于存放要求速度与差错控制的数据。

linux虚拟机模拟 独立磁盘冗余阵列RAID5配置5块磁盘、3块做raid,2块做备份)

1.准备mdadm

Linux下需要安装mdadm软件包,mdadm命令用于管理系统软件RAID硬盘阵列。

[root@yyd-hbza ~]# rpm -qa |grep mdadm

mdadm-4.0-5.el7.x86_64

mdadm命令格式为:”mdadm [模式] <RAID设备名称> [选项] [成员设备名称]”。

mdadm管理RAID阵列的动作有:

名称

作用

Assemble

将设备加入到以前定义的阵列

Build

创建一个没有超级块的阵列

Create

创建一个新的阵列,每个设备具有超级块。

Manage

管理阵列(如添加和删除)。

Misc

允许单独对阵列中的某个设备进行操作(如停止阵列)。

Follow or Monitor

监控状态。

Grow

改变阵列的容量或设备数目。

mdadm管理RAID阵列的参数有:

参数

作用

-a

检测设备名称

-n

指定设备数量

-l

指定raid级别

-C

创建

-v

显示过程

-f

模拟设备损坏

-r

移除设备

-a

添加设备

-Q

查看摘要信息

-D

查看详细信息

-S

停止阵列

2.在虚拟机中再添加5块硬盘

如上操作,重复五次,出现五块新磁盘。

3、使用mdadm命令创建RAID5,名称为”/dev/md0″。

(1).启动主机,在终端下查看磁盘是否成功添加

输入命令:

#fdisk  -l

(2).分区转换

-C代表创建操作,-v显示创建过程,-a yes检查RAID名称,-n是用到的硬盘个数,-l是定义RAID的级别  -x 使备用磁盘格式  而后面写上要加入阵列的硬盘名称, 这里新的磁盘再/dev/md0 下

输入命令:

mdadm -Cv  /dev/md0   -n  3  -l  5  -x  2  /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde  /dev/sdf

(3).查看RAID组的详细信息:

#mdadm -D /dev/md0

4.格式化并挂载使用

(1).格式化为xfs格式。

输入mkfs,按两次tab键,查询格式,根据需求格式化。

在这里我们格式化成xfs格式,输入命令:

#mkfs.xfs /dev/md0

(2).挂载

首先创建挂载目录:

#mkdir  /RAID

进行文件系统的挂载:mount  /dev/md0  /RAID

查看磁盘挂载信息:

# df -h

设置 开机自动挂载:#echo "/dev/md0 /RAID xfs defaults 0 0" >> /etc/fstab

查看 /etc/fstab 文件内容写入是否正确 #cat /etc/fstab

5.模拟有1块硬盘损坏的情况

(1).将/dev/sdb移出阵列:

#mdadm /dev/md0 -f /dev/sdb

(2).查看RAID组的详细信息: /dev/sdb磁盘损坏,备份磁盘/dev/sdf自动顶替/dev/sdb作用

#mdadm -D /dev/md0

RAID硬盘依然可以正常的创建或删除文件

(3).重启主机,查看RAID组的详细信息:     发现/dev/sdf代替成为为raid

#mdadm -D /dev/md0

(4).将磁盘添加回阵列/dev/sdb

#mdadm  /dev/md0 -a /dev/sdb

(5).查看RAID组的详细信息:

#mdadm -D /dev/md0

结果 /dev/sdf磁盘成为raid,/dev/sdb成为备份磁盘

linux虚拟机模拟 独立磁盘冗余阵列RAID10配置5块磁盘

RAID10配置,除第三步创建RAID进行分区转换的命令有所差别,其余配置步骤相同。

RAID进行分区转换命令:#mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sd[b-f]

磁盘冗余阵列之RAID5、RAID10的更多相关文章

  1. 磁盘冗余阵列之RAID5的配置

    1988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏导致数据丢 ...

  2. RAID 独立磁盘冗余阵列 - redundant array of independent disks

    RAID:  RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. RAID ...

  3. RAID(独立磁盘冗余阵列)简介

    RAID(独立磁盘冗余阵列) 在大数据技术出现之前,人们就需要面对这些关于存储的问题,对应的解决方案就是RAID技术. RAID(独立磁盘冗余阵列)技术主要是为了改善磁盘的存储容量,读写速度,增强磁盘 ...

  4. 转 关于Raid0,Raid1,Raid5,Raid10的总结

    关于Raid0,Raid1,Raid5,Raid10的总结   RAID0 定义: RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能 ...

  5. 使用mdadm创建磁盘RAID10整列,RAID5出现故障,自动替换硬盘

    首先需了解mdadm的参数使用 . 第一步: 先在虚拟机中添加四块硬板 第二步:使用mdadm命令创建RAID10名称为"/dev/md0" -C代表创建操作,v 显示创建过程,- ...

  6. 磁盘冗余阵列之RAID10的配置

    1988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏导致数据丢 ...

  7. linux系统中RAID5磁盘冗余阵列配置(5块磁盘)

    RAID5:需要至少三块(含)硬盘,兼顾存储性能.数据安全和储存成本. 如图所示”parity”块中保存的是其他硬盘数据的奇偶校验信息(并非其他硬盘的数据),以数据的奇偶校验信息来保证数据的安全,RA ...

  8. linux系统中RAID10磁盘冗余阵列配置

    介绍:RAID10:需要至少四块(含)硬盘,兼具速度和安全性,但成本很高,RAID10用两个磁盘做RAID0,用其他两个做RAID1当备份. 配置流程: 第一步:在原有基础上为磁盘再填入五块磁盘(至少 ...

  9. 关于Raid0,Raid1,Raid5,Raid10的总结

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

随机推荐

  1. RS485转以太网的概述和应用领域

    如今随着物联网技术的不断发展,各种接口更新换代的速度非常的快,RS485转以太网的主要作用就是提供串口转TCP/IP网络接口的功能,它可以将RS232/485/422串口转换成TCP/IP网络接口,实 ...

  2. 企业微信公众号告警Python脚本

    #!/usr/bin/env python # -*- coding: utf-8 -*- import time import requests import json import os impo ...

  3. Servlet学习笔记(二)

    目录 Servlet学习笔记(二) Request对象 1.request和response对象: 2.request对象继承体系结构: 3.什么是HttpServletRequest ? 4.Htt ...

  4. MapStruct 解了对象映射的毒

    前言 MVC模式是目前主流项目的标准开发模式,这种模式下框架的分层结构清晰,主要分为Controller,Service,Dao.分层的结构下,各层之间的数据传输要求就会存在差异,我们不能用一个对象来 ...

  5. 6 MVVM进阶

    1. 背景 MVVM是一种常用的设计模式,它的最主要功能是将数据与代码隔离,实现viewmodel的可测试.架构图如下: 2. 命令-Command 2.1 WPF 路由命令 WPF提供一种内置的命令 ...

  6. 记录一些API(持续更新)

    //对response进行编解码URLEncoder.encode(string,"UTF-8");//ts检查checkbox是否为选中状态$event.target.check ...

  7. NIO源码分析:SelectionKey

    SelectionKey SelectionKey,选择键,在每次通道注册到选择器上时都会创建一个SelectionKey储存在该选择器上,该SelectionKey保存了注册的通道.注册的选择器.通 ...

  8. 查找数组中第k大的数

    问题:  查找出一给定数组中第k大的数.例如[3,2,7,1,8,9,6,5,4],第1大的数是9,第2大的数是8-- 思考:1. 直接从大到小排序,排好序后,第k大的数就是arr[k-1]. 2. ...

  9. 基于Docker UI 配置ceph集群

    前言 前一篇介绍了docker在命令行下面进行的ceph部署,本篇用docker的UI进行ceph的部署,目前来说市面上还没有一款能够比较简单就能直接在OS上面去部署Ceph的管理平台,这是因为OS的 ...

  10. mysql之事物

    1.事物,在事物中的sql语句,要么全部执行成功,要么全部执行失败,不会出现一条sql执行成功了,一条sql执行失败的问题. 2.开启事物:就是关闭mysql自己的自动提交事物的方式 3.commit ...