使用 RAID 与 LVM 磁盘阵列技术

1.RAID(独立冗余磁盘阵列,Redundant Arrays of Independent Disks)

RAID技术通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果,但是它也相应地提高了成本支出。

RAID技术的设计初衷是减少因为采购硬盘设备带来的费用支出,但是与数据本身的价值相比较,现代企业更看重的则是RAID技术所具备的冗余备份机制以及带来的硬盘吞吐量的提升。也就是说,RAID不仅降低了硬盘设备损坏后丢失数据的几率,还提升了硬盘设备的读写速度,所以它在绝大多数运营商或大中型企业中得以广泛部署和应用。

下面来看RAID 0、RAID 1、RAID 5和RAID 10这四种最常见的RAID磁盘阵列的方案。

1.1 RAID 0

RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中。这样一来,在最理想的状态下,硬盘设备的读写性能会提升数倍,但是若任意一块硬盘发生故障将导致整个系统的数据都受到破坏。通俗来说,RAID 0技术能够有效地提升硬盘数据的吞吐速度,但是不具备数据备份和错误修复能力。如下图,数据被分别写入到不同的硬盘设备中,即disk1和disk2硬盘设备会分别保存数据资料,最终实现提升读取、写入速度的效果。

1.2 RAID 1

尽管RAID 0技术提升了硬盘设备的读写速度,但是它是将数据依次写入到各个物理硬盘中,也就是说,它的数据是分开存放的,其中任何一块硬盘发生故障都会损坏整个系统的数据。因此,如果生产环境对硬盘设备的读写速度没有要求,而是希望增加数据的安全性时,就需要用到RAID 1技术了。

如下图,它是把两块以上的硬盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以将其视为数据的镜像或备份)。当其中某一块硬盘发生故障后,一般会立即自动以热交换的方式来恢复数据的正常使用。

RAID 1技术虽然十分注重数据的安全性,但是因为是在多块硬盘设备中写入了相同的数据,因此硬盘设备的利用率得以下降,从理论上来说,上图所示的硬盘空间的真实可用率只有50%,由三块硬盘设备组成的RAID 1磁盘阵列的可用率只有33%左右,以此类推。而且,由于需要把数据同时写入到两块以上的硬盘设备,这无疑也在一定程度上增大了系统计算功能的负载。

1.3 RAID 5

如下图,RAID5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。RAID 5磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一块硬盘设备中,而是存储到除自身以外的其他每一块硬盘设备上,这样的好处是其中任何一设备损坏后不至于出现致命缺陷;图中parity部分存放的就是数据的奇偶校验信息,换句话说,就是RAID 5技术实际上没有备份硬盘中的真实数据信息,而是当硬盘设备出现问题后通过奇偶校验信息来尝试重建损坏的数据。RAID这样的技术特性“妥协”地兼顾了硬盘设备的读写速度、数据安全性与存储成本问题。

1.4 RAID 10

鉴于RAID 5技术是因为硬盘设备的成本问题对读写速度和数据的安全性能而有了一定的妥协,但是大部分企业更在乎的是数据本身的价值而非硬盘价格,因此生产环境中主要使用RAID 10技术。

RAID 10技术是RAID 1+RAID 0技术的一个“组合体”。如下图,RAID 10技术需要至少4块硬盘来组建,其中先分别两两制作成RAID 1磁盘阵列,以保证数据的安全性;然后再对两个RAID 1磁盘阵列实施RAID 0技术,进一步提高硬盘设备的读写速度。这样从理论上来讲,只要坏的不是同一组中的所有硬盘,那么最多可以损坏50%的硬盘设备而不丢失数据。由于RAID 10技术继承了RAID 0的高读写速度和RAID 1的数据安全性,在不考虑成本的情况下RAID 10的性能都超过了RAID 5,因此当前成为广泛使用的一种存储技术。

1.5 部署磁盘阵列

通过虚拟机模拟部署。

mdadm 命令 用于管理Linux系统中的软件RAID硬盘阵列,格式:mdadm [模式]

生产环境中用到的服务器一般都配备RAID阵列卡,尽管服务器的价格越来越便宜,但是没有必要为了做一个实验而单独购买一台服务器,而是可以用mdadm命令在Linux系统中创建和管理软件RAID磁盘阵列,而且它涉及的理论知识的操作过程与生产环境中的完全一致。mdadm命令的常用参数以及作用如下:

接下来,使用mdadm命令创建RAID 10,名称为“/dev/md0”。

-C参数代表创建一个RAID阵列卡;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0就是创建后的RAID磁盘阵列的名称;-a yes参数代表自动创建设备文件;-n 4参数代表使用4块硬盘来部署这个RAID磁盘阵列;而-l 10参数则代表RAID 10方案;最后再加上4块硬盘设备的名称就可以了。

接着,把制作好的RAID磁盘阵列格式化为 ext4 格式。

然后,创建挂载点挂载硬盘设备。挂载成功后可以看到可用空间为40GB。

最后,查看 /dev/md0 磁盘阵列的详细信息,并把挂载信息写入配置文件中,使其永久生效。

1.6 损坏磁盘阵列及修复

在确认有一块物理硬盘设备出现损坏而不能继续正常使用后,应该使用mdadm命令将其移除,然后查看RAID磁盘阵列的状态,可以发现状态已经改变。

......

在RAID 10级别的磁盘阵列中,当RAID 1磁盘阵列中存在一个故障盘时并不影响RAID 10磁盘阵列的使用。当购买了新的硬盘设备后再使用mdadm命令来予以替换即可,在此期间我们可以在/RAID目录中正常地创建或删除文件。由于是在虚拟机中模拟硬盘,所以先重启系统,然后再把新的硬盘添加到RAID磁盘阵列中。

......

1.7 磁盘阵列+备份盘

RAID 10磁盘阵列中最多允许50%的硬盘设备发生故障,但是存在这样一种极端情况,即同一RAID 1磁盘阵列中的硬盘设备若全部损坏,也会导致数据丢失。

在这样的情况下,该怎么办呢?其实,我们完全可以使用RAID备份盘技术来预防这类事故。该技术的核心理念就是准备一块足够大的硬盘,这块硬盘平时处于闲置状态,一旦RAID磁盘阵列中有硬盘出现故障后则会马上自动顶替上去。(做试验前需将虚拟机还原到初始状态)

参数-n 3代表创建这个RAID 5磁盘阵列所需的硬盘数,参数-l 5代表RAID的级别,而参数-x 1则代表有一块备份盘。当查看/dev/md0(即RAID 5磁盘阵列的名称)磁盘阵列的时候就能看到有一块备份盘在等待中了。

......

将部署好的RAID 5磁盘阵列格式化为 ext4 文件格式,然后挂载即可使用。

这里再次把 /dev/sdb 移出磁盘阵列,然后查看 /dev/md0 的状态发现备份盘已被自动顶替上去并开始了数据同步。

......

2. LVM(逻辑卷管理器, Logical Volume Manager)

上文的硬盘设备管理技术虽然能够有效地提高硬盘设备的读写速度以及数据的安全性,但是在硬盘分好区或者部署为RAID磁盘阵列之后,再想修改硬盘分区大小就不容易了。换句话说,当用户想要随着实际需求的变化调整硬盘分区的大小时,会受到硬盘“灵活性”的限制。这时就需要用到另外一项非常普及的硬盘设备资源管理技术了—LVM(逻辑卷管理器)。LVM可以允许用户对硬盘资源进行动态调整。

逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。LVM的技术架构如下图:

物理卷(PV,Physical Volume)处于LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列,这都可以。卷组(VG,Volume Group)建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之后也可以继续向其中添加新的物理卷。逻辑卷(LV,Logical Volume)是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态地扩展或缩小空间。这就是LVM的核心理念。

2.1 部署逻辑卷

部署LVM时,需要逐个配置物理卷、卷组和逻辑卷。常用的部署命令如下表:

初始化虚拟机状态,在虚拟机中添加两块新硬盘设备并开机。

第一步:让新添加的两块硬盘设备支持 LVM 技术。

第二步:把两块硬盘设备加入到 storage 卷组中,然后查看卷组的状态。

第三步:切割出一个约 150MB 的逻辑卷设备。

这里需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位。第一种是以容量为单位,所使用的参数为-L。例如,使用-L 150M生成一个大小为150MB的逻辑卷。另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为4MB。例如,使用-l 37可以生成一个大小为37×4MB=148MB的逻辑卷。

第四步:把生成好的逻辑卷进行格式化,然后挂载使用。

Linux系统会把LVM中的逻辑卷设备存放在/dev设备目录中(实际上是做了一个符号链接),同时会以卷组的名称来建立一个目录,其中保存了逻辑卷的设备映射文件(即/dev/卷组名称/逻辑卷名称)。

第五步:查看挂载状态,并写入配置文件,使其永久有效。

2.2 扩容逻辑卷

扩展前要卸载设备和挂载点的关联。

第一步:把上文的逻辑卷 vo 扩展至 290MB。

第二步:检查硬盘完整性,并重置硬盘容量。

第三步:重新挂载设备并查看状态。

2.3 缩小逻辑卷

相较于扩容逻辑卷,在对逻辑卷进行缩容操作时,其丢失数据的风险更大。所以在生产环境中执行相应操作时,一定要提前备份好数据。另外Linux系统规定,在对LVM逻辑卷进行缩容操作之前,要先检查文件系统的完整性(当然这也是为了保证我们的数据安全)。在执行缩容操作前记得先把文件系统卸载掉。

第一步:检查文件系统的完整性。

第二步:把逻辑卷 vo 的容量减小到120MB。

第三步:重新挂载文件系统并查看系统状态。

2.4 逻辑卷快照

LVM还具备有“快照卷”功能,该功能类似于虚拟机软件的还原时间点功能。例如,可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。LVM的快照卷功能有两个特点:

  • 快照卷的容量必须等同于逻辑卷的容量。
  • 快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。

首先查看卷组的信息

可以看到,卷组中已使用了 120MB 的容量,空闲容量有约 39.88GB。接下来用重定向往逻辑卷设备所挂载的目录中写入一个文件。

第一步:使用 -s 参数生成一个快照卷,使用 -L 参数指定切割大小。在命令最后写入需要执行快照操作的逻辑卷。

第二步:在逻辑卷所挂载的目录中创建一个 100 MB的垃圾文件,然后再查看快照卷的状态,发现存储空间占用量(Allocated to snapshot *%)提升了。

第三步:为了校验 SNAP 快照卷的效果,需要对逻辑卷进行快照还原操作,在此之前需先卸载逻辑卷设备与目录的挂载。

第四步:快照卷会被自动删除,并且刚刚创建的100MB垃圾文件也被清除了。

2.5 删除逻辑卷

当生产环境中想要重新部署LVM或者不再需要使用LVM时,则需要执行LVM的删除操作。为此,需要提前备份好重要的数据信息,然后依次删除逻辑卷、卷组、物理卷设备,这个顺序不可颠倒。

第一步:取消逻辑卷与目录的挂载关联,删除配置文件中永久生效的设备参数。

第二步:删除逻辑卷操作,输入 y 确认。

第三步:删除卷组,此处只写卷组名即可,不需要设备的绝对路径。

第四步:删除物理卷设备。

上述操作执行完毕之后,再执行 lvdisplay、vgdisplay、pvdisplay 命令来查看 LVM 的信息时就不会再看到vo、storage、/dev/sdb /dev/sdc等的相关信息了。

原文地址:https://www.cnblogs.com/achangblog/p/8434453.html

时间: 2024-08-29 22:25:23

使用 RAID 与 LVM 磁盘阵列技术的相关文章

《Linux就该这么学》 第7章 使用RAID与LVM磁盘阵列技术

第7章 使用RAID与LVM磁盘阵列技术 7.1 RAID IO 吞吐量 读写速度,数据安全.1.RAID0RAID0:两块盘,加快硬盘的写入速度.但不具有数据备份和错误恢复.速度有提升成本不变安全性会有下降 2.RAID1RAID1:两块盘,速度没有提升,保持一致成本提升一倍,变成两倍安全性提升 3.RAID5RAID5:至少3块盘,兼顾读写速度.数据安全性.存储成本. 4.RAID10RAID10是RAID1+RAID0的组合. 7.1.1 部署磁盘阵列1.关机虚拟机,为虚拟机添加4块硬盘.

第7章 使用RAID与LVM磁盘阵列技术

章节简述: 您好,此章节为新增加的知识内容,正在努力的排版完善,预习2016年9月中旬完成,感谢您的支持,QQ群:340829. 7.1  磁盘冗余阵列 1988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏导致数据丢失还加入了冗余备份机制. RAID的早先设计理念为"redundant array of Inexpensive disks"即不贵的硬

RHCE 第10节课 使用RAID与LVM磁盘阵列技术

今天继续学习的是磁盘阵列技术RAID,磁盘阵列方式主要有raid 0 raid 1 raid 10 raid 5 这四种,另外还有一个热备盘的概念,跟着老师做了几次试验之后,对磁盘阵列有了深刻的理解.我们需要在保证数据的读取速度和安全性之间找到平衡点 原文地址:https://blog.51cto.com/12331786/2455054

使用RAID与LVM磁盘阵列技术。

1.在虚拟机中添加4块硬盘设备来制作一个RAID 10磁盘阵列2.使用mdadm中的参数创建RAID磁盘阵列3.把制作好的RAID磁盘阵列格式化为ext4格式.4.创建挂载点然后把硬盘设备进行挂载操作挂载信息写入到配置文件中,使其永久生效 损坏磁盘阵列及修复1.RAID磁盘阵列组损坏后的处理方法,首先确认有一块物理硬盘设备出现损坏不能再继续正常使用后,应该使用mdadm命令来予以移除之后查看下RAID磁盘阵列组的状态已经被改变.2.在RAID 10级别的磁盘阵列中,当RAID 1磁盘阵列中存在一

RAID与LVM磁盘阵列技术

RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列) RAID概念: RAID技术通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果 1. RAID 0 (最少2块) 概念:RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一

使用RAID与LVM磁盘阵列技术

 RAID磁盘冗余阵列  RAID技术通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果.  任何事物都有它的两面性.RAID技术确实具有非常好的数据冗余备份功能,但是它也相应地提高了成本支出.就像原本我们只有一个电话本,但是为了避免遗失,我们将联系人号码信息写成了两份,自然要为此多买一个电话本,

linux学习7章-使用RAID与LVM磁盘阵列技术

2019年11月29日-11月30日 部署逻辑卷的步骤如下: PV操作->VG操作->LV操作我们先对这两块新硬盘进行创建物理卷的操作,可以将该操作简单理解成让硬盘设备支持LVM技术,或者理解成是把硬盘设备加入到LVM技术可用的硬件资源池中,然后对这两块硬盘进行卷组合并,卷组的名称可以由用户来自定义.接下来,根据需求把合并后的卷组切割出一个约为150MB的逻辑卷设备,最后把这个逻辑卷设备格式化成EXT4文件系统后挂载使用. 删除逻辑卷的步骤如下: LV操作->VG操作->PV操作 

RAID和LVM磁盘阵列

RAID磁盘冗余阵列 CPU的处理性能保持着高速增长,Intel公司在2017年最新发布的i9-7980XE处理器芯片更是达到了18核心36线程.但与此同时,硬盘设备的性能提升却不是很大,因此逐渐成为当代计算机整体性能的瓶颈.而且,由于硬盘设备需要进行持续.频繁.大量的IO操作,相较于其他设备,其损坏几率也大幅增加,导致重要数据丢失的几率也随之增加. 1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术的概念.RAID技术通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,并

第七章 RAID阵列和LVM磁盘阵列技术 第7天 7月26日

RAID 磁盘冗余阵列 目的:提高可用性,读取速度,安全性 通过多盘的协作来达到这一指标 但是不经济,提高了公司的支出.除非认为,数据大于费用 RAID的种类 RAID0 数据分布在不同的两块盘上,读取速度快,但是一块损坏另一块也损坏. RAID1 数据分布在相同的两块盘上,无损备份. RAID5 三块盘组成最小的RAID,但是奇偶校验数据放在除自身盘符外的其他盘上,以备损坏后备份. RAID10 是RAID1和RAID0的组合体.四块硬盘先两两组合成RAID1,两块RAID1再组合成RAID0