CentOS 6.7 配置LVM (逻辑卷管理)

LVM 简介

LVM是逻辑盘卷组管理 (Logical Volume Manager) 的简称. LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性,在一定程度上解决普通磁盘分区带来空间不够使用的问题.

逻辑卷组管理概念

PV (Physical Volume) - 物理卷

物理卷在逻辑卷管理中的最低层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘或者raid设备

VG (Volume Group) - 卷组

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

LV (Logical Volume) - 逻辑卷

逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立以后可以动态地扩展和缩小空间.

LVM关系图如下:

CentOS 6.7 配置LVM (逻辑卷管理)

准备配置LVM

实验系统的版本为 CentOS6.7

首先检测系统中是否安装了 LVM管理工具

CentOS 6.7 配置LVM (逻辑卷管理)

在虚拟机中添加一块磁盘,作为练习LVM的专用硬盘

CentOS 6.7 配置LVM (逻辑卷管理)

继续在 /dev/sdb 硬盘上创建三个分区,类型为 Linux LVM. 可以

CentOS 6.7 配置LVM (逻辑卷管理)

{通过 t 命令 , 将指定分区分区调整为 8e (lvm)}

CentOS 6.7 配置LVM (逻辑卷管理)

开始创建 PV

# pvcreate /dev/sdb{5,6}

CentOS 6.7 配置LVM (逻辑卷管理)

创建完成后可以通过 # pvs #pvscan 查看简略信息  #pvdisplay 查看详细信息

# pvs

CentOS 6.7 配置LVM (逻辑卷管理)

# pvscan

CentOS 6.7 配置LVM (逻辑卷管理)

# pvdisplay

CentOS 6.7 配置LVM (逻辑卷管理)

创建 VG 卷组

创建名称为 myvg , 将 /dev/sdb5,/dev/sdb6 组合为一个

CentOS 6.7 配置LVM (逻辑卷管理)

创建 vg 卷组后也可以通过 # vgs # vgscan 查看简略信息  # vgdisplay 查看详细信息

# vgs

CentOS 6.7 配置LVM (逻辑卷管理)

# vgscan

CentOS 6.7 配置LVM (逻辑卷管理)

# vgdisplay

CentOS 6.7 配置LVM (逻辑卷管理)

创建 LV 卷组

# lvcreate –L 50M –n testlv myvg

在 myvg 卷组中,创建一个名称为 testlv 的逻辑卷组,大小为 50M

CentOS 6.7 配置LVM (逻辑卷管理)

# mkfs.ext4 /dev/myvg/testlv

将 /dev/myvg/testlv 格式化为 ext4 格式

CentOS 6.7 配置LVM (逻辑卷管理)

# mount /dev/myvg/testlv

格式化完成后,将 /dev/myvg/testlv 挂载,并查看

CentOS 6.7 配置LVM (逻辑卷管理)

# df –Th

CentOS 6.7 配置LVM (逻辑卷管理)

# vim /etc/fstab

将 testlv 设置为开机自动挂载

CentOS 6.7 配置LVM (逻辑卷管理)

LV 的扩容

# df –lh   查看当前逻辑卷的大小为 47M , 需要扩展空间到 1G

CentOS 6.7 配置LVM (逻辑卷管理)

首先扩展物理边界

在扩展 lv 之前,需要先确定 vg 有足够的空间

# vgs  查看当前 vg 的大小,可用

CentOS 6.7 配置LVM (逻辑卷管理)

# lvextend –L 1G /dev/myvg/testlv

-L 1G 表示为将 /dev/myvg/testlv 扩展到 1G

-L +1G 表示为将 /dev/myvg/testlv 添加 1G 的空间

CentOS 6.7 配置LVM (逻辑卷管理)

# lvs   查看 testlv 大小,物理边界扩展成功,此时若通过 # df –lh 命令查看  /dev/myvg/testlv , 会发现大小没有改变 , 所以还需要对文件系统进行扩容 (扩展逻辑边界)

CentOS 6.7 配置LVM (逻辑卷管理)

继续扩展逻辑边界

# resize2fs –p /dev/myvg/testlv

CentOS 6.7 配置LVM (逻辑卷管理)

# df –lh  查看 /dev/myvg/testlv 的大小 , 扩展完成

CentOS 6.7 配置LVM (逻辑卷管理)

LV 的缩减

# df –lh

首先需要查看将要缩减的 lv , 已经使用了多少空间 . 要确定缩减后的空间大于已经使用的空间

CentOS 6.7 配置LVM (逻辑卷管理)

# umount /mnt

缩减 lv 需要离线操作 , 则卸载

CentOS 6.7 配置LVM (逻辑卷管理)

# e2fsck –f /dev/myvg/testlv

强制检测文件系统的完整性

CentOS 6.7 配置LVM (逻辑卷管理)

# resize2fs /dev/myvg/testlv 30M

将 /dev/myvg/testlv 缩减至 30M

CentOS 6.7 配置LVM (逻辑卷管理)

# lvreduce –L 30M /dev/myvg/testlv

两个步骤的缩减大小必须保持一致.  -L 30M 表示将 testlv 缩减至30M. –L –30M 表示将 testlv 缩减 30M 的空间

CentOS 6.7 配置LVM (逻辑卷管理)

# mount /dev/myvg/testlv  挂载完成后,查看 testlv 的大小

CentOS 6.7 配置LVM (逻辑卷管理)

VG 的缩减

# pvs

CentOS 6.7 配置LVM (逻辑卷管理)

# umount /mnt   缩减 vg 的大小需要先卸载

CentOS 6.7 配置LVM (逻辑卷管理)

# pvmove  缩减 vg 就是移除 pv 的过程 , 需要提前将要移除的 pv 上的数据移动

如下图,将要移除 /dev/sdb5,那么先执行 pvmove /dev/sdb5 命令,将sdb5硬盘上的数据移动

CentOS 6.7 配置LVM (逻辑卷管理)

# vgreduce myvg /dev/sdb5

从 myvg 中挪走 /dev/sdb5 , 并且查看 /dev/sdb5 已经不属于 myvg 卷组

CentOS 6.7 配置LVM (逻辑卷管理)

# pvremove /dev/sdb5

将 /dev/sdb5 彻底移除

CentOS 6.7 配置LVM (逻辑卷管理)

VG 的扩容

# pvs

在当前系统中在添加一个 pv

CentOS 6.7 配置LVM (逻辑卷管理)

# pvcreate /dev/sdb7

将 /dev/sdb7 设置为 pv

CentOS 6.7 配置LVM (逻辑卷管理)

# vgextend myvg /dev/sdb7

CentOS 6.7 配置LVM (逻辑卷管理)

# pvs

通过 pvs 查看 , 添加成功

CentOS 6.7 配置LVM (逻辑卷管理)

创建快照卷  (可以在线创建,无需卸载)

lvcreate

-s  : 指明为创建快照卷

-p : 指明权限 r | w

注意 :

1. 生命周期为整个数据时长 : 在这段时长内,数据的增长不能超出快照卷大小.

2. 快照卷应该是只读的.

3. 跟原卷在同一卷组内.

当前挂载挂载后目录的内容如下

CentOS 6.7 配置LVM (逻辑卷管理)

CentOS 6.7 配置LVM (逻辑卷管理)

# lvcreate –L 50M –n testsnap –s –p r /dev/myvg/testlv

-L 50 M   指定快照大小最多为 50M

-s   指明为创建快照

-p r    指定为快照权限为 只读

-n    指定创建的快照名称为 testsnap

CentOS 6.7 配置LVM (逻辑卷管理)

# lvs       查看刚才创建的快照

CentOS 6.7 配置LVM (逻辑卷管理)

在 /mnt 目录下创建 a b c 三个文件

CentOS 6.7 配置LVM (逻辑卷管理)

# mount /dev/myvg/testsnap /tmp

将刚才创建的快照挂载到 /tmp 目录下查看,并没有后来创建的 a b c 三个文件,因为a b c文件是创建快照卷以后touch的

CentOS 6.7 配置LVM (逻辑卷管理)

# tar –zcf /root/testsnap.tar.gz *

将创建的快照挂载后,在挂载目录中所有文件打包备份

CentOS 6.7 配置LVM (逻辑卷管理)

# umount /tmp    # lvremove /dev/myvg/testsnap

卸载已经挂载的快照,并将其删除

CentOS 6.7 配置LVM (逻辑卷管理)

# rm –rf *

将 /mnt 下的所有文件删除,准备恢复数据

CentOS 6.7 配置LVM (逻辑卷管理)

# tar /root/testsnap.tar.gz –C /mnt

将备份好的数据指定路径,解压到 /mnt 下

CentOS 6.7 配置LVM (逻辑卷管理)

当原数据大于创建快照时指定的快照大小时,快照将会彻底失效.

上一篇:CentOS下LVM逻辑卷管理技术解释


下一篇:地址解析协议ARP