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

相关推荐

  • MySQL存储过程中IN、OUT、INOUT参数使用

    MySQL存储过程中IN、OUT、INOUT参数使用 MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN、OUT、INOUT形式如:CREATE PROCEDURE([IN|OUT|INOUT] 参数名 数据类型,…) IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值。| 意思…

    Linux干货 2017-05-08
  • DNS基础及使用BIND搭建域名服务器

        本文主线是DNS服务相关概念和服务器搭建,在此之前了解一下域名这个东东很有其必要性,因为DNS服务就是应域名而生的。那么域名是什么哪?     域名     域名是用一串用点分开的字符串来表示的internet上的某一台或者一组计算机的名称,用于在数据传输时标识计算机的电子方位。举…

    Linux干货 2015-06-11
  • 马哥教育网络班22期+第三周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  who | tr -s [[:space:]] | cut -d" " -f1 | sort -u [root@localhost cdrom]# who root     pts/1     &…

    Linux干货 2016-09-07
  • linux运维

    linux运维大纲,学习路线图

    Linux干货 2017-10-21
  • vsphere虚拟机下的Linux在线移除硬盘后的报错处理(基于LVM)

    1)故障描述( vmware虚拟机,在线移除一块被设置为pv格式的硬盘后,提示unknown device错误): 说明:/dev/sdb1 /dev/sdc1 /dev/sdd1是组成/dev/vg_test/lvm_test的PV,这里我们模拟/dev/sdd1硬盘被直接断电了 [root@docker mnt]# pvdisplay…

    Linux干货 2016-07-29
  • RAID[Redundant Array of Independent Disks | 独立硬盘冗余阵列 ]

    前言 一个技术要知其然还要知其所以然 RAID 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列 RAID的基本思想 其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到…

    Linux干货 2016-05-20