LVM

一.简介

LVM:Logical Volume Management 逻辑卷管理
LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

传统磁盘管理:
我们上层是直接访问文件系统,从而对底层的物理磁盘进行读取。

lvm工作原理:
对底层的磁盘进行封装,以逻辑卷(logical volume)的方式呈现给上层应用,逻辑卷里可以方便的添加删除分区和硬盘。

基本的LVM术语概念:
PV(Physical Volume)- 物理卷

物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区(例如sdb1),也可以是整个物理硬盘(例如sdc),也可以是raid设备(例如md0)。

VG(Volume Group)- 卷组

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

LV(Logical Volume)- 逻辑卷

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


PE(Physical Extent)- 物理块

PE是整个LVM 最小的储存区块,也就是说,其实我们的资料都是由写入PE来处理的。简单的说,这个PE就有点像文件系统里面的block大小。

二.创建PV、VG、LV

确定已安装lvm2,如未安装可能执行不了lvm相关命令

yum install -y lvm2

2.1 创建PV

格式:
pvcreate /dev/DEVICE1 /dev/DEVICE2 /dev/DEVICE3
DEVICE可以是sda,sdb,sdc这样的硬盘,也可以是sda1 ,sdb2,sdc3这样的分区,甚至是md0,md1这样的软raid。

pvcreate /dev/sdc;
#简要显示pv组成部分
pvs
#详细的显示pv的组成部分
pvdisplay

2.2 创建vg

命令格式为:
vgcreate volume_group_name /dev/DEVICE1 /dev/DEVICE2

vgcreate fm1 /dev/sdc;
#显示创建的fm1的信息
vgdisplay fm1

2.3 创建lv

命令格式为:
lvcreate -L 大小 -n 名称 vg2
-L 指定大小 -l指定范围,百分比

lvcreate -l 100%VG -n lv_fm1 fm1;
#或者
lvcreate -l +100%free -n lv_fm1 fm1;
#显示lv信息
lvs
#详细显示lv信息
lvdisplay

格式化并挂载

mkfs.xfs /dev/fm1/lv_fm1;
mkdir /data;
mount /dev/fm1/lv_fm1 /data;
 D=(sudo -i blkid | grep fm1-lv_fm1 |  awk '{print2}'| awk -F "=" '{print 2}' | sed 's/\"//g');
 echo UUID=D   /data  xfs    defaults   0  0  >> /etc/fstab;

2.4 扩容

现有磁盘扩容,现有系统默认有lvm,使用fdisk对磁盘新增的空间划分一个分区,fdisk /dev/sda--n新建分区--p主分区,t更改分区类型--分区类型lvm--8e
新增的分区不识别,重新读取分区列表

partprobe /dev/sda

创建pv

pvcreate /dev/sda3

增加卷组

vgextend centos /dev/sda3

lv扩展

lvextend -r -l +100%free /dev/centos/root
#xfs同步文件系统
xfs_growfs /dev/centos/root 
#xfs文件系统逻辑卷只能在线扩容,不能在线缩减,做了缩减操作尽快从救援模式进行恢复;

2.5 缩容

xfs根分区缩容后容易导致系统奔溃,需进入救援模式恢复,xfs缩容后需重新格式化,原数据清空

#减少20G
lvreduce -L -20G /dev/test/lv_3
umount /data-3
mkfs.xfs -f /dev/test/lv_3
THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录