简介
LVM(逻辑卷管理)是一种在Linux 系统上使用的逻辑卷管理工具。它允许用户管理磁盘分区和分卷,以便更有效地使用存储空间。LVM 是一种强大的存储管理工具,使用户能够更有效地管理磁盘空间,并提供高级功能来保护数据和增强系统的可用性。下面我们将使用RHEL7来学习LVM的使用。
LVM的概念
1、与物理磁盘分区相比,逻辑卷管理为管理磁盘空间提供了更灵活的方式。
2、物理磁盘分区中的原始磁盘空间能够合并在一起或者分为若干个名为“逻辑卷”的虚拟分区。
3、可以实现很多强大的功能,例如创建大于任何一个磁盘的文件系统,将一个磁盘分为14个以上的文件系统,以及轻松扩展现有文件系统使其具有更大空间而无需对其重新格式化。
名称 | 概念 |
---|---|
物理区域(Physical Extent) | 每一个物理卷被划分为大小相等的可用于分配的最小存储单元。卷组,逻辑卷是由一个或多个物理卷的物理区域的集合。 |
物理卷(Physical Volume) | 标记为LVM的可用空间的分区。在MBR磁盘上,用分区类型0x8e 标记。 |
卷组(Volume Group) | 一个或多个物理卷的集合。可以将其想象成一个虚拟磁盘驱动器。 |
逻辑卷(Logical Volume) | 可以将其想象成卷组的虚拟分区。使用文件系统对其格式化,用法如同分区一样。 |
LVM的创建
LVM的创建方式有两种,一种是命令行的方式进行创建,另一种是像Windows一样使用图形化管理工具创建,这里主要讲述命令行创建的方式。
一、命令行方式
1、创建新物理分区(主分区)并编辑新分区将其类型更改为linux lvm(0x8e)
注:在创建逻辑分区前需要先创建物理分区(和Windows类似),详细解析可以查看[RHEL7基础篇-5] 文件系统和磁盘管理 文件系统第5点,文中涉及到的sdb、sdc都是新加的卷,需要另外加入硬盘。
使用上图同样的方法创建sdb的物理分区
2、将新物理分区初始化为LVM物理卷
建立物理卷sdb1和sdc1
> pvcreate /dev/sdb1
> pvcreate /dev/sdc1
成功创建如下图
关于物理卷的一些其他命令
扫描有哪些物理卷
> pvscan
查看物理卷的详细信息
> pvdisplay
删除物理卷
> pvremove
效果如图所示
3、 使用新物理卷创建卷组
标准命令
> vgcreate [-option] vgname pv # -s 设置PE大小,默认为4M
/dev/sdb1和/dev/sdc1把创建名为exam的卷组,使用默认的PE设置
> vgcreate exam /dev/sdb1 /dev/sdc1
成功创建如下图
关于卷组的一些其他命令
扫描有哪些卷组
> vgscan
查看卷组的详细信息
> vgdisplay
将/dev/test1从vg0卷组里剔除
> vgreduce vg0 /dev/test1
效果如图所示
4、 在新卷组内创建逻辑卷
从VG:exam里建立名称为data0,容量为800M的逻辑卷
> lvcreate -L 800M -n data0 exam
200个PE,容量为200*4M
> lvcreate -l 200 -n data0 exam
关于逻辑卷的一些其他命令
扫描有哪些卷组
> lvscan
查看卷组的详细信息
> lvdisplay
效果如图所示
5、格式化逻辑卷文件系统
> mkfs.ext4 /dev/exam/data0
成功创建如下图
6、进行文件系统挂载
创建目录/data0
> mkdir /data0
挂载/dev/exam/data0到/data0
> mount /dev/exam/data0 /data0
查看目前挂载情况
> df -h
成功如下图所示
注:到这里只是进行了一次性的挂载,重启后将需要重新挂载,若想永久挂载可以查看[RHEL7基础篇-5] 文件系统和磁盘管理 中的磁盘管理。
二、图形化管理工具: Logical Volume Management(system-config-lvm)
和Windows较为类似,但是需要注意的是,安装时请不要选择最小安装,需要选择Server GUI,具体请查看[RHEL7基础篇-1] 简介及安装
扩展LVM
需要扩展LVM需要先了解物理分区、物理卷、卷组和逻辑卷的关系,而他们的关系是嵌套式的,就是物理分区包含着物理卷,物理卷包含着卷组,卷组包含着逻辑卷。最终效果为逻辑卷,动态调整其容量大小并且可以在不停机的情况下增加其大小。而卷组中的可用物理范围可以添加到逻辑卷中,以扩展其容量,然后可用于扩展其包含的文件系统,即先扩展逻辑卷大小,再扩展文件系统大小。若所有空间都已经进行分配了则需要从外道内的形式进行扩容。
扩展逻辑卷基本步骤:
1、验证卷组中的可用空间(若不足则需要扩展物理卷)
验证已挂载文件系统/data0 的当前大小
> df -h /data0
验证“可用物理区块”是否够用
> vgdisplay exam
如果不够用,应先增加pv,然后再扩大vg,例如:
> pvcreate /dev/sdc1
> vgextend exam /dev/sdc1
2、扩展逻辑卷
逻辑卷增加20个PE,1个PE为4M即80M
> lvextend -l +20 /dev/exam/data0 # 无+号意味着增加到20,+表示增加了20
3、扩展文件系统
扩展在/data0上挂载的文件系统
> resize2fs -p /dev/exam/data0 # 需要选择对应的文件系统扩展命令,该命令为ext4文件系统
4、验证
验证已挂载文件系统/data0 的新的大小
> df -h /data0
缩小LVM
减少文件系统和逻辑卷,过程类似于扩展,但顺序相反。先减少文件系统大小,再减少逻辑卷。在减少逻辑卷大小之前,务必保留备份,因为命令行中的错误会导致数据丢失。
1、在脱机下进行减少ext4 文件系统。
解除挂载要减少的文件系统
> umount /data0
2、在进行大小调整之前验证所有文件系统数据结构是否都已得到清理
> e2fsck -f /dev/exam/data0
3、将文件系统大小调整为512MB,假设逻辑卷大于512MB。
> resize2fs -p /dev/mapper/exam-data0 512M
4、将逻辑卷减少到512MB。
> lvreduce -L 512M /dev/mapper/exam-data0
5、重新挂载/etc/fstab中列出的所有文件系统,或者使用mount挂载
把/dev/exam/data0挂载到/data0
> mount /dev/exam/data0 /data0
LVM快照
创建快照以便于数据备份,快照逻辑卷是LVM存储的另一项工作,LVM快照是临时保留所更改的逻辑卷的原始数据的逻辑卷。快照提供原始卷的静态视图,从而能够以一致状态备份其数据。在进行快照创建前需要做一些准备工作,确定快照大小的预期变化率和所需快照时间。
注:快照卷大小只需足以存储在它存在期间更改的数据即可。如果数据更改量大于快照存储容量,则快照将自动变为不可用。(原始卷原封不动,仍然需要从卷组中手动解除挂载和删除不可用的快照。)
1、创建 /dev/exam/data0 的名为 snaplvname ,大小为20MB的新快照卷
> lvcreate -s -n snaplvname -L 20M /dev/exam/data0
2、如果备份软件要求,请挂载该快照
> mkdir /snapmount
> mount -o ro /dev/exam/snaplvname /snapmount
3、验证快照逻辑卷的状态
> lvs /dev/exam/snaplvname
4、不再使用快照时,请解除挂载并删除它:
> umount /snapmount
> lvremove /dev/exam/snaplvname
注意点
1、扩容lvm,在进行resize2fs 之前,由于处于挂载状态,最好不要fsck缩小lvm,请先umount,然后再做fsck -f /dev/vg1/lv1。(热扩容,冷缩小)
2、在一个vg上可以创建多个lvm,而一个lvm只能在一个vg上
3、pv可以基于分区,也可以基于硬盘,在创建分区时,记得在 t 时,选为8e
4、一个vg里最多允许2的32次方个PE存在(也就是65534个),如果以4M为默认的PE大小的话,单个逻辑卷最大容量256G。PE的大小范围从8KB到16GB,并且必须总是2的倍数
6、快照lvm和对应的原始数据lvm必须在同一个卷组内,才可以建立成功
> lvcreate -s -L 30M -n backup_vg1_lv1 /dev/vg1/lv1 # 创建快照
> lvcreate -s -L 30M -p r -n back_vg1_lv1 /dev/vg1/lv1 # 创建只读快照
> mount -o ro /dev/vg1/backup_vg1_lv1 /mnt2 # 载只读快照,lvs可看使用情况
数据的快照技术可以应用于数据的备份上!数据库的数据备份就是一个很典型的例子。
标签:RHEL7,逻辑,快照,14,文件系统,dev,Linux,data0,exam From: https://blog.csdn.net/zjw529507929/article/details/140630286