热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LVM和RAID

LVM和RAIDLVM基础知识概念术语工作原理优点注意linux中使用LVM创建逻辑卷RAID概念技术镜像数据条带数据校验原理作用分类使用场景级别RAID0:无差错控

LVM和RAID

  • LVM
    • 基础知识
      • 概念
      • 术语
      • 工作原理
      • 优点
      • 注意
    • linux中使用LVM创建逻辑卷
  • RAID
    • 概念
    • 技术
      • 镜像
      • 数据条带
      • 数据校验
    • 原理
    • 作用
    • 分类
    • 使用场景
    • 级别
      • RAID0:无差错控制的带区组
      • RAID1:无校验的镜像
      • RAID3:带有专用位校验的数据条带
      • RAID4:带有专用块级校验的数据条带
      • RAID5:带分散校验的数据条带
      • RAID6:带双重分散校验的数据条带
      • 组合


LVM

基础知识


概念

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux系统对磁盘分区进行管理的一种机制。

LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的存储卷,为磁盘分区提供一个文件系统,该文件系统是在存储卷上建立的

LVM层的位置:
在这里插入图片描述
其中方框表示LVM层的位置

术语

PV:physical volume,物理卷,其最小单位是PE,一般默认为4MB。物理卷是LVM的基本存储逻辑块

VG:volume group,卷组,是物理卷的一个组合,可以理解成一台机器的所有内存

LV:logical volume,逻辑卷,用卷组中的空间建立文件系统,相当于磁盘里面的分区,基本单位是LE,是逻辑卷LV可被寻址的基本单位,其大小与PE一一对应

可用df命令去查看磁盘情况,有mapper的就表示是使用的逻辑卷进行分区操作。
在这里插入图片描述

工作原理

将几块物理卷组合起来形成一个卷组,通过LVM层去管理外存设备,因此外存设备不再由内核直接管理。

LVM可以每次从卷组中划分出不同大小的逻辑卷(LogicalVolume)创建新的逻辑设备。逻辑卷相当于文件系统中的分区

优点

1.用户在无需停机的情况下可以方便地调整各个分区大小
2.可以改变逻辑分区的大小
3.有快照功能,可以将数据备份

注意

linux中的boot分区没有使用LVM技术

LVM逻辑设备不受物理约束的限制,逻辑卷不必是连续的空间,它可以跨越许多物理卷,并且可以在任何时候任意的调整大小

linux中使用LVM创建逻辑卷

步骤:
1.查看磁盘分区的个数

fdisk -l

2.创建PV

pvcreate /dev/sdb

3.查看PV

pvscan

4.创建卷组VG

vgcreate alidiidi /dev/sdb

5.创建文件系统LV

lvcreate -L 1G -n office alidiidi

6.查看LV

lvscan

7.格式化LV

mkfs.xfs /dev/alidiidi/office

8.挂载磁盘分区

mkdir office
mount /dev/alidiidi/office office/

可以看到,此时的/dev/mapper/alidiidi-office已经被挂载到/root/office下了,且可以知道该项分区的技术是LVM
在这里插入图片描述

若LV空间不足,则要给LV扩容,LV扩容的容量是VG卷组提供的,因此VG空间足够的情况下,可以直接使用lvextend命令去扩容,当VG空间不足,则要给VG卷组扩容,此时就需要新增物理卷PV了。

显示VG的详细信息,用来判断VG空间是否足够

vgdisplay

若VG空间不够,则要给VG扩容

vgextend alidiidi /dev/sdd

VG扩容之后,就可以给LV提供容量了,LV向VG空间申请容量

lvextend -L +2G /dev/alidiidi/office

将申请到的容量添加进去到LV中,并重新识别

xfs_growfs /dev/alidiidi/office

将其写进etc/fstab,可以让其开机自启

RAID

概念

RAID:是独立冗余磁盘阵列(Redundant Arrays of Independent Disks),
由很多块独立的磁盘,组合成一个容量巨大的磁盘组,简单来说就是将多个硬盘通过RAID controller结合成一个虚拟的单台的大容量的硬盘。RAID中部分物理存储空间用来记录保存在剩余空间上的用户数据的冗余信息。当其中某一个磁盘或访问路径发生故障时,冗余信息可用来重建用户数据,可以实现数据的可靠性并且提高磁盘i/o性能

技术


镜像

将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。数据条带,将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。

数据条带

数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。

数据校验

利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。

原理

用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。
把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。

作用

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

分类

磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真

外接式磁盘阵列柜:常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵

内接式磁盘阵列卡:价格便宜,但需要较高的安装技术,适合技术人员使用操作

软件仿真:指通过cpu和网络操作系统提供的磁盘管理功能将多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,不适合大数据流量的服务器

使用场景

1、DAS–direct access storage device直接访问存储设备
DAS以服务器为中心,传统的网络存储设备都是将RAID硬盘阵列直接连接到网络系统的服务器上

2、NAS–Network Attached Storage网络附加存储设备
NAS以数据为中心,NAS是 Network Attached Storage的简称,中文称为直接联网存储在NAS存储结构中,存储系统不再通过I/O总线附属于某个特定的服务器或客户机,而是直接通过网络接口与网络直接相连,由用户通过网络访问。

3、SAN–Storage Area Networks存储区域网
SAN以网络为中心,SAN是一种类似于普通局域网的高速存储网络。SAN提供了一种与现有LAN连接的简易方法,允许企业独立地增加它们的存储容量,并使网络性能不至于受到数据访问的影响。这种独立的专有网络存储方式使得SAN具有不少优势:可扩展性高;存储硬件功能的发挥不受LAN的影响;易管理;集中式管理软件使得远程管理和无人值守得以实现;容错能力强。

级别

RAID有很多种级别,RAID 每一个等级代表一种实现方法和技术,等级之间并无高低之分

常见RAID的对比图:
在这里插入图片描述
不常用的对比图:
在这里插入图片描述

RAID0:无差错控制的带区组

RAID0 是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略。

RAID0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等

其数据写入图如下:
在这里插入图片描述

RAID1:无校验的镜像

将数据完全一致地分别写到工作磁盘和镜像磁盘。 RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。 RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。

RAID1 应用于对顺序读写性能要求高以及对数据保护极为重视的应用,如对邮件系统的数据保护。

其数据写入图如下:
在这里插入图片描述

RAID3:带有专用位校验的数据条带

它采用一个专用的磁盘作为校验盘,其余磁盘作为数据盘,数据交叉存储到各个数据盘中。

RAID3 完好时读性能与 RAID0 完全一致,并行从多个磁盘条带读取数据,性能非常高,同时还提供了数据容错能力。向 RAID3 写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。因此写操作时,系统开销非常大,性能较低。

如果 RAID3 中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好的数据来重建数据。当故障磁盘被更换后,系统按相同的方式重建故障盘中的数据至新磁盘。

RAID3 只需要一个校验盘,阵列的存储空间利用率高,再加上并行访问的特征,能够为高带宽的大量读写提供高性能,

适用大容量数据的顺序访问应用,如影像处理、流媒体服务等。目前, RAID5 算法不断改进,在大数据量读取时能够模拟 RAID3 ,而且 RAID3 在出现坏盘时性能会大幅下降,因此常使用 RAID5 替代 RAID3 来运行具有持续性、高带宽、大量读写特征的应用。

在这里插入图片描述

RAID4:带有专用块级校验的数据条带

RAID4 与 RAID3 的原理大致相同,区别在于条带化的方式不同。 RAID4按照 块的方式来组织数据,写操作只涉及当前数据盘和校验盘两个盘,多个 I/O 请求可以同时得到处理,提高了系统性能。 RAID4 按块存储可以保证单块的完整性,可以避免受到其他磁盘上同条带产生的不利影响。

写性能比较差。而且随着成员磁盘数量的增加,校验盘的系统瓶颈将更加突出。正是如上这些限制和不足, RAID4 在实际应用中很少见,主流存储产品也很少使用 RAID4 保护。
在这里插入图片描述

RAID5:带分散校验的数据条带

RAID5 应该是目前最常见的 RAID 等级,它的原理与 RAID4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。

RAID5 的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。
  
RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。
在这里插入图片描述

RAID6:带双重分散校验的数据条带

采用两个独立的校验算法,校验数据可以分别存储在两个不同的校验盘上,或者分散存储在所有成员磁盘中。当两个磁盘同时失效时,即可通过求解两元方程来重建两个磁盘上的数据。

它可以保证阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。 RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式,它可以看作是一种扩展的 RAID5 等级。

RAID6 很少得到实际应用,主要用于对数据安全等级要求非常高的场合。它一般是替代 RAID10 方案的经济性选择。
  
在这里插入图片描述

组合

RAID0和RAID1的组合,需要至少4个磁盘。
RAID10:
先镜射再分区
在这里插入图片描述

RAID01:
先分区再镜射
在这里插入图片描述


推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 无论是在迁移到云服务还是更换云服务商的过程中,数据迁移都是一个至关重要的环节。本文将探讨数据迁移中可能遇到的问题及解决方案,包括路径问题、速度问题和数据完整性等。 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • 本文详细介绍了如何使用OpenSSL自建CA证书的步骤,包括准备工作、生成CA证书、生成服务器待签证书以及证书签名等过程。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 深入理解Spark框架:RDD核心概念与操作详解
    RDD是Spark框架的核心计算模型,全称为弹性分布式数据集(Resilient Distributed Dataset)。本文详细解析了RDD的基本概念、特性及其在Spark中的关键操作,包括创建、转换和行动操作等,帮助读者深入理解Spark的工作原理和优化策略。通过具体示例和代码片段,进一步阐述了如何高效利用RDD进行大数据处理。 ... [详细]
  • LVS-DR数据包流向分析介绍
    下文给大家带来LVS-DR数据包流向分析介绍,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍, ... [详细]
  • vsftpd配置(虚拟用户、匿名用户登录)
    一、ftp服务搭建(一)概述1.ftp连接及传输模式(1)控制连接TCP21,用于发送FTP命令信息 ... [详细]
  • 本文详细探讨了几种常用的Java后端开发框架组合及其具体应用场景。通过对比分析Spring Boot、MyBatis、Hibernate等框架的特点和优势,结合实际项目需求,为开发者提供了选择合适框架组合的参考依据。同时,文章还介绍了这些框架在微服务架构中的应用,帮助读者更好地理解和运用这些技术。 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • 揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节
    揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节 ... [详细]
  • 本文详细探讨了OpenCV中人脸检测算法的实现原理与代码结构。通过分析核心函数和关键步骤,揭示了OpenCV如何高效地进行人脸检测。文章不仅提供了代码示例,还深入解释了算法背后的数学模型和优化技巧,为开发者提供了全面的理解和实用的参考。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 技术日志:深入探讨Spark Streaming与Spark SQL的融合应用
    技术日志:深入探讨Spark Streaming与Spark SQL的融合应用 ... [详细]
author-avatar
安安1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有