linux下lvm逻辑卷配置过程

####################1.linux存储管理方式##################################################

LVM全称为Logical Volume Manager逻辑卷管理器,LVMLinux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。可以使硬盘无限扩展。
PV(physical volume):物理卷。在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。 
VG(volume group):卷组。建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。 
LV(logical volume):逻辑卷。建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。 

PE(physical extent):物理区域。是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。 lvm=pe*n.

LE(logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。 

注意:linux下的文件系统需要挂载才可以使用,要将逻辑卷挂载。

卷组描述区域:卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中逻辑卷、逻辑卷中物理区域的分配等所有信息,它是在使用pvcreate建立物理卷时建立的。

                        linux下lvm逻辑卷配置过程_第1张图片

我们要创建逻辑卷,首先要创建物理卷PV,之后创建卷组VG,最后才创建逻辑卷LV。

######################2.lvm逻辑卷配置详情####################################

##(1)创建lvm逻辑卷#####################################

在创建管理之前,我们最好还原一下实验环境,以免在实验过程中才发现问题造成极大的麻烦。

这里我选择在server虚拟机里进行实验。

linux下lvm逻辑卷配置过程_第2张图片

下面我们就进入创建步骤:

(1) watch -n 1 'pvs;vgs;lvs;df -h /mnt' ##监控命令

(2) 打开另一个shell fdisk /dev/vdb ##建立三个分区,大小为1G并且标签改为8e

(3) partprobe ##手动同步分区

(4) pvcreate /dev/vdb1 ##创建物理卷

(5) vgcreate vg0 /dev/vdb1 ##创建物理卷组

(6) lvcreate -L 200M -n lv0 vg0 ##在卷组上创建名为lv0,大小为200的逻辑卷

(7)mkfs.xfs /dev/vg0/lv0 ##格式化逻辑卷

(8) mount /dev/vg0/lv0 /mnt/ ##挂载

linux下lvm逻辑卷配置过程_第3张图片

linux下lvm逻辑卷配置过程_第4张图片

##(2)lvm逻辑卷的扩容#####################################

逻辑卷的扩容又分为xfs系统中扩容和ext4系统中扩容;

xfs系统中扩容分为两种:vg足够扩容和vg不足扩容;

(1)vg足够扩容:

       lvextend -L 500M /dev/vg0/lv0 ##扩建逻辑卷大小为500M

xfs_growfs /dev/vg0/lv0 ##扩展挂载的文件系统

linux下lvm逻辑卷配置过程_第5张图片

linux下lvm逻辑卷配置过程_第6张图片

(2)vg不足扩容:

      当pv容量不够用时,可以添加pv

       pvcreate /dev/sdb2                 ##新建物理卷

      vgextend vg0 /dev/sdb2             ##扩大物理卷组  

      lvextend -L 1500M /dev/vg0/lv0     ##扩大设备

      xfs_growfs /dev/vg0/lv0            ##扩大文件系统

linux下lvm逻辑卷配置过程_第7张图片

linux下lvm逻辑卷配置过程_第8张图片

(3)ext4下的lvm扩容

[root@localhost ~]# umount /mnt ##先卸载

[root@localhost ~]# mkfs.ext4 /dev/vg0/lv0 ##格式化逻辑卷

[root@localhost ~]# mount /dev/vg0/lv0 /mnt/ ##挂载

[root@localhost ~]# lvextend -L 1800M /dev/vg0/lv0 ##增加逻辑卷空间

Extending logical volume lv0 to 1.76 GiB

Logical volume lv0 successfully resized

[root@localhost ~]# resize2fs /dev/vg0/lv0 ##更新逻辑卷信息

  linux下lvm逻辑卷配置过程_第9张图片

扩容后的结果:

       linux下lvm逻辑卷配置过程_第10张图片

##3.缩减lvm逻辑卷空间及vg缩减#############################

(1)缩减lvm逻辑卷空间

lvm逻辑卷的缩减只针对于ext4系统,xfs文件系统不支持缩减;

也就是说xfs文件系统只支持扩容,不能缩减;而ext4文件系统既可以扩容也可以缩减。

在ext4缩减的具体步骤:

[root@localhost ~]# umount /mnt                                 ##先卸载
[root@localhost ~]# e2fsck -f /dev/vg0/lv0                      ##扫描逻辑卷上的空余空间
[root@localhost ~]# resize2fs /dev/vg0/lv0 1000M                ##设备文件减少到1000M
[root@localhost ~]# mount /dev/vg0/lv0 /mnt                     ##挂载
[root@localhost ~]# lvreduce -L 1000M /dev/vg0/lv0              ##将逻辑卷减少到1000M

    linux下lvm逻辑卷配置过程_第11张图片

缩减之后结果:

   linux下lvm逻辑卷配置过程_第12张图片

(2)vg缩减(如果移除设备有数据,要迁移到空闲设备里)

[root@localhost ~]# pvmove /dev/vdb1 /dev/vdb2 ##将vdb1的空间数据转移到vdb2

/dev/vdb1: Moved: 88.0%

/dev/vdb1: Moved: 100.0% ##转移数据成功

[root@localhost ~]# vgreduce vg0 /dev/vdb1 ##将分区从vg0卷组中移除

Removed "/dev/vdb1" from volume group "vg0"

[root@localhost ~]# pvremove /dev/vdb1 ##把分区从系统中删除  

Labels on physical volume

"/dev/vdb1" successfully wiped

linux下lvm逻辑卷配置过程_第13张图片

注意:将vdb1的空间数据转移到vdb2时,要确保vdb2的足够的空间能将vdb1的数据转移,否则需要先将vdb1缩减。

##4.建立lvm快照#######################

使用的命令:

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

 ## -L大小,-n快照名字,-s 快照对象。

我们给刚创建的lv0创建快照。

步骤:

(1)先在lv0中建立10个文件;

cd /mnt、

touch file{1..10}

(2)建立一个50M的快照;(快照的大小只能小于余留大小,否则快照建立不成功

lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 50M:照片的大小

(3)挂载快照

mount /dev/vg0/lv0backup /mnt/

(4)查看是否有之前建立的文件

cd /mnt

ls

(5)删除

rm -fr *

cd

(6)卸载快照

umount /mnt/

(7)删除快照

lvremove /dev/vg0/lv0backup

(8)重新创建快照

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

(9)再次挂载快照,又可以查看到刚开始建立的文件

mount /dev/vg0/lv0backup /mnt/

ls /mnt/

linux下lvm逻辑卷配置过程_第14张图片




##5.删除lvm逻辑卷#######################

其实这一步很简单,就是创建lvm逻辑卷的逆操作;

[root@localhost ~]# umount /mnt ##卸载

[root@localhost ~]# df

[root@localhost ~]# lvremove /dev/vg0/lv0backup ##删除快照

[root@localhost ~]# lvremove /dev/vg0/lv0 ##删除逻辑卷

[root@localhost ~]# vgremove vg0 ##删除物理卷组

[root@localhost ~]# pvremove /dev/vdb{1..2} ##删除物理卷

linux下lvm逻辑卷配置过程_第15张图片

逻辑卷删除后结果:


总结:LVM逻辑卷是Linux里面一个很棒的空间使用机制,因为分区在没有格式化的情况下是没有办法加大或者放小的。通过LVM可以将你的磁盘空间做到灵活自如。

你可能感兴趣的:(运维,linux)