LVM 逻辑卷管理

==============================================================================

概述

  LVM是将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。

==============================================================================

LVM 相关术语

物理存储介质

  • 这里指系统的存储设备:硬盘,如:/dev/hda1,/dev/sda等等,是存储系统最底层的存储单元;

PV(物理卷):

  • 物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是 LVM 的基本存储逻辑块,但和基本的物理存储介质(如 分区,磁盘等)比较,却包含有与 LVM 相关的管理参数;

VG(卷组):

  • LVM 卷组类似于非 LVM 系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个 LVM 分区(逻辑卷),LVM 卷组由一个或多个物理卷组成;

LV(逻辑卷):

  • LVM 的逻辑卷类似于非 LVM 的系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如 /home 或者 /usr等)

PE(physical extent):

  • 每一个物理卷被划分为称为 PE 的基本单元,具有唯一编号的 PE 是可以被 LVM 寻址的最小单元,PE 的大小是可以配置的,默认为4MB;

LE(logical extent):

  • 逻辑卷也被换分为被称为 LE(logical extent)的可被寻址的基本单元,在同一个卷组中 LE 的大小和 PE 的大小是相同的,并且一一对应。

简单来说就是:

  • PV:是物理的磁盘分区

  • VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。

  • LV:也就是从VG中划分的逻辑分区

LVM 工作原理

 1.逻辑卷管理器

逻辑卷管理器

允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小;

可以在多个物理设备间重新组织文件系统

  • 将设备指定为物理卷PV;

  • 用一个或者多个物理卷来创建一个卷组VG;

  • 物理卷是用固定大小的物理区域(PE)来定义的;

  • 在卷组上创建的逻辑卷LV(由LE组成,实际上就是同一个卷组中的PE,一一对应)

可以在逻辑卷上创建文件系统

附图:

7.LVM 逻辑卷管理_LVM

 2.dm

dmdevice mapper

  • 将一个或多个底层块设备组织成一个逻辑设备的模块

设备名

  • /dev/dm-# (真正的设备文件)

软链接:

  • /dev/mapper/VG_NAME-LV_NAME (/dev/mapper/vol0-root)

  • /dev/VG_NAME/LV_NAME (/dev/vol0/root)

7.LVM 逻辑卷管理_LVM_02


注意:

  • 上面的两种软连接都可以表示真正的设备名,哪个方便用哪个,一般使用第二种

 2.LVM更改文件系统的容量:

LVM可以弹性的更改LVM的容量

  • 通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量

附图:

7.LVM 逻辑卷管理_LVM_03

LVM 的实现

 1.创建PV

与PV相关的管理工具:

7.LVM 逻辑卷管理_LVM_04

命令具体使用如下:

  • pvcreate:将实体partition创建成PV;

  • pvdisplay:显示出目前系统里面的PV状态;

  • pvs:简要PV信息显示;

  • pvscan:搜寻目前系统上面的任何具有PV的磁碟;

  • pvremore:将PV属性移除,让该partition不具有PV属性;

演示:

 1.与PV相关的一些命令有:

[root@CentOS6 ~]# pv
pvchange   pvck       pvcreate   pvdisplay  pvmove     pvremove   pvresize   pvs        pvscan     pv.sh 

# 显示其详细信息
[root@CentOS6 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2   # PV 名
  VG Name               vg0         # 所属卷组
  PV Size               60.00 GiB / not usable 8.00 MiB   # PV 大小
  Allocatable           yes         # 是否可分配
  PE Size               8.00 MiB    # PE 大小
  Total PE              7679        # 一共有多少个PE
  Free PE               1023        # 空闲多少个PE 
  Allocated PE          6656        # 已分配多少个PE
  PV UUID               gLbegn-wGEF-FIda-e5Ig-3HJ0-4vUg-v41pSd   # PV 自己的UUID

[root@CentOS6 ~]# pvs
  PV         VG   Fmt  Attr PSize  PFree
  /dev/sda2  vg0  lvm2 a--u 59.99g 7.99g


 2.创建PV具体步骤如下:

  1)先准备块设备,调整其id为8e;

[root@CentOS6 ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 85.9 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x77136fd1

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  8e  Linux LVM
/dev/sdb2            1307        2351     8393962+  8e  Linux LVM
/dev/sdb3            2352        3005     5253255   8e  Linux LVM
/dev/sdb4            3006       10443    59745735    5  Extended
/dev/sdb5            3006        3789     6297448+  8e  Linux LVM

 2)然后创建pv:pvcreate [-f] /dev/sdb{1,2,3,5}

[root@CentOS6 ~]# pvcreate /dev/sdb{1,2,3,5}
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdb2" successfully created
  Physical volume "/dev/sdb3" successfully created
  Physical volume "/dev/sdb5" successfully created

3)查看PV信息:pvdisplay [/dev/sdb{1,2,3,5}]

# 因为是刚刚创建的,所以还不属于任何卷组,所以没有信息状态
[root@CentOS6 ~]# pvdisplay /dev/sdb1
  "/dev/sdb1" is a new physical volume of "10.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               10.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               ZNXE1y-rOAW-ket1-Wlzl-Tckl-NqD7-v4lUYb

 

 2.创建卷组 VG

与VG相关的管理命令

7.LVM 逻辑卷管理_LVM_05

命令具体使用如下:

1)显示卷组

  • vgs:显示简要信息;

  • vgdisplay:显示详细信息;

2)创建卷组

  • vgcreate [-s #[kKmMgGtTpPeE] [卷组名] [物理设备]

3)管理卷组

  • vgextend:扩展卷组,在VG内添加额外的PV;

  • vgreduce:缩减卷组

4)删除卷组

  • 先做pvmove,再做 vgremove

创建步骤 

 1.新增一个vg,并指明其包含哪个或哪些pv实现;

[root@CentOS6 ~]# vgcreate myvg /dev/sdb1
  Volume group "myvg" successfully created

 2.查看vg信息及包含的pv信息

[root@CentOS6 ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               10.00 GiB
  PE Size               4.00 MiB
  Total PE              2560
  Alloc PE / Size       0 / 0   
  Free  PE / Size       2560 / 10.00 GiB
  VG UUID               DhKq9c-esRV-0uKq-AQlV-mrWx-A6de-41frUH
  
# 查看PV 的信息,可以看到之前创建PV 有信息了
 [root@CentOS6 ~]# pvdisplay /dev/sdb1
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               myvg
  PV Size               10.00 GiB / not usable 4.54 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              2560
  Free PE               2560
  Allocated PE          0
  PV UUID               ZNXE1y-rOAW-ket1-Wlzl-Tckl-NqD7-v4lUYb

 3.如果想增加VG的容量,进行如下操作: vgextend [卷组名] [pv名]

[root@CentOS6 ~]# vgextend myvg /dev/sdb2
  Volume group "myvg" successfully extended
[root@CentOS6 ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               18.00 GiB
  PE Size               4.00 MiB
  Total PE              4609
  Alloc PE / Size       0 / 0   
  Free  PE / Size       4609 / 18.00 GiB  # 由原来的10G变为18G,为/dev/sdb1与/dev/sdb2之和
  VG UUID               DhKq9c-esRV-0uKq-AQlV-mrWx-A6de-41frUH
   
[root@CentOS6 ~]# pvdisplay /dev/sdb2
  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               myvg
  PV Size               8.01 GiB / not usable 1.23 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              2049
  Free PE               2049
  Allocated PE          0
  PV UUID               QqoawY-wc0c-hv7E-gyuJ-KVXw-d5yu-7tfw5e

 4.如果要想把指定pv从卷组中移除,进行如下操作:

    首先,用pvmove命令把要移除pv中的数据转移到其他pv中

    然后,执行 vgreduce 命令,移除指定pv

# 注意:要从VG中移除pv之前,一定要把该PV中的数据移除到其他PV中,并确保其他PV中能够容纳
# 这些数据。因为这里是刚刚创建的所以显示没有数据,可直接从VG中移除
[root@CentOS6 ~]# pvmove /dev/sdb2
  No data to move for myvg

[root@CentOS6 ~]# vgreduce myvg /dev/sdb2
  Removed "/dev/sdb2" from volume group "myvg"

[root@CentOS6 ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               10.00 GiB  # 移除成功,发现VG 变小了
  PE Size               4.00 MiB
  Total PE              2560
  Alloc PE / Size       0 / 0   
  Free  PE / Size       2560 / 10.00 GiB
  VG UUID               DhKq9c-esRV-0uKq-AQlV-mrWx-A6de-41frUH

 

 3.创建逻辑卷 LV

与LV相关的管理命令

7.LVM 逻辑卷管理_LVM_06


命令具体使用如下:

1)显示逻辑卷

  • lvs

  • lvdisplay

2)创建逻辑卷

  • lvcreate -L #[mMgGtT] -n NAME VolumeGroup

3)删除逻辑卷

  • lvremove /dev/VG_NAME/LV_NAME

4)重设文件系统大小

  • fsadm [options] resize device [new_size[BKMGTEP]]

  • resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]


创建及使用步骤 

 1.在mvvg卷组中,创建一个新的逻辑卷LV,名称为mylv,并指明大小为2G;

# 创建逻辑卷,-L 指明大小,-n 指明逻辑卷名字,最后指明卷组
[root@CentOS6 ~]# lvcreate -L 2G -n mylv myvg
  Logical volume "mylv" created.
[root@CentOS6 ~]# ll /dev/mapper/
total 0
crw-rw---- 1 root root 10, 58 Feb 22 17:05 control
lrwxrwxrwx 1 root root      7 Feb 22 18:18 myvg-mylv -> ../dm-4  # 创建的逻辑卷
lrwxrwxrwx 1 root root      7 Feb 22 17:05 vg0-root -> ../dm-0
lrwxrwxrwx 1 root root      7 Feb 22 17:05 vg0-swap -> ../dm-1
lrwxrwxrwx 1 root root      7 Feb 22 17:05 vg0-usr -> ../dm-2
lrwxrwxrwx 1 root root      7 Feb 22 17:05 vg0-var -> ../dm-3

  2.对新创建的逻辑卷,创建文件系统(注意逻辑卷路径,两个都可以)

[root@CentOS6 ~]# mkfs.ext4 -L MYLV -b 1024 /dev/mapper/myvg-mylv 
mke2fs 1.41.12 (17-May-2010)
Filesystem label=MYLV
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 2097152 blocks
104857 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=69206016
256 block groups
8192 blocks per group, 8192 fragments per group
512 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553, 
	1024001, 1990657

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

 3.挂载

# 查看设备属性信息
[root@CentOS6 ~]# blkid /dev/mapper/myvg-mylv
/dev/mapper/myvg-mylv: LABEL="MYLV" UUID="7be26849-b0e5-43f5-87ab-ae46511c306c" TYPE="ext4" 

# 创建挂载点
[root@CentOS6 ~]# mkdir /testdir

# 挂载,这里注意文件路径,两者都可以
[root@CentOS6 ~]# mount /dev/myvg/mylv /testdir

[root@CentOS6 ~]# mount
/dev/mapper/vg0-root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/vg0-usr on /usr type ext4 (rw)
/dev/mapper/vg0-var on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/mapper/myvg-mylv on /testdir type ext4 (rw)  # 挂载成功

[root@CentOS6 testdir]# df -lh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   20G  1.9G   17G  11% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             190M   34M  147M  19% /boot
/dev/mapper/vg0-usr   9.8G  2.1G  7.2G  23% /usr
/dev/mapper/vg0-var    20G  471M   19G   3% /var
/dev/mapper/myvg-mylv
                      2.0G  3.1M  1.9G   1% /testdir  # 挂载成功,大小为2G

# 可以正常使用 
[root@CentOS6 ~]# cd /testdir/
[root@CentOS6 testdir]# ls
lost+found
[root@CentOS6 testdir]# cp /etc/fstab ./
[root@CentOS6 testdir]# ls
fstab  lost+found

扩展和缩减逻辑卷

 1.扩展逻辑卷

管理命令:

扩展物理便捷

  • # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME

扩展文件系统逻辑边界

  • # resize2fs /dev/VG_NAME/LV_NAME(只适用于ext系列的文件系统)

演示:

# 直接扩展逻辑卷到5G,也可以使用 +3G
[root@CentOS6 testdir]# lvextend -L 5G /dev/myvg/mylv 
  Size of logical volume myvg/mylv changed from 2.00 GiB (512 extents) to 5.00 GiB (1280 extents).
  Logical volume mylv successfully resized.

[root@CentOS6 testdir]# df -lh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   20G  1.9G   17G  11% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             190M   34M  147M  19% /boot
/dev/mapper/vg0-usr   9.8G  2.1G  7.2G  23% /usr
/dev/mapper/vg0-var    20G  471M   19G   3% /var
/dev/mapper/myvg-mylv
                      2.0G  3.1M  1.9G   1% /testdir  
# 发现还是之前的2G,这时因为扩展的只是物理可用空间,但物理可用空间上文件系统的可用空间
# 并没有随之扩展,还是创建文件系统时的大小,要想让文件系统也随之扩展到5G,就要使用resize2fs命令

[root@CentOS6 testdir]# resize2fs /dev/myvg/mylv # resize2fs后没有跟大小,就意味着扩展到可用的最大物理空间
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/myvg/mylv is mounted on /testdir; on-line resizing required
old desc_blocks = 8, new_desc_blocks = 20
Performing an on-line resize of /dev/myvg/mylv to 5242880 (1k) blocks.
The filesystem on /dev/myvg/mylv is now 5242880 blocks long.

[root@CentOS6 testdir]# df -lh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   20G  1.9G   17G  11% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             190M   34M  147M  19% /boot
/dev/mapper/vg0-usr   9.8G  2.1G  7.2G  23% /usr
/dev/mapper/vg0-var    20G  471M   19G   3% /var
/dev/mapper/myvg-mylv
                      4.9G  3.4M  4.7G   1% /testdir # 变为5G


 2.缩减逻辑卷

步骤如下:

1)首先必须先卸载文件系统

  • # umount/dev/VG_NAME/LV_NAME

2)强制做文件系统的检测和修复

  • # e2fsck -f /dev/VG_NAME/LV_NAME (针对ext系列的文件系统)

3)缩减逻辑边界(文件系统)到指定大小

  • # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT](缩减的是文件系统)

4)缩减物理边界

  • # lvreduce-L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME

5)挂载及使用

  • # mount

注意:

  • 缩减后的空间一定要能容纳现有数据所占空间大小

演示:

 1.首先卸载文件系统,并强制做文件系统检测和修复(必须检测,不能省略)

[root@CentOS6 ~]# umount /dev/myvg/mylv 
[root@CentOS6 ~]# e2fsck -f /dev/myvg/mylv
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
MYLV: 12/327680 files (0.0% non-contiguous), 119694/5242880 blocks

2.缩减逻辑边界(文件系统)到指定大小

[root@CentOS6 ~]# resize2fs /dev/myvg/mylv 3G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/myvg/mylv to 3145728 (1k) blocks.
The filesystem on /dev/myvg/mylv is now 3145728 blocks long.

3.缩减物理边界到指定大小

[root@CentOS6 ~]# lvreduce -L 3G /dev/myvg/mylv 
  WARNING: Reducing active logical volume to 3.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce myvg/mylv? [y/n]: y
  Size of logical volume myvg/mylv changed from 5.00 GiB (1280 extents) to 3.00 GiB (768 extents).
  Logical volume mylv successfully resized.

4.重新挂载使用

[root@CentOS6 ~]# mount /dev/myvg/mylv /testdir/

[root@CentOS6 ~]# df -lh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   20G  1.9G   17G  11% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             190M   34M  147M  19% /boot
/dev/mapper/vg0-usr   9.8G  2.1G  7.2G  23% /usr
/dev/mapper/vg0-var    20G  471M   19G   3% /var
/dev/mapper/myvg-mylv
                      3.0G  3.3M  2.8G   1% /testdir
                      
[root@CentOS6 ~]# cd /testdir/
[root@CentOS6 testdir]# ls
fstab  lost+found

快照 (snapshot)

 1.快照工作原理

工作原理

快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝

对于需要备份或者复制的现有数据集临时拷贝以及其它操作来说,快照是最合适的选择。

快照只有在它们和原来的逻辑卷不同时才会消耗空间。

  • 在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间;

  • 当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中;

  • 快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据;

  • 建立快照的卷大小只需要原始逻辑卷的15%~20%就够了。也可以使用lvextend放大快照。

快照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享。

由于快照区与原本的LV共用很多PE的区块,因此快照去与被快照的LV必须要要在同一个VG上!系统恢复的时候的文件数量不能高于快照区的实际容量。

附图:

7.LVM 逻辑卷管理_LVM_07

 2.快照的使用

步骤如下:

1)快照卷的创建

  • # lvcreate -s -L #[mMgGtT]  -n snapshot_lv_name  -p r original_lv_name

  • -s:指明为创建快照;

  • -L:指明快照卷大小

  • -n:快照卷的名字;

  • -p:指明权限,一般为只读权限

  • original_lv_name:原卷名称

2)查看快照卷

  • display 

3)挂载使用

演示:

 1.为现有逻辑卷创建快照,并查看其信息

[root@CentOS6 ~]# lvcreate -s -L 512M -n mylv_snap -p r /dev/myvg/mylv 
  Logical volume "mylv_snap" created.
  
[root@CentOS6 ~]# lvdisplay /dev/myvg/mylv_snap 
  --- Logical volume ---
  LV Path                /dev/myvg/mylv_snap
  LV Name                mylv_snap
  VG Name                myvg
  LV UUID                FCpSAD-ur03-K3mf-W2UO-qyxD-8bBd-MhX7sQ
  LV Write Access        read only
  LV Creation host, time CentOS6.localdomain, 2017-02-22 19:45:54 +0800
  LV snapshot status     active destination for mylv
  LV Status              available
  # open                 0
  LV Size                3.00 GiB   # 原卷大小
  Current LE             768
  COW-table size         512.00 MiB # 快照卷大小
  COW-table LE           128
  Allocated to snapshot  0.00%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:7


  2.挂载快照

[root@CentOS6 ~]# mkdir /testsnap
[root@CentOS6 ~]# mount /dev/myvg/mylv_snap /testsnap
mount: block device /dev/mapper/myvg-mylv_snap is write-protected, mounting read-only
[root@CentOS6 ~]# df -lh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   20G  1.9G   17G  11% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             190M   34M  147M  19% /boot
/dev/mapper/vg0-usr   9.8G  2.1G  7.2G  23% /usr
/dev/mapper/vg0-var    20G  471M   19G   3% /var
/dev/mapper/myvg-mylv
                      3.0G  3.3M  2.8G   1% /testdir
/dev/mapper/myvg-mylv_snap
                      3.0G  3.3M  2.8G   1% /testsnap

  3.测试

# cd 到快照卷中,可以看到原卷中的数据
[root@CentOS6 ~]# cd /testsnap/
[root@CentOS6 testsnap]# cat /etc/issue
[root@CentOS6 testsnap]# ls
fstab  lost+found
[root@CentOS6 testsnap]# cat fstab 

#
# /etc/fstab
# Created by anaconda on Sun Nov  6 11:54:11 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg0-root    /                       ext4    defaults        1 1
UUID=493db72e-4b0d-4e2a-82fa-5e002f0bd667 /boot                   ext4    defaults        1 2
/dev/mapper/vg0-usr     /usr                    ext4    defaults        1 2
/dev/mapper/vg0-var     /var                    ext4    defaults        1 2
/dev/mapper/vg0-swap    swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0


# 现在改变原卷中的文件 /testdir/fstab 中的数据,如下:
[root@CentOS6 ~]# cd /testdir/
[root@CentOS6 testdir]# ls
fstab  lost+found
[root@CentOS6 testdir]# vim fstab 

#
# /etc/fstab
# Created by anaconda on Sun Nov  6 11:54:11 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg0-root    /                       ext4    defaults        1 1
UUID=493db72e-4b0d-4e2a-82fa-5e002f0bd667 /boot                   ext4    defaults        1 2
/dev/mapper/vg0-usr     /usr                    ext4    defaults        1 2
/dev/mapper/vg0-var     /var                    ext4    defaults        1 2
/dev/mapper/vg0-swap    swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

NEW LINES IS TEXT  # 新添加一行

# 原卷中的数据已经发生改变,现在再看快照卷中的数据,发现还是原来的数据,并没有发生改变
[root@CentOS6 testdir]# cd /testsnap/
[root@CentOS6 testsnap]# pwd
/testsnap
[root@CentOS6 testsnap]# cat fstab 

#
# /etc/fstab
# Created by anaconda on Sun Nov  6 11:54:11 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg0-root    /                       ext4    defaults        1 1
UUID=493db72e-4b0d-4e2a-82fa-5e002f0bd667 /boot                   ext4    defaults        1 2
/dev/mapper/vg0-usr     /usr                    ext4    defaults        1 2
/dev/mapper/vg0-var     /var                    ext4    defaults        1 2
/dev/mapper/vg0-swap    swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

 4.把数据从快照卷中备份后,就可以删除快照了

# 首先取消快照卷的挂载
[root@CentOS6 ~]# umount /dev/myvg/mylv_snap 

# 然后删除快照卷
[root@CentOS6 ~]# lvremove /dev/myvg/mylv_snap
Do you really want to remove active logical volume mylv_snap? [y/n]: y
  Logical volume "mylv_snap" successfully removed

 5.如果所有的数据均已备份,不需要了,全部卸载

# 取消逻辑卷的挂载,并删除
[root@CentOS6 ~]# umount /dev/myvg/mylv 
[root@CentOS6 ~]# lvremove /dev/myvg/mylv
Do you really want to remove active logical volume mylv? [y/n]: y
  Logical volume "mylv" successfully removed

# 删除卷组(VG),在删除前确保数据已经备份,或者不需要了
[root@CentOS6 ~]# vgremove /dev/myvg
  Volume group "myvg" successfully removed

  [root@CentOS6 ~]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree
  vg0    1   4   0 wz--n- 59.99g 7.99g

# 最后删除 物理卷 PV   
[root@CentOS6 ~]# pvremove /dev/sdb{1,2,3,5}
  Labels on physical volume "/dev/sdb1" successfully wiped
  Labels on physical volume "/dev/sdb2" successfully wiped
  Labels on physical volume "/dev/sdb3" successfully wiped
  Labels on physical volume "/dev/sdb5" successfully wiped