Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >磁盘RAID 笔记

磁盘RAID 笔记

作者头像
小石头
发布于 2022-11-30 08:23:34
发布于 2022-11-30 08:23:34
63500
代码可运行
举报
文章被收录于专栏:小石头小石头
运行总次数:0
代码可运行

什么是RAID?

RAID:独立磁盘冗余阵列(Redundant Array of Independent Disks),简称硬盘阵列。RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来,形成一个硬盘组(逻辑硬盘)。将逻辑硬盘挂载给操作系统,在系统中读取到的是单块硬盘(即逻辑硬盘)而非多块硬盘(独立的物理磁盘)。RAID技术通过增加硬盘的数量增加了平均故障间隔时间(MTBF),从而提供比单个硬盘更高的存储性能和提供数据备份技术。

常用的RAID级别:

RAID0、RAID1、RAID 3、RAID5、RAID6、RA J10、RAID50

逻辑硬盘优点

1、容量大

2、性能好

3、可靠性高

RAID实现方式

RAID实现方式分为两种,分别是软件RAID、硬件RAID

软件RAID

优点

1、成本低,无需购置硬件;

2、允许用户重新配置磁盘阵列,不受硬件限制。

缺点

1、读写性能差;

2、软件RAID会占用系统资源。

硬件RAID

优点:

1、不消耗硬盘性能及存储空间;·相对于操作系统独立;

2、磁盘故障易更换。

缺点:

1、相比较软件RAID成本高;

2、硬件RAID卡故障,必须更换同型号或与故障卡相互兼容的型号。

RAID保护方式有两种镜像与校验

镜像就是克隆出来一个副本,数据相同

校验就是使用奇偶校验法逻辑算法为异或

RAID0原理

至少使用两块物理盘

使用率100%

可靠性弱

R/W最好

RAID 1

至少使用两块物理盘

使用率50%

支持重构效率较快

数据读写,先写入镜像在写入物理盘

物理盘故障换上新的镜像会把数据复制给物理盘

RAID 3

利用率n-1/n(n为盘数)

至少需要3个盘

支持重构

R/W取决盘数

RAID 3使用奇偶校验来保证数据可靠性。

RAID 3配备一块专用的校验盘,将奇偶校验数据写入校验盘。

RAID 3物理盘1损坏时,将新磁盘更换后将校验盘和物理盘2的数据进行异或运算后再将数据恢复到新磁盘。

RAID5

本质与RAID3没有区别主要就是把校验盘取消,校验数据都写入物理盘

重构:RAID 5物理盘1损坏时,将磁盘更换后会将校验数据和物理盘数据进行异或运算,再将数据恢复到新物理盘。

不过RAID 3 与RAID 5 一样最多允许坏一个盘为了解决这个问题有了RAID6

RAID 6

RAID 6的可靠性高于RAID5。

RAID 6有两个校验数据,分别为P和Q。校验数据P和Q是由以下公式计算得来的

eg:

P1=D0⊕D1⊕D2

Q1=(D0α)⊕(D1β)⊕(D2*γ)

其中α,β,γ为赋予的常量值

重构与RAID5相似,多了一步运算,原理相同。

可以通过二元一次方程计算

RAID 10

RAID 10通过数据副本的方式保证数据可靠性。 RAID 10是先做RAID 1在做RAID 0。

RAID 50

RAID 50通过奇偶校验保证数据可靠性。

·

RAID先做RAID 5在做RAID 0

增加速度与可靠性

·

总结如下

  • 模块化工具mdadm1.支持的RAID级别:RAID0,RAID1,RAID4,RAID5,RAID6,RAID10; 2.可以基于多块硬盘、分区以及逻辑卷来实现RAID; 3.状态信息保存在/proc/mdstat 4.已创建好的RAID位于/dev/md#
  • mdadm的语法格式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mdadm [mode] <raiddevice> [options] <component-devices>
            模式:
                创建:-C
                装配: -A
                监控: -F
                管理:-f, -r, -a

            <raiddevice>: /dev/md#
            <component-devices>: 任意块设备


            -C: 创建模式
                -n #: 使用#个块设备来创建此RAID-l #:指明要创建的RAID的级别;
                -a {yes|no}:自动创建目标RAID设备的设备文件;
                -c CHUNK_SIZE: 指明块大小;
                -x #: 指明空闲盘的个数;


            -D:显示raid的详细信息;
                mdadm -D /dev/md#

            管理模式:
                -f: 标记指定磁盘为损坏;
                -a: 添加磁盘
                -r: 移除磁盘

            观察md的状态:
                cat /proc/mdstat

            停止md设备:
                mdadm -S /dev/md#
  • 实现实例

创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
z[root@CentOS6 ~]# mdadm -C /dev/md0 -n 2 -l 1 -c 128 /dev/sd{b,c}

[root@CentOS6 ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Aug 19 15:40:11 2016
     Raid Level : raid1
     Array Size : 5238720 (5.00 GiB 5.36 GB)
  Used Dev Size : 5238720 (5.00 GiB 5.36 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Fri Aug 19 15:40:27 2016
          State : clean, resyncing 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

  Resync Status : 64% complete

           Name : CentOS6:0  (local to host CentOS6)
           UUID : f92a25b5:a1120042:521176b5:1964c806
         Events : 10

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

[root@CentOS6 ~]# mkfs.ext4 /dev/md0
[root@CentOS6 ~]# echo "/dev/md1    /backup   ext4  defaults,acl,nodiratime  0 0"  >> /etc/fstab
  • 注意:
    • 创建好RAID之后,最好将相关信息保存到/etc/mdadm文件中,如是在下次启动系统时会自动挂载启用RAID# mdadm -D –scan > /etc/mdadm.conf
    • 创建好RAID之后使用时要使用RAID设备来挂载,不要对原块设备操作
    • 在停止RAID之前要先卸载,而后使用mdadm -S命令
    • 若要重启RAID使用mdadm -R命令,但是由于操作系统或软件版本的问题,关闭RAID后会找不到/dev/md#块设备,此时只要重启系统便可,因为已把相关信息保存至/etc/mdadm.conf文件
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux下实现最常用的磁盘阵列RAID5
(一) RAID简介: 独立磁盘冗余数组(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余数组(RAID,Redundant Array of Inexpensive Disks),简称硬盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据选择的版本不同,RAID比单个硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于电脑来说, 看起来就像一个单独的硬盘或逻辑存储单元。分为RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50 简单来说,RAID把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与RAID功能更加有效地与主板集成,它也成为了玩家的一个选择,特别是需要大容量存储空间的工作,如:视频与音频制作
星哥玩云
2022/07/25
2.3K0
Linux下实现最常用的磁盘阵列RAID5
Linux磁盘阵列RAID以及mdadm实现软件RAID
一、概要 RAID(磁盘阵列):由众多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果来提升整个磁盘的性能。 二、RAID的级别及其优缺点 RAID 0,在使用中
小小科
2018/05/02
4.2K0
Linux磁盘阵列RAID以及mdadm实现软件RAID
Linux下软RAID管理工具mdadm的基本操作实践
RAID (Redundant Array of Independent Disks独立磁盘冗余阵列) 是将多颗独立的硬盘整合成一个存储单元的数据存储技术。
yuanfan2012
2019/06/01
4.9K0
Ubuntu18.04软RAID 0 1 5 10建立(附gparted/live使用)
---- 前言 关于RAID可以参看维基百科, 或者我推荐这篇博文, 简单来说, RAID把多个硬盘组合成为一个逻辑硬盘, 因此, 操作系统只会把它当作一个硬盘. RAID常被用在服务器计算机上, 并且常使用完全相同的硬盘作为组合. 由于硬盘价格的不断下降与RAID功能更加有效地与主板集成, 它也成为普通用户的一个选择, 特别是需要大容量存储空间的工作, 如: 视频与音频制作. RAID等级 最少硬碟 最大容错 可用容量 读取效能 写入效能 安全性 目的 应用产业 单一硬碟
sean_yang
2019/07/15
2.7K0
Ubuntu18.04软RAID 0 1 5 10建立(附gparted/live使用)
CentOS7 部署 RAID 磁盘阵列
RAID (Redundant Array of lndependent Disk 独立冗余磁盘阵列)就是把多块独立的物理磁盘按不同的方式组合起来形成一个磁盘组(逻辑硬盘)。从而提供比单个磁盘更高的存储性能和提供数据备份技术。
全栈程序员站长
2022/08/14
2.3K0
CentOS7 部署 RAID 磁盘阵列
Linux学习笔记之RAID笔记
RAID: Redundant Arrays of Inexpensive Disks Independent Berkeley: A case for Redundent Arrays of Inexpensive Disks RAID 提高IO能力: 磁盘并行读写; 提高耐用性; 磁盘冗余来实现 级别:多块磁盘组织在一起的工作方式有所
Jetpropelledsnake21
2019/07/10
1.7K0
基于软件的方式实现RAID(冗余磁盘阵列)技术
        在摘要部分已经对raid进行了简单的介绍,而在实际生产中主要用的便是软件RAID和硬件RAID,同时由于硬件RAID的价钱比较贵,因而,越来越多的人使用软件RAID来构建企业的一套存储方案。那么,使用RAID的最大好处是什么呢?哈哈,当然就是省钱了啊,同时RAID技术具有以下优点:         提高传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘
BGBiao
2018/02/26
1.6K0
基于软件的方式实现RAID(冗余磁盘阵列)技术
Linux磁盘-RIAD阵列-软件阵列
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1070
Linux磁盘-RIAD阵列-软件阵列
如何在Ubuntu 18.04上使用mdadm创建RAID阵列
该mdadm实用程序可用于使用Linux的软件RAID功能创建和管理存储阵列。管理员可以非常灵活地协调各自的存储设备,并创建具有更高性能或冗余特性的逻辑存储设备。
所有的酒都不如你
2018/09/25
19K0
Raid0、 Raid1、 Raid5、 Raid10的原理、特点、性能区别[通俗易懂]
RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,简称为「磁盘阵列」,其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。
全栈程序员站长
2022/09/17
82.7K0
Raid0、 Raid1、 Raid5、 Raid10的原理、特点、性能区别[通俗易懂]
RAID及mdadm命令
介绍一个新概念,RAID,这也是大学的时候的学的东西了,一直很少在工作中使用,有点忘记,今天复习更新一下。分享给大家。 保存数据安全,大家都知道备份。 数据安全其中一个是物理上的方法。就是raid。 RAID 简介 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达
若与
2018/04/25
2.4K0
RAID及mdadm命令
低成本搭建一台家庭存储服务器:前篇
今年考虑专门搭建一台用于数据备份的机器,一来今年外出的需求比较多,历史的设备已经用了几年了,需要有更新的设备来“接力”;二来也想验证方案的靠谱程度,解决我接触的一些生产环境的需求以及朋友们的问题。
soulteary
2023/03/05
3.5K0
低成本搭建一台家庭存储服务器:前篇
创建一个软raid阵列
问:为什么要保存raid信息? 答:如果不做信息的保存,在CentOS6中,重启系统后raid不能自动被识别到,7,8系统中不会出现这种状况。
星哥玩云
2022/09/15
9460
软Raid基础实现流程
RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列。RAID是把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术组成磁盘阵列的不同方式称为RAID级别(RAID Levels),常用的RAID级别有以下几种: RAIDO,RAID1,RAID5,RAID6,RAID10等
全栈工程师修炼指南
2020/10/26
1.6K0
在本地磁盘型云主机做软RAID的实践[通俗易懂]
购买了一台拥有本地磁盘的云服务器。比如 ecs.i2.16xlarge. 为了保证数据安全性,以及读写速度,我们通常会对磁盘做RAID。 但是云主机又不同于本地物理主机,没有办法添加RAID卡,这就需要通过软件来实现RAID。
全栈程序员站长
2022/08/04
1.7K0
利用mdadm工具构建RAID 0/1/5/6/10磁盘阵列实战(超详细)
 mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件 RAID 管理工具。
非著名运维
2022/06/22
5.3K0
利用mdadm工具构建RAID 0/1/5/6/10磁盘阵列实战(超详细)
CentOS 6.8 创建 RAID-5
参考文档:https://cloud.tencent.com/developer/article/1562726
用户5630738
2020/06/24
9640
RAID技术详解:从基础到实战的存储指南
RAID(Redundant Array of Independent Disks)不是简单的磁盘堆叠,而是通过算法将多块物理硬盘虚拟化为逻辑存储单元的核心技术。其核心价值体现在:
Lethehong
2025/03/09
1590
RAID技术详解:从基础到实战的存储指南
centos 使用mdadm 工具做软raid
在fdisk命令提示符下,按下n创建一个新分区,选择分区类型为主分区或逻辑分区,然后按照提示设置分区大小。重复此步骤为每个磁盘创建分区。
jerry_huang
2024/05/22
3800
第十二章 磁盘阵列 raid
当一台服务器需要较大存储空间时,由于单块磁盘的空间容量相对较小,那么则需要连接多块磁盘。但是我们知道,一般计算机上的磁盘接口只有2-4块,服务器的磁盘接口可能有4-8块,不管怎样,接口数总是较少的。当需要连接更多磁盘时,则需要外界设备的辅助,磁盘阵列就是最常用的外界设备之一。
晓天
2019/07/04
3K0
第十二章 磁盘阵列 raid
推荐阅读
相关推荐
Linux下实现最常用的磁盘阵列RAID5
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验