lvresize 调整LVM逻辑卷的空间大小,可以增大空间和缩小空间

lvresize

 
lvresize指令:调整逻辑卷空间大小

【语    法】lvresize [选项] [参数]

【功能介绍】lvresize指令用于调整LVM逻辑卷的空间大小,可以增大空间和缩小空间。

主要参数

-L 指定逻辑卷的大小,单位为“kKmMgGtT”字节
-l 指定逻辑卷的大小(LE数)
--------------------------------------------------------------------------------------------

磁盘信息

[root@www ~]# fdisk -l
Disk /dev/hda: 41.1 GB, 41174138880 bytes
255 heads, 63 sectors/track, 5005 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux
/dev/hda3            1289        1925     5116702+  83  Linux
/dev/hda4            1926        5005    24740100    5  Extended
/dev/hda5            1926        2052     1020096   82  Linux swap / Solaris
/dev/hda6            2053        2235     1469916   8e  Linux LVM
/dev/hda7            2236        2418     1469916   8e  Linux LVM
/dev/hda8            2419        2601     1469916   8e  Linux LVM
/dev/hda9            2602        2784     1469916   8e  Linux LVM

LV阶段,逻辑卷操作

[root@www ~]# pvscan   #有三个 PV 被用去,剩下一个 /dev/hda9 的 PV 沒被用掉!
  PV /dev/hda6   VG vbirdvg   lvm2 [1.39 GB / 1.39 GB free]
  PV /dev/hda7   VG vbirdvg   lvm2 [1.39 GB / 1.39 GB free]
  PV /dev/hda8   VG vbirdvg   lvm2 [1.39 GB / 1.39 GB free]
  PV /dev/hda9                lvm2 [1.40 GB]
  Total: 4 [5.57 GB] / in use: 3 [4.17 GB] / in no VG: 1 [1.40 GB]

[root@www ~]# vgdisplay         # 最后那三行指的就是 PE 能够使用的情況!由于尚未切出 LV,因此所有的 PE均可自由使用。
  --- Volume group ---
  VG Name               vbirdvg
  System ID
  Format                lvm2
  Metadata Areas        3
  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                3
  Act PV                3
  VG Size               4.17 GB     #整个 VG 容量就这么大
  PE Size               16.00 MB    #內部每个 PE 的大小
  Total PE              267         #总共的 PE 数量!
  Alloc PE / Size       0 / 0
  Free  PE / Size       267 / 4.17 GB
  VG UUID               4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO


[root@www ~]# lvcreate -l 356 -n vbirdlv vbirdvg    #将整个 vbirdvg 通通分配給 vbirdlv 啊,要注意, PE 共有 356 个
  Logical volume "vbirdlv" created

[root@www ~]# ll /dev/vbirdvg/vbirdlv 
lrwxrwxrwx 1 root root 27 Mar 11 16:49 /dev/vbirdvg/vbirdlv -> /dev/mapper/vbirdvg-vbirdlv  # 看见了沒有啊!这就是我们最重要的一步


[root@www ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vbirdvg/vbirdlv  #LV逻辑卷的名字
  VG Name                vbirdvg
  LV UUID                8vFOPG-Jrw0-Runh-ug24-t2j7-i3nA-rPEyq0
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                5.56 GB               #LV的大小
  Current LE             356
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

格式化逻辑卷,并且挂载

 

[root@www ~]# mkfs -t ext3 /dev/vbirdvg/vbirdlv    #格式化

[root@www ~]# mkdir /mnt/lvm

[root@www ~]# mount /dev/vbirdvg/vbirdlv /mnt/lvm  #挂载目录

[root@www ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda2              9920624   3858984   5549572  42% /
/dev/hda3              4956316   1056996   3643488  23% /home
/dev/hda1               101086     21408     74459  23% /boot
tmpfs                   371332         0    371332   0% /dev/shm
/dev/mapper/vbirdvg-vbirdlv
                       5741020    142592   5306796   3% /mnt/lvm

增加 LV 容量

[root@www ~]# fdisk -l   
   Device Boot      Start         End      Blocks   Id  System
....(中间省略)....
/dev/hda10           2785        3150     2939863+  8e  Linux LVM   #增加一下lvm /dev/hda10

[root@www ~]# pvcreate /dev/hda10   建立新的 PV
  Physical volume "/dev/hda10" successfully created
  
[root@www ~]# pvscan     #查看PG物理卷
  PV /dev/hda6    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda7    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda8    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda9    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda10                lvm2 [2.80 GB]              # 可以看到 /dev/hda10 是新加入,尚未使用
  Total: 5 [8.37 GB] / in use: 4 [5.56 GB] / in no VG: 1 [2.80 GB]

[root@www ~]# vgextend vbirdvg /dev/hda10   #加大 VG ,利用 vgextend 功能
  Volume group "vbirdvg" successfully extended
  
[root@www ~]# vgdisplay     #查看VG逻辑卷组
  --- Volume group ---
  VG Name               vbirdvg
  System ID
  Format                lvm2
  Metadata Areas        5
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                5
  Act PV                5
  VG Size               8.36 GB
  PE Size               16.00 MB
  Total PE              535
  Alloc PE / Size       356 / 5.56 GB
  Free  PE / Size       179 / 2.80 GB
  VG UUID               4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO


[root@www ~]# lvresize -l +179 /dev/vbirdvg/vbirdlv   #利用 lvresize 的功能來增加LV
  Extending logical volume vbirdlv to 8.36 GB
  Logical volume vbirdlv successfully resized

[root@www ~]# lvdisplay       #显示LV逻辑卷
  --- Logical volume ---
  LV Name                /dev/vbirdvg/vbirdlv
  VG Name                vbirdvg
  LV UUID                8vFOPG-Jrw0-Runh-ug24-t2j7-i3nA-rPEyq0
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                8.36 GB
  Current LE             535
  Segments               5
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

[root@www ~]# df /mnt/lvm     #查看大小
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vbirdvg-vbirdlv
                       5741020    261212   5188176   5% /mnt/lvm

[root@www ~]# resize2fs /dev/vbirdvg/vbirdlv   #LV分区重设大小
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/vbirdvg/vbirdlv is mounted on /mnt/lvm; on-line resizing 
Performing an on-line resize of /dev/vbirdvg/vbirdlv to 2191360 (4k) blocks.
The filesystem on /dev/vbirdvg/vbirdlv is now 2191360 blocks long.

减小 LV 容量

[root@www ~]# umount /mnt/lvm    #取消挂载

[root@www ~]# e2fsck -f /dev/vbirdvg/vbirdlv  #磁盘检测
e2fsck 1.39 (29-May-2006)
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/vbirdvg/vbirdlv: 2438/1087008 files (0.1% non-contiguous), 

[root@www ~]# resize2fs /dev/vbirdvg/vbirdlv 6900M  #重设大小
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vbirdvg/vbirdlv to 1766400 (4k) blocks.
The filesystem on /dev/vbirdvg/vbirdlv is now 1766400 blocks long.

[root@www ~]# mount /dev/vbirdvg/vbirdlv /mnt/lvm  #挂载LVM

[root@www ~]# df /mnt/lvm
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vbirdvg-vbirdlv
                       6955584    262632   6410328   4% /mnt/lvm

[root@www ~]# lvresize -l -89 /dev/vbirdvg/vbirdlv      #降低 LV 的容量
  WARNING: Reducing active and open logical volume to 6.97 GB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
  Do you really want to reduce vbirdlv? [y/n]: y
  Reducing logical volume vbirdlv to 6.97 GB
  Logical volume vbirdlv successfully resized
  
[root@www ~]# lvdisplay       #查看lv逻辑卷信息
  --- Logical volume ---
  LV Name                /dev/vbirdvg/vbirdlv
  VG Name                vbirdvg
  LV UUID                8vFOPG-Jrw0-Runh-ug24-t2j7-i3nA-rPEyq0
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                6.97 GB
  Current LE             446
  Segments               5
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
  
[root@www ~]# pvdisplay      #先确认 /dev/hda6 是否將 PE 都移除了
  --- Physical volume ---
  PV Name               /dev/hda6
  VG Name               vbirdvg
  PV Size               1.40 GB / not usable 11.46 MB
  Allocatable           yes (but full)
  PE Size (KByte)       16384
  Total PE              89
  Free PE               0
  Allocated PE          89
  PV UUID               Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN
....(中間省略)....

  --- Physical volume ---
  PV Name               /dev/hda10
  VG Name               vbirdvg
  PV Size               2.80 GB / not usable 6.96 MB
  Allocatable           yes
  PE Size (KByte)       16384
  Total PE              179
  Free PE               89   
  Allocated PE          90
  PV UUID               7MfcG7-y9or-0Jmb-H7RO-5Pa5-D3qB-G426Vq

[root@www ~]# pvmove /dev/hda6 /dev/hda10  #將 /dev/hda6 內的 PE 移动到 /dev/hda10

[root@www ~]# vgreduce vbirdvg /dev/hda6   #將 /dev/hda6从vbirdvg 移出
  Removed "/dev/hda6" from volume group "vbirdvg"

[root@www ~]# pvscan
  PV /dev/hda7    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda8    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda9    VG vbirdvg   lvm2 [1.39 GB / 0    free]
  PV /dev/hda10   VG vbirdvg   lvm2 [2.80 GB / 0    free]
  PV /dev/hda6                 lvm2 [1.40 GB]
  Total: 5 [8.37 GB] / in use: 4 [6.97 GB] / in no VG: 1 [1.40 GB]

[root@www ~]# pvremove /dev/hda6    #移出物理卷hda6
  Labels on physical volume "/dev/hda6" successfully wiped

快照区的建立

[root@www ~]# vgdisplay       #查看VG容量
  --- Volume group ---
  VG Name               vbirdvg
....(其他省略)....
  VG Size               6.97 GB
  PE Size               16.00 MB
  Total PE              446
  Alloc PE / Size       446 / 6.97 GB
  Free  PE / Size       0 / 0  

[root@www ~]# pvcreate /dev/hda6    #创建PV物理卷
  Physical volume "/dev/hda6" successfully created
  
[root@www ~]# vgextend vbirdvg /dev/hda6    #将刚刚移除的 /dev/hda6 加入這個 VG
  Volume group "vbirdvg" successfully extended
  
[root@www ~]# vgdisplay    #查看VG
  --- Volume group ---
  VG Name               vbirdvg
....(其他省略)....
  VG Size               8.36 GB
  PE Size               16.00 MB
  Total PE              535
  Alloc PE / Size       446 / 6.97 GB
  Free  PE / Size       89 / 1.39 GB   #多出了 89 个 可用PE

[root@www ~]# lvcreate -l 60 -s -n vbirdss /dev/vbirdvg/vbirdlv    #利用 lvcreate 建立系统快照区,命名为vbirdss,且经于 60 个 PE
  Logical volume "vbirdss" created

[root@www ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vbirdvg/vbirdss
  VG Name                vbirdvg
  LV UUID                K2tJ5E-e9mI-89Gw-hKFd-4tRU-tRKF-oeB03a
  LV Write Access        read/write
  LV snapshot status     active destination for /dev/vbirdvg/vbirdlv
  LV Status              available
  # open                 0
  LV Size                6.97 GB    #原LV的大小
  Current LE             446
  COW-table size         960.00 MB  #新建快照区的实际大小
  COW-table LE           60         #快照区占有的PE
  Allocated to snapshot  0.00%
  Snapshot chunk size    4.00 KB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

[root@www ~]# mkdir /mnt/snapshot
[root@www ~]# mount /dev/vbirdvg/vbirdss /mnt/snapshot
[root@www ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda2              9920624   3859032   5549524  42% /
/dev/hda3              4956316   1056996   3643488  23% /home
/dev/hda1               101086     21408     74459  23% /boot
tmpfs                   371332         0    371332   0% /dev/shm
/dev/mapper/vbirdvg-vbirdlv
                       6955584    262632   6410328   4% /mnt/lvm        #二个一样
/dev/mapper/vbirdvg-vbirdss
                       6955584    262632   6410328   4% /mnt/snapshot   #二个一样

 

--------------------------------------------------------------------

开源是一种精神,分享是 一种美德。

posted @ 2018-12-28 10:30  香菜哥哥  阅读(4835)  评论(0编辑  收藏  举报