LVM 逻辑卷管理器-缩小LV容量及快照区的建立

LVM 逻辑卷管理器-缩小LV容量

将/dev/sdb2分区抽离出来,缩小LV容量

(1)首先查看/dev/sdb2的容量大小

[root@centos6 ~]# df -h /mnt/lvm/
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/vg_1-lv_1   20G  170M   19G   1% /mnt/lvm
[root@centos6 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               vg_1
  PV Size               5.01 GiB / not usable 10.13 MiB
  Allocatable           yes (but full)
  PE Size               16.00 MiB
  Total PE              320
  Free PE               0
  Allocated PE          320
  PV UUID               Mh3pG8-PHQG-Yexz-PYw0-Jtel-oBWb-lSBdG3
  ...以下省略...
  #从这里可以看出/dev/sdb2容量是5G,有320个PE
[root@centos6 ~]# pvscan
  PV /dev/sdb2   VG vg_1   lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb3   VG vg_1   lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb1   VG vg_1   lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb5   VG vg_1   lvm2 [5.00 GiB / 0    free]
  Total: 4 [20.00 GiB] / in use: 4 [20.00 GiB] / in no VG: 0 [0   ]

(2)直接降低文件系统的容量

[root@centos6 ~]# resize2fs /dev/vg_1/lv_1 15000M
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_1/lv_1 is mounted on /mnt/lvm; on-line resizing required
On-line shrinking from 5242880 to 3840000 not supported.
[root@centos6 ~]# df -h /mnt/lvm/
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/vg_1-lv_1   20G  170M   19G   1% /mnt/lvm
#查找文件系统变没有缩小,是因为增大LVM容量可以在线直接进行,缩小文件系统则无法支持,所以要先卸载/mnt/lvm,然后再缩小。
[root@centos6 ~]# umount /mnt/lvm/
[root@centos6 ~]# resize2fs /dev/vg_1/lv_1 15000M
resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/vg_1/lv_1' first.
#系统让我们执行“e2fsck -f /dev/vg_1/lv_1”命令进行磁盘检查
[root@centos6 ~]# e2fsck -f /dev/vg_1/lv_1 
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
/dev/vg_1/lv_1: 12/1310720 files (0.0% non-contiguous), 125586/5242880 blocks
[root@centos6 ~]# resize2fs /dev/vg_1/lv_1 15000M    #再执行一次resize2fs
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vg_1/lv_1 to 3840000 (4k) blocks.
The filesystem on /dev/vg_1/lv_1 is now 3840000 blocks long.
[root@centos6 ~]# mount /dev/vg_1/lv_1 /mnt/lvm
[root@centos6 ~]# df /mnt/lvm/
Filesystem            1K-blocks   Used Available Use% Mounted on
/dev/mapper/vg_1-lv_1  15117312 169460  14183840   2% /mnt/lvm
[root@centos6 ~]# df -h /mnt/lvm/
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/vg_1-lv_1   15G  166M   14G   2% /mnt/lvm
#查看文件系统容量已经变成15G

(3)降低LV的容量,抽离/dev/sdb2,它有320个PE

[root@centos6 ~]# lvresize -l -320 /dev/vg_1/lv_1 
  WARNING: Reducing active and open logical volume to 15.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_1? [y/n]: y
  Reducing logical volume lv_1 to 15.00 GiB
  Logical volume lv_1 successfully resized
[root@centos6 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg_1/lv_1
  LV Name                lv_1
  VG Name                vg_1
  LV UUID                n2bChT-rimu-eRDs-5onU-mgUF-ukuh-NqO7me
  LV Write Access        read/write
  LV Creation host, time centos6.5, 2016-09-09 19:04:37 +0800
  LV Status              available
  # open                 1
  LV Size                15.00 GiB
  Current LE             960
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
 #这样LV就成功缩小了,接下来就是将/dev/sdb2移出vg_1这个VG之外。

(4)先确认/dev/sdb2是否将PE都移除了;

[root@centos6 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               vg_1
  PV Size               5.01 GiB / not usable 10.13 MiB
  Allocatable           yes (but full)
  PE Size               16.00 MiB
  Total PE              320
  Free PE               0
  Allocated PE          320
  PV UUID               Mh3pG8-PHQG-Yexz-PYw0-Jtel-oBWb-lSBdG3
 ...中间省略...
  --- Physical volume ---
  PV Name               /dev/sdb5
  VG Name               vg_1
  PV Size               5.01 GiB / not usable 10.10 MiB
  Allocatable           yes 
  PE Size               16.00 MiB
  Total PE              320
  Free PE               320
  Allocated PE          0
  PV UUID               dAooQM-wYka-uR1v-Hccl-7HH1-ljTB-Yhjaif
 #没有被使用的PE竟然在/dev/sdb5,此时得要搬移PE;
[root@centos6 ~]# pvmove /dev/sdb2 /dev/sdb5
  /dev/sdb2: Moved: 0.0%
  /dev/sdb2: Moved: 13.8%
  /dev/sdb2: Moved: 27.8%
  /dev/sdb2: Moved: 41.6%
  /dev/sdb2: Moved: 55.6%
  /dev/sdb2: Moved: 66.9%
  /dev/sdb2: Moved: 81.2%
  /dev/sdb2: Moved: 94.7%
  /dev/sdb2: Moved: 100.0%
#pvmove 来源PV 目标PV,将/dev/sdb2内的PE通通移至/dev/sdb5;
[root@centos6 ~]# vgreduce vg_1 /dev/sdb2   #将/dev/sdb2移出vg_1中;
  Removed "/dev/sdb2" from volume group "vg_1"
[root@centos6 ~]# pvscan
  PV /dev/sdb3   VG vg_1            lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb1   VG vg_1            lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb5   VG vg_1            lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb2                      lvm2 [5.01 GiB]
  Total: 4 [20.01 GiB] / in use: 3 [15.00 GiB] / in no VG: 1 [5.01 GiB]
[root@centos6 ~]# pvremove /dev/sdb2    #删除/dev/sdb2 PV
  Labels on physical volume "/dev/sdb2" successfully wiped
[root@centos6 ~]# pvscan
  PV /dev/sdb3   VG vg_1   lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb1   VG vg_1   lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb5   VG vg_1   lvm2 [5.00 GiB / 0    free]
  Total: 3 [15.00 GiB] / in use: 3 [15.00 GiB] / in no VG: 0 [0   ]
#这样文件系统以及实际的LV与VG通通变小了,而且/dev/sdb2已经可以拿出来进行其他用途了;

5、LVM快照区的建立

由于快照区与原本的 LV 共享很多PE区块,因此快照区与被快照的LV必项要在同一个VG上。但是我们刚刚将/dev/sdb2移除vg_1了,目前vg_1剩下的容量为0!因此,在里面我们得要再加入/dev/sdb2 到vg_1后,才能继续建立快照区。

(1)查看vg_1还剩下多少容量

[root@centos6 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg_1
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  31
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               15.00 GiB
  PE Size               16.00 MiB
  Total PE              960
  Alloc PE / Size       960 / 15.00 GiB
  Free  PE / Size       0 / 0      #没有多余的PE可用
  VG UUID               NpO8m2-s4rx-WOIA-SbCt-yqQV-MU1w-wru4cS

(2)将/dev/sdb2加入到vg_1中;

[root@centos6 ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created
[root@centos6 ~]# vgextend vg_1 /dev/sdb2
  Volume group "vg_1" successfully extended
[root@centos6 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg_1
  System ID             
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  32
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               20.00 GiB
  PE Size               16.00 MiB
  Total PE              1280
  Alloc PE / Size       960 / 15.00 GiB
  Free  PE / Size       320 / 5.00 GiB    #多出了320个PE可用
  VG UUID               NpO8m2-s4rx-WOIA-SbCt-yqQV-MU1w-wru4cS

(4)利用lvcreate建立系统快照区,取名snaps,且给予100PE

[root@centos6 ~]# lvcreate -l 100 -s -n snaps /dev/vg_1/lv_1 
  Logical volume "snaps" created
# -s:选项代表是snapshot快照功能意思;
# -n:选项后面接快照的名称;
# /dev/vg_1/lv_1 则是被快照的LV完整的名称;
# -l:选项则是接使用多少个PE来作为这个快照区使用;
[root@centos6 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg_1/lv_1
  LV Name                lv_1
  VG Name                vg_1
  LV UUID                n2bChT-rimu-eRDs-5onU-mgUF-ukuh-NqO7me
  LV Write Access        read/write
  LV Creation host, time centos6.5, 2016-09-09 19:04:37 +0800
  LV snapshot status     source of
                         snaps [active]
  LV Status              available
  # open                 1
  LV Size                15.00 GiB    
  Current LE             960
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/vg_1/snaps
  LV Name                snaps
  VG Name                vg_1
  LV UUID                aCR4bc-n5ib-3iPW-la18-bQZL-EdJS-8f7lZD
  LV Write Access        read/write
  LV Creation host, time centos6.5, 2016-09-10 02:33:19 +0800
  LV snapshot status     active destination for lv_1
  LV Status              available
  # open                 0
  LV Size                15.00 GiB   #被快照的原LV磁盘容量
  Current LE             960    
  COW-table size         1.56 GiB   #快照区的实际容量 
  COW-table LE           100    #快照区占用的PE数量
  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:1
#这样/dev/vg_1/snaps快照区就被建立起来了!而且它的VG容量竟然与/dev/vg_1/lv_1容量相同,也就是说,如果挂载这个装置,看到的数量会跟原本/dev/vg_1/lv_1相同;
[root@centos6 ~]# mkdir /mnt/snapshot
[root@centos6 ~]# mount /dev/vg_1/snaps /mnt/snapshot/
[root@centos6 ~]# df -h
Filesystem              Size  Used Avail Use% Mounted on
/dev/sda3                16G  1.5G   14G  11% /
tmpfs                   112M     0  112M   0% /dev/shm
/dev/sda1               194M   29M  155M  16% /boot
/dev/mapper/vg_1-lv_1    15G  166M   14G   2% /mnt/lvm
/dev/mapper/vg_1-snaps   15G  166M   14G   2% /mnt/snapshot

原创文章,作者:zhuckee,如若转载,请注明出处:http://www.178linux.com/47592

(2)
zhuckeezhuckee
上一篇 2016-09-19
下一篇 2016-09-19

相关推荐

  • 用户权限管理及课后作业

    一.权限对目录、文件的意义 文件 r 可用文件查看类工具获取文件内容 w 可以修改文件内容(包括清空) x 可执行该文件 [root@localhost testdir]# cat zzz i am fine  thank you [root@localhost testdir]…

    Linux干货 2016-08-08
  • 设定Linux自动登陆

    设定Linux自动登陆 在实验场景中我们可能会经常重新启动Linux,然后反复输入账户密码登陆。为了在每次启动后快速进入系统减少在实验场景中不必要的工作,我们可以设定Linux在启动后自动登陆到指定账户(实验中一般为root账户)。基于Linux一切皆文件的思想,我们可以通过修改配置文本的方式决定是否启用自动登录,以及自动登录的账户是普通用户账户还是root…

    Linux干货 2017-07-15
  • 细说CP使用

    cp详细用法和常用选项

    Linux干货 2017-11-26
  • 千万不要把 bool 设计成函数参数

    我们有很多Coding Style 或 代码规范。但这一条可能会经常被我们所遗忘,就是我们经常会在函数的参数里使用bool参数,这会大大地降低代码的可读性。不信?我们先来看看下面的代码。 当你读到下面的代码,你会觉得这个代码是什么意思? widget->repaint(false); 是不要repaint吗?还是别的什么意思?看了文档后,我们才知道这个…

    Linux干货 2016-07-10
  • Linux下/proc目录详解

    Linux下/proc目录详解 proc目录总的概述 proc下有关进程的目录概述 proc下针对Linux系统相关的参数目录概述 /proc目录总的概述 1.首先,我们可以使用ll命令查看下/proc目录,如下 [root@centos6 ~]# ls -l /proc total 0 dr-xr-xr-x. 8 root root 0 May 19 04…

    Linux干货 2017-05-20
  • 用户管理

    用户管理 用户通过uid来识别,用户的uid是全局唯一,Linux用户分三大类: 用户类别可以分为 管理员 系统用户 普通用户 ——管理员的id为0,系统用户的id为1-499,一般用户的id为500- 组也是一样(centos6.9和centos7.3 id编号有所不同)上述是centos6.9的id编号。 管理员账户:root,可…

    2017-06-01