LINUX学习(7)

使用 RAID 与 LVM 磁盘阵列技术

RAID(独立冗余磁盘阵列)

RAID 技术 通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区 段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的 性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据 冗余备份效果。
现代 企业更看重的则是 RAID 技术所具备的冗余备份机制以及带来的硬盘吞吐量的提升。也就是 说,RAID 不仅降低了硬盘设备损坏后丢失数据的几率,还提升了硬盘设备的读写速度,所以 它在绝大多数运营商或大中型企业中得以广泛部署和应用

RAID 0

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

RAID 1

尽管 RAID 0 技术提升了硬盘设备的读写速度,但是它是将数据依次写入到各个物理硬 盘中,也就是说,它的数据是分开存放的,其中任何一块硬盘发生故障都会损坏整个系统的 数据。因此,如果生产环境对硬盘设备的读写速度没有要求,而是希望增加数据的安全性时, 就需要用到 RAID 1 技术了。 在图 7-2 所示的 RAID 1 技术示意图中可以看到,它是把两块以上的硬盘设备进行绑 定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以将其视为数据的镜像或备 份)。当其中某一块硬盘发生故障后,一般会立即自动以热交换的方式来恢复数据的正常 使用。
在这里插入图片描述
RAID 1 技术虽然十分注重数据的安全性,但是因为是在多块硬盘设备中写入了相同的数据,因此硬盘设备的利用率得以下降,从理论上来说,图 7-2 所示的硬盘空间的真实可用率只 有 50%,由三块硬盘设备组成的 RAID 1 磁盘阵列的可用率只有 33%左右,以此类推。而且, 由于需要把数据同时写入到两块以上的硬盘设备,这无疑也在一定程度上增大了系统计算功 能的负载

RAID 5

在这里插入图片描述

RAID 10

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

部署磁盘阵列

在具备了上一章的硬盘设备管理基础之后,再来部署 RAID 和 LVM 就变得十分轻松了。首 先,需要在虚拟机中添加 4 块硬盘设备来制作一个 RAID 10 磁盘阵列,如图 7-5 所示。
在这里插入图片描述
这几块硬盘设备是模拟出来的,不需要特意去买几块真实的物理硬盘插到电脑上。需要 注意的是,一定要记得在关闭系统之后,再在虚拟机中添加硬盘设备,否则可能会因为计算 机架构的不同而导致虚拟机系统无法识别添加的硬盘设备
mdadm命令用于管理 Linux 系统中的软件 RAID 硬盘阵列,格式为mdadm [模式] <RAID 设备名称> [选项] [成员设备名称]
生产环境中用到的服务器一般都配备 RAID 阵列卡,我们可以学会用 mdadm 命令在 Linux 系统中创建和管理软件RAID 磁盘阵列,而且它涉及的理论知识的操作过程与生产环境中的完全一致。
在这里插入图片描述
其中,-C参数代表创建一个 RAID 阵列卡;-v参 数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0就是创建后的RAID 磁盘阵列的名称;-a yes 参数代表自动创建设备文件;-n 4 参数代表使用 4 块硬盘来部署这个 RAID 磁盘阵列;而-l 10 参数则代表 RAID 10 方案;最后再加上 4 块硬盘设备的名称就搞定 了。
在这里插入图片描述
其次,把制作好的 RAID 磁盘阵列格式化为 ext4 格式

[root@linuxprobe ~]# mkfs.ext4 /dev/md0 

再次,创建挂载点然后把硬盘设备进行挂载操作。挂载成功后可看到可用空间为 40GB

[root@linuxprobe ~]# mkdir /RAID 
[root@linuxprobe ~]# mount /dev/md0 /RAID 
[root@linuxprobe ~]# df -h

在这里插入图片描述
最后,查看/dev/md0 磁盘阵列的详细信息,并把挂载信息写入到配置文件中,使其永久有效
在这里插入图片描述

[root@linuxprobe ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

损坏磁盘阵列及修复

在确认有一块物理硬盘设备出现损坏而不能继续正常使用后,应该使用 mdadm 命令将其 移除,然后查看 RAID 磁盘阵列的状态,可以发现状态已经改变。
在这里插入图片描述
在 RAID 10 级别的磁盘阵列中,当 RAID 1 磁盘阵列中存在一个故障盘时并不影响 RAID 10 磁盘阵列的使用。当购买了新的硬盘设备后再使用 mdadm 命令来予以替换即可,在此期间 我们可以在/RAID 目录中正常地创建或删除文件。由于我们是在虚拟机中模拟硬盘,所以先重启系统,然后再把新的硬盘添加到 RAID 磁盘阵列中
在这里插入图片描述
在这里插入图片描述

磁盘阵列+备份盘

现在创建一个 RAID 5 磁盘阵列+备份盘。在下面的命令中,参数-n 3 代表创建这个 RAID 5 磁盘阵列所需的硬盘数,参数-l 5 代表 RAID 的级别,而参数-x 1 则代表有一块备 份盘。当查看/dev/md0(即 RAID 5 磁盘阵列的名称)磁盘阵列的时候就能看到有一块备份盘在等待中了
在这里插入图片描述
在这里插入图片描述
现在将部署好的 RAID 5 磁盘阵列格式化为 ext4 文件格式,然后挂载到目录上,之后就 可以使用了。

[root@linuxprobe ~]# mkfs.ext4 /dev/md0 

[root@linuxprobe ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab 
[root@linuxprobe ~]# mkdir /RAID 
[root@linuxprobe ~]# mount -a

最后是见证奇迹的时刻!我们再次把硬盘设备/dev/sdb 移出磁盘阵列,然后迅速查看 /dev/md0 磁盘阵列的状态,就会发现备份盘已经被自动顶替上去并开始了数据同步。RAID 中 的这种备份盘技术非常实用,可以在保证 RAID 磁盘阵列数据安全性的基础上进一步提高数 据可靠性,所以,如果公司不差钱的话还是再买上一块备份盘以防万一
在这里插入图片描述
在这里插入图片描述

LVM(逻辑卷管理器)

逻辑卷管理器是 Linux 系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而 LVM 技术是在硬 盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行 卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。LVM 的技术架构如图 7-7 所示。
在这里插入图片描述
物理卷处于 LVM 中的最底层,可以将其理解为物理硬盘、硬盘分区或者 RAID 磁盘阵列,这都可以。卷组建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之后 也可以继续向其中添加新的物理卷。逻辑卷是用卷组中空闲的资源建立的,并且逻辑卷在建 立后可以动态地扩展或缩小空间。这就是 LVM 的核心理念

部署逻辑卷

部署 LVM 时,需要逐个配置物理卷、卷组和逻辑卷
在这里插入图片描述
先对这两块新硬盘进行创建物理卷的操作,可以将该操 作简单理解成让硬盘设备支持 LVM 技术,或者理解成是把硬盘设备加入到 LVM 技术可 用的硬件资源池中,然后对这两块硬盘进行卷组合并,卷组的名称可以由用户来自定义。 接下来,根据需求把合并后的卷组切割出一个约为 150MB 的逻辑卷设备,最后把这个逻 辑卷设备格式化成 EXT4 文件系统后挂载使用。在下文中,刘遄老师将对每一个步骤再作 一些简单的描述。
第一步:让新添加的两块硬盘设备支持 LVM 技术
在这里插入图片描述
第二步:把两块硬盘设备加入到 storage 卷组中,然后查看卷组的状态
在这里插入图片描述
第三步:切割出一个约为 150MB 的逻辑卷设备。
这里需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位。第一种是以容 量为单位,所使用的参数为-L。例如,使用-L 150M生成一个大小为 150MB 的逻辑卷。另外 一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为 4MB。例 如,使用-l 37 可以生成一个大小为 37×4MB=148MB 的逻辑卷
在这里插入图片描述
第四步:把生成好的逻辑卷进行格式化,然后挂载使用。
Linux 系统会把 LVM 中的逻辑卷设备存放在/dev 设备目录中(实际上是做了一个符号链接),同时会以卷组的名称来建立一个目录,其中保存了逻辑卷的设备映射文件(即/dev/卷组名称/逻辑卷名称)

[root@linuxprobe ~]# mkfs.ext4 /dev/storage/vo

[root@linuxprobe ~]# mkdir /linuxprobe 
[root@linuxprobe ~]# mount /dev/storage/vo /linuxprobe 

在这里插入图片描述

扩容逻辑卷

在前面的实验中,卷组是由两块硬盘设备共同组成的。用户在使用存储设备时感知不到设备底层的架构和布局,更不用关心底层是由多少块硬盘组成的,只要卷组中有足够的资源,就可以一直为逻辑卷扩容。扩展前请一定要记得卸载设备和挂载点的关联
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
mount -a 的意思是将/etc/fstab的所有内容重新加载
mount 是可以显示/etc/fstab的内容

缩小逻辑卷

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

逻辑卷快照

LVM 还具备有“快照卷”功能,该功能类似于虚拟机软件的还原时间点功能。例如,可 以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快 照卷进行覆盖还原。LVM 的快照卷功能有两个特点:
➢ 快照卷的容量必须等同于逻辑卷的容量;
➢ 快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。
在这里插入图片描述
通过卷组的输出信息可以清晰看到,卷组中已经使用了 120MB 的容量,空闲容量还有39.88GB。接下来用重定向往逻辑卷设备所挂载的目录中写入一个文件。
在这里插入图片描述
使用-s 参数生成一个快照卷,使用-L 参数指定切割的大小。另外,还需要在命令后面写上是针对哪个逻辑卷执行的快照操作。
在这里插入图片描述
在逻辑卷所挂载的目录中创建一个 100MB 的垃圾文件,然后再查看快照卷的状态。可以发现存储空间占的用量上升了
在这里插入图片描述
在这里插入图片描述
为了校验 SNAP 快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载掉逻辑卷设备与目录的挂载
在这里插入图片描述

删除逻辑卷

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

[root@linuxprobe ~]# umount /linuxprobe 
[root@linuxprobe ~]# vim /etc/fstab 

删除逻辑卷设备,需要输入 y 来确认操作

[root@linuxprobe ~]# lvremove /dev/storage/vo  
Do you really want to remove active logical volume vo? [y/n]: y  
Logical volume "vo" successfully removed 

删除卷组,此处只写卷组名称即可,不需要设备的绝对路径

[root@linuxprobe ~]# vgremove storage  
Volume group "storage" successfully removed 

删除物理卷组

[root@linuxprobe ~]# pvremove /dev/sdb /dev/sdc  
Labels on physical volume "/dev/sdb" successfully wiped  
Labels on physical volume "/dev/sdc" successfully wiped 

在上述操作执行完毕之后,再执行 lvdisplay、vgdisplay、pvdisplay 命令来查看 LVM 的信 息时就不会再看到信息了(前提是上述步骤的操作是正确的)

复习题

1. RAID 技术主要是为了解决什么问题呢?
RAID 技术可以解决存储设备的读写速度问题及数据的冗余备份问题。

2. RAID 0 和 RAID 5 哪个更安全?
RAID 0 没有数据冗余功能,因此 RAID 5 更安全。

3.假设使用 4 块硬盘来部署 RAID 10 方案,外加一块备份盘,最多可以允许几块硬盘同时损坏呢?
最多允许 5 块硬盘设备中的 3 块设备同时损坏。

4.位于 LVM 最底层的是物理卷还是卷组?
最底层的是物理卷,然后在通过物理卷组成卷组。

5. LVM 对逻辑卷的扩容和缩容操作有何异同点呢?
扩容和缩容操作都需要先取消逻辑卷与目录的挂载关联;扩容操作是先扩容后检查文件系统完整性,而缩容操作为了保证数据的安全,需要先检查文件系统完整性再缩容。

6. LVM 的快照卷能使用几次?
只可使用一次,而且使用后即自动删除。

7. LVM 的删除顺序是怎么样的?
依次移除逻辑卷、卷组和物理卷。

发布了13 篇原创文章 · 获赞 0 · 访问量 125
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览