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 13:47
下一篇 2016-09-19 13:47

相关推荐

  • linux中用户、组和权限认识

    linux中用户、组和权限认识 Linux 用户和组的主要配置文件:/etc/passwd :用户及其属性信息( 名称、UID 、主组ID 等)                  …

    Linux干货 2017-02-23
  • 抵御DDOS攻击,iptables限制TCP连接和频率

    cc攻击一到就有点兵临城下的感觉,正确的设置防护规则可以做到临危不乱,这里给出一个iptables对ip进行连接频率和并发限制,限制单ip连接和频率的设置规则的介绍 #单个IP在60秒内只允许新建20个连接,这里假设web端口就是80, iptables -I  INPUT -i eth1 -p tcp -m tcp –dpo…

    系统运维 2016-05-08
  • 数据结构-线性表

    1. 线性表:n个数据元素的有序集合。 线性表是一种常用的数据结构。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。由于这些特殊线性表都具有各自的特性,因此,掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率都是至关重要的。  线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点…

    Linux干货 2015-04-07
  • bash基础特性(一)之命令历史,命令补存,路劲补存,命令行展开,命令执行状态结果和引用

    bash是Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell。 Bourne shell是一个早期的重要shell,由史蒂夫·伯恩在1978年前后编写,并同…

    2017-09-20
  • linux时间

    linux有两个时间:     系统时间和硬件时间 系统时间: 最简单的使用date命令显示当前系统的时间,命令行输入date。 # date Thu Jun  2 17:11:48 CST 2016 date的具体使用方式:     1. date格式显示:date …

    Linux干货 2016-06-03
  • vim文本编辑器之快捷键满天飞

    vim文本编辑器不同于nano的是其功能非常强大,强大的功能还支持各种快捷键,让我们编辑文本的时候更方便更快捷。 本文将会按照下图所展示的功能来对命令一一讲解,           打开文件:       &n…

    Linux干货 2016-08-11