lvm的简单操作

lvm是什么
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。
基本术语
前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的存储卷,在存储卷上建立文件系统。首先我们讨论以下几个LVM术语:
物理存储介质(PhysicalStorageMedia)
指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。
物理卷(Physical Volume,PV)
指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(Volume Group,VG)
类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
逻辑卷(Logical Volume,LV)
类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
物理块(Physical Extent,PE)
每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。
逻辑块(Logical Extent,LE)
LVM抽象模型
逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
图所示LVM抽象模型,展示了PV、VG、LV三者之间关系:
和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符、和一些PE描述符。
系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。
lvm 的建立
fdisk /dev/vdb #建立一个主分区并且把分区标签定为8e
在这里插入图片描述

在这里插入图片描述
创建物理卷组(pv)

pvcreate  /dev/vdb1

在这里插入图片描述
创建物理卷组(vg)

vgcreate   vg0  /dev/vdb1

在这里插入图片描述
创建逻辑卷(lv)

lvcreate -L 20M -n lv0 vg0

在这里插入图片描述
格式化以及挂载

mkfs.xfs /dev/vg0/lv0

mount /dev/vg0/lv0 /data

df -H /mnt

在这里插入图片描述

watch -n 1 'pvs;vgs;lvs;df -h /data'#监视挂载的文件
在这里插入图片描述在这里插入图片描述
具体监视内容
lvm 的拉伸
当物理卷组(vg)中的剩余空间充足时

lvextend -L 80M /dev/vg0lv0 #拉伸设备

xfs_growfs /dev/vg0/lv0 #拉伸文件系统
在这里插入图片描述
在这里插入图片描述
当物理卷组(vg)中的剩余空间不足时( 扩展过程中可以不卸载分区 )
再建立一个物理卷组(pv)
在这里插入图片描述创建一个物理卷并且扩展物理卷组

  pvcreate /dev/vdb2

vgextend vg0 /dev/vdb2 #拉伸物理卷组
在这里插入图片描述
针对ext文件系统的设备的拉伸和缩减
首先把要操作的挂载点卸载,将/dev/vg0/lv0格式化为ext4文件系统

 umount /mnt

mkfs.ext4 /dev/vg0/lv0

mount /dev/vg0/lv0 /mnt

在这里插入图片描述
查看可用的物理分区格式是否修改成功
在这里插入图片描述
拉伸设备和文件系统

lvextend -L 800M /dev/vg0/lv0

resize2fs /dev/vg0/lv0

在这里插入图片描述
在这里插入图片描述
lvm 的缩减
e2fsck -f /dev/vg0/lv0 #先对设备进行扫描
resize2fs /dev/vg0/lv0 100M#对文件系统进行缩减(文件系统是依托于设备存在的)
lvreduce -L 100M /dev/vg0/lv0 #对设备进行缩减
mount /dev/vg0/lv0 /westos #重新挂载查看
在这里插入图片描述

物理卷(vg)的缩减
当两个物理卷都有数据时
pvmove /dev/vdb1 /dev/vdb2 #将vdb1中的数据放入vdb2中
vgreduce vg0 /dev/vdb1 #将vdb1从vg0中移除
pvremove /dev/vdb1 #移除vdb1
lvm 的快照
在实验开始前给 lvm 的挂载点里写一些数据
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0 #创建一个快照,快照名称任意
mount /dev/vg0/lv0-backup /mnt #挂载快照
在这里插入图片描述
在这里插入图片描述
删除快照中的文件
在这里插入图片描述
卸载快照,删除快照并重新创建

rm -fr /mnt/file*



umount /mnt

lvremove /dev/vg0/lv0-backup #删除快照

lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0 #重建快照
mount /dev/vg0/lv0-backup /mnt #重新挂载

在这里插入图片描述
重新查看文件是否还存在
在这里插入图片描述
删除 lvm(顺序与创建相反
umount /mnt ##卸载状态下进行
lvremove /dev/vg0/lv0-backup ##删除lvm快照
lvremove /dev/vg0/lv0 ##删除lvm
vgremove vg0 ##删除vg
pvremove /dev/vdb2 ##删除pv
fdisk /dev/vdb ##删除分区

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值