Linux中的Lvm逻辑卷管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中的Lvm逻辑卷管理相关的知识,希望对你有一定的参考价值。

linux用户安装linux操作系统时遇到一个常见的难以解决的问题就是如何正确的评估各分区大小,以分配合适的磁盘空间,普通的磁盘分区方式在逻辑分区划分好之后就无法改变其大小,分区内存不能满足需要的解决方法。


逻辑卷管理Logical Volume Manager

它是linux环境下对磁盘分区进行管理的一种机制。linux用户安装linux操作系统时遇到一个常见的难以解决的问题就是如何正确的评估各分区大小,以分配合适的磁盘空间,普通的磁盘分区方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上,出现某个分区空间将耗尽的问题时,linux逻辑卷管理功能的出现,用户在无需停机的情况下可以方便的调整各分区的大小

  

#1.pv##物理卷,指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备,是lvm的基本存储逻辑块

  vg ##卷组,由一个或多个物理卷组成

 lv ##逻辑卷,建立在卷组vg上,在逻辑卷lv之上可以建立文件系统

 pe ##每一个物理卷被划分的基本单元

#2.建立lvm

* 创建分区:使用分区工具,fdisk /dev/vdb ,方式和创建其他分区的方式一样,区别是lvm 的分区类型为8e

技术分享

技术分享

技术分享

监控命令

技术分享

同步硬盘信息,添加两个分区vdb1,vdb2

技术分享

创建物理卷

将/vdb1分区创建为物理卷 

[[email protected] ~]# pvcreate /dev/vdb1 ##创建物理卷

技术分享

pvcreate建立的物理卷创建一个卷组

第一个参数是指定该逻辑卷组的逻辑名,后面的参数是指定希望添加到该逻辑卷组的所有分区和磁盘。

[[email protected] ~]# vgcreate vg0 /dev/vdb1 把/dev/vdb1加到/vg0这个逻辑圈组 ##创建物理卷组

技术分享

创建逻辑卷

[[email protected] ~]# lvcreate -L 100M -n lv0 vg0  ##在vg0上创建名字为lv0,大小为100m的逻辑卷,并且设备入口为/dev/vg0/lv0

-L ##指定设备大小  -n ##名字 ##创建逻辑卷组


监控显示物理卷,物理卷组已创建

技术分享

对于xfs文件系统

[[email protected] ~]# mkfs.xfs /dev/vg0/lv0 ##格式化文件系统

技术分享

[[email protected] ~]# mount /dev/vg0/lv0 /qq ##挂载,让设备可用,设备挂载体投入使用

技术分享

[[email protected] ~]# xfs_growfs /dev/vg0/lv0 ##同步文件系统 

技术分享

监控文件系统更新

技术分享

3.lvm的拉伸

vg中剩余容量充足的时候

lvextend -L 400M /dev/vg0/lv0 ##-L指定设备大小

xfs_growfs /dev/vg0/lv0 ##同步文件系统

技术分享

技术分享

监控,逻辑卷大小400M,文件系统更新

技术分享

vg中剩余容量不足时

新建分区

pvcreate /dev/vdb2 ##创建物理卷

技术分享

vgextend vg0 /dev/vdb2 ##创建物理卷组,把/dev/vdb2加到vg0这个逻辑卷组,实现扩容

技术分享

lvextend -L 400M /dev/vg0/lv0 ##拉伸逻辑卷为700M

技术分享

xfs_growfs /dev/vg0/lv0 ##同步文件系统

技术分享

监控,逻辑卷lv0的大小拉伸为700M

技术分享

由于xfs文件系统只能拉伸文件系统,不能缩小,故采用ext4文件系统格式,既能拉伸也能缩减

###要把他改为ext4这个文件系统,要先卸载###

[[email protected] ~]# umount /qq/卸载

技术分享

[[email protected] ~]# mkfs.ext4 /dev/vg0/lv0 格式化为ext4文件系统

技术分享

[[email protected] ~]# mount /dev/vg0/lv0 /qq挂载

技术分享

[[email protected] ~]# lvextend -L 800M /dev/vg0/lv0 ##将逻辑卷lv0拉伸为800M

技术分享

resize2fs /dev/vg0/lv0 ##同步文件系统

技术分享

监控看出,lv0扩容为800M

技术分享

缩减

对设备

[[email protected] ~]# umount /qq/ ##先卸载

技术分享

[[email protected] ~]# e2fsck -f /dev/vg0/lv0  ##扫描文件系统大小

技术分享

[[email protected] ~]# resize2fs /dev/vg0/lv0 200M ##文件系统缩减为200M

缩减时,先扫描文件系统,在缩减设备 

技术分享

[[email protected] ~]# mount /dev/vg0/lv0 /qq/ ##缩减完成再重新挂载

技术分享

[[email protected] ~]# lvreduce -L 200M /dev/vg0/lv0 ##缩减设备 

技术分享

监控可看出逻辑卷和文件系统都缩减为200M

技术分享

###对圈组### 

##从卷组中删除一个物理卷##

要从一个卷组中删除一个物理卷,首先要确认被删除的物理卷没有被任何逻辑卷正在使用,

需要使用pvdisplay查看逻辑卷信息,如果某个物理卷正在被逻辑卷使用,就需要将该物理卷的数据备份到其他地方在删除。

[[email protected] ~]# pvmove /dev/vdb1 /dev/vdb2  ##当/dev/vdb2闲置,将存在数据的/dev/vdb1迁移到/dev/vdb2,再删除/dev/vdb1

技术分享

[[email protected] ~]# vgreduce vg0 /dev/vdb1 ##/dev/vdb1vg0圈组中移出

技术分享

[[email protected] ~]# pvremove /dev/vdb1 ##将/dev/vdb1从pv中删除

技术分享

监控可看出,删除了/dev/vdb1

技术分享

###lvm的快照###

cd /qq/

touch file{1..10}

cd

lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0

更改的是快照内容,访问的是原文件,L,指定快照大小,n指定快照的名字,s指定创建快照的设备

技术分享

技术分享

cd /qq

ls

不小心删除 rm -fr /qq/* 将快照删除,只是修改的快照内容,不改变原文件

umount /qq/

技术分享

删除快照

lvremove /dev/vg0/lv0backup

技术分享

技术分享

原来的内容未改变

技术分享

###删除pv,vg,lv###

[[email protected] ~]# umount /qq  ##卸载

[[email protected] ~]# lvremove /dev/vg0/lv0 ##删除文件系统

技术分享

[[email protected] ~]# vgremove vg0 ##移除逻辑卷组

技术分享

[[email protected] ~]# pvremove /dev/vdb2 ##移除物理卷

技术分享

监控看出移除成功

技术分享

[[email protected] ~]# fdisk /dev/vdb ##删除分区

技术分享

查看分区信息 cat /proc/partitions

技术分享




以上是关于Linux中的Lvm逻辑卷管理的主要内容,如果未能解决你的问题,请参考以下文章

lvm(逻辑卷管理)最全案例解析

Linux中的Lvm逻辑卷管理

LINUX逻辑卷(LVM)管理与逻辑卷分区

逻辑卷管理(LVM)

LInux磁盘管理:LVM逻辑卷

Linux磁盘管理,使用LVM逻辑卷来管理我们的磁盘