LVM逻辑卷与快照

简介

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小

抽象模型

这里写图片描述

基本术语

  • PV(Physical Volume): 物理卷,指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

  • VG(Volume Group):卷组,类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。

  • LV(Logical Volume):逻辑卷,类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)

  • PE(Physical Extent):物理块,每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。(当PV没有加入卷组的时候 这时候PV的PE是未定的,当PV加入卷组,PV的PE大小与卷组设定的PE大小相同)

相关命令

PV管理命令

pvs:简要PV信息显示
pvdisplay:显示PV的详细信息
pvcreate /dev/DEVICE: 创建PV
pvremove /dev/DEVICE:删除PV

VG管理命令

vgs :简要VG信息显示
vgdisplay:显示VG详细信息
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…] 创建VG
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…] 扩展VG
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…] 收缩VG
vgremove 删除VG

LV管理命令

lvs 显示LV简要信息
lvdisplay 显示LV详细信息
lvcreate -L #[mMgGtT] -n NAME VolumeGroup 创建LV
lvremove /dev/VG_NAME/LV_NAME 删除LV

扩展逻辑卷步骤(针对ext系列文件系统)

lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME (只针对ext系列文件系统)

缩减逻辑卷步骤(针对ext系列文件系统)

umount /dev/VG_NAME/LV_NAME (先将文件系统从挂载点取下来)
e2fsck -f /dev/VG_NAME/LV_NAME (强制修复文件系统##针对ext系列文件系统)
resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] (改变文件系统大小##针对ext系列文件系统)
lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME (缩减LV大小)
mount (重新挂载上去)

快照

lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name

具体实验

第一步:创建一个至少有两个PV组成的大小为1.9G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为1.9G的逻辑卷testlv;挂载至/users目录;

  1. 首先fdisk出几个实验用的分区 ID改为8e这里不详细演示
    这里写图片描述
  2. 创建PV
    pvcreate /dev/sdb2
    pvcreate /dev/sdb1
    这里写图片描述

  3. 设置VG(卷组)的PE大小为16M,并将/dev/sdb1和/dev/sdb2两个PE加入卷组test_vg中
    vgcreate -s 16m testvg /dev/sdb1 /dev/sdb2
    这里写图片描述
    这里写图片描述

  4. 创建大小为1.9G的逻辑卷,名为testlv
    lvcreate -L 1.9G -n testlv testvg
    这里写图片描述
  5. 格式化逻辑卷testlv并挂载到/users目录
    mkfs -t ext4 /dev/testvg/testlv
    mount -t ext4 /dev/testvg/testlv /users

第二步:创建一些文件在/users中

这里写图片描述

第三步:扩展testlv至2.5G

  1. 创建/dev/sdb3为PV
    pvcreate /dev/sdb3
    这里写图片描述
  2. 将/dev/sdb3添加到卷组中
    vgextend testvg /dev/sdb3
    这里写图片描述
  3. 扩展lv为2.5G
    lvextend -L 2.5G /dev/testvg/testlv
    这里写图片描述
  4. 文件系统格式化的时候是1.9G,这时候我们将LV扩大到2.5G但是文件系统格式化的部分还是只有原先1.9G的部分,剩下的0.6G还是属于没有格式化的部分,所以需要重新让文件系统也相应的扩大
    resize2fs /dev/testvg/testlv
    这里写图片描述

第四步:收缩testlv至2G,/users目录下文件不丢失

  1. 先将LV从挂载点取下来
    umount /users
  2. 强制修复一下文件系统
    e2fsck -f /dev/testvg/testlv
  3. 先将文件系统大小设置为1G
    resize2fs /dev/testvg/testlv 1G

  4. 再将LV(逻辑卷)大小设置为1G
    lvreduce -L 1G /dev/testvg/testlv
    这里写图片描述

  5. 挂载上去
    mount -t ext4 /dev/testvg/testlv /users
    这里写图片描述

第五步:对testlv创建快照,并尝试基于快照备份数据,验正快照的功能;

lvcreate -L 10m -p r -s -n snap_testlv /dev/testvg/testlv
mkdir /backup
mount -r /dev/testvg/snap_testlv /backup
这里写图片描述
将快照挂载到/backup之后显示了之前的文件还在

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值