欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux逻辑卷LVM操作文档

程序员文章站 2022-05-21 13:01:54
...
逻辑卷简介:
逻辑卷(Logical Volume)是由逻辑磁盘形成的虚拟盘,也可称为磁盘分区。
LVM (Logical Volume Manager) ,逻辑卷管理器。
LVM 将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小。另外,与硬件相关的存储设置被其隐藏,你可以不用停止应用或卸载文件系统来调整卷大小或数据迁移,这样可以减少操作成本。逻辑卷提供方便的方法来镜像你的数据并支持快照功能。
LVM逻辑卷是Linux里面一个很棒的空间使用机制,因为分区在没有格式化的情况下是没有办法加大或者放小的。通过LVM可以将你的磁盘空间做到灵活自如。
 

基本的逻辑卷管理概念:

Linux逻辑卷LVM操作文档
            
    
    博客分类: linux系统  

PV(Physical Volume)- 物理卷 
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备

VG(Volumne Group)- 卷组 
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

LV(Logical Volume)- 逻辑卷 
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

逻辑卷操作:
1 创建逻辑卷
fdisk /dev/sdb
p
n
p
w
t
LVM的标识是8e
 
pvcreate /dev/sdb1 /dev/sdb2
(注意:如果没有识别出/dev/sdb2设备,需重启服务器)
pvs
 
 
vgcreate vgname /dev/sdb1 /dev/sdb2
vgs
 
lvcreate -L 500M -n lvname vgname
lvs
 
mkfs.ext4  /dev/vgname/lvname
 
mount
 
2 逻辑卷扩展
 
当卷组不够用的情况下,如何扩大卷组
重新从第二块硬盘上创建一个分区sdb3
pvcreate /dev/sdb3
vgextend vgname /dev/sdb3
pvs
逻辑卷lvname不够用了,如何扩展
给逻辑卷增加空间并不会影响以前空间的使用,所以无需卸载文件系统
直接通过命令:
lvextend –L +500M /dev/vgname/lvname
或者lvextend –l 2.5G /dev/vgname/lvname
给lvname增加500M空间(lvname目前是2G空间)
设置完成之后,记得使用:
resize2fs /dev/vgname/lvname
命令来同步文件系统。
centos7系列使用 xfs_growfs /dev/centos/root 因为文件系统一般为xfs格式
 
 
 
 
3 逻辑卷其他
当硬盘空间不够用的情况下,如果减少逻辑卷的空间释放给其他逻辑卷使用。
 
1、 先卸载逻辑卷lvname
 
umount /data
有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息

2、 然后通过e2fsck命令检测逻辑卷上空余的空间。

e2fsck -f /dev/mapper/vgname-lvname

3、 使用resize2fs将文件系统减少到700M。

resize2fs /dev/mapper/vgname-lvname 700M

4、 再使用lvreduce命令将逻辑卷减少到700M。

lvreduce -L 700M  /dev/mapper/vgname-lvname

注意:文件系统大小和逻辑卷大小一定要保持一致才行。如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费。如果逻辑卷小于文件系统,哪数据就出问题了。

完成之后,就可以通过mount命令挂载重新使用了。

 

4 转移数据

 

5 删除逻辑卷

 

1、先通过umount命令卸载掉逻辑卷lvname

umount /data

2、修改/etc/fstab里面逻辑卷的挂载信息,否则系统有可能启动不起来。

3、通过lvremove 删除逻辑卷lvname

lvremove /dev/mapper/vgname-lvname

4、通过vgremove 删除卷组vgname

vgremove vgname

5、通过pvremove 将物理卷转化成普通分区。

pvremove  /dev/sdb1 /dev/sdb2

pvs

vgs

lvs

删除完了,别忘了修改分区的id标识。修改成普通Linux分区即可。