首页 > 代码库 > 增加和减小LV的容量以及创建快照卷

增加和减小LV的容量以及创建快照卷

1. 扩大LV的容量

扩大lv的容量不需要将文件系统卸载。

步骤如下:

A.使用fdisk设定具有8e system id的分区

B.利用pvcreate创建pv

C.利用vgextend将pv加入到vg里面扩容vg

D.利用lvresize将新加入的pv的pe加入到lv里面

E.通过resize2fs使文件系统的容量增加。


示例:

步骤1:将lv-01挂载到/backup目录下,并复制/etc/services到该文件系统中。

[root@Server3 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.9G  7.8G  1.6G  83% /
tmpfs                 245M     0  245M   0% /dev/shm
/dev/sda1             194M   28M  156M  16% /boot
/dev/mapper/DATA_01-lv--01
                      155M  5.6M  142M   4% /backup
[root@Server3 ~]# lvs
  LV    VG      Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  lv-01 DATA_01 -wi-ao-- 160.00m                                           
[root@Server3 ~]# cp /etc/services /backup/
[root@Server3 ~]# ls -l /backup/
total 638
drwx------ 2 root root  12288 Jul 17 02:10 lost+found
-rw-r--r-- 1 root root 641020 Jul 17 02:11 services
[root@Server3 ~]#


步骤2: 查看VG的容量

[root@Server3 ~]# vgdisplay 
  --- Volume group ---
  VG Name               DATA_01
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  17
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               2.00 GiB
  PE Size               32.00 MiB
  Total PE              64
  Alloc PE / Size       5 / 160.00 MiB
  Free  PE / Size       59 / 1.84 GiB
  VG UUID               tEVjly-icsW-Jin7-1Bmn-xil1-LvpP-3PQI5C
   
[root@Server3 ~]# vgs
  VG      #PV #LV #SN Attr   VSize VFree
  DATA_01   2   1   0 wz--n- 2.00g 1.84g
[root@Server3 ~]#

说明:

当前VG中还剩余1.84g的容量,如果没有多余的空间的话,需要使用pvcreate创建PV,并使用vgextend将PV加入到VG中去。


步骤3:扩容LV,这里将其扩容到500M左右

说明:这里讲采用增加PE的数量增加LV,在我的系统中,PE的大小为32M,原来的LV的大小为160M,如果要增加到500M的话,需要增加340M,340/32=10.625,这里增加11个PE。

具体操作:

[root@Server3 ~]# lvresize -l +11 /dev/DATA_01/lv-01 
  Extending logical volume lv-01 to 512.00 MiB
  Logical volume lv-01 successfully resized
[root@Server3 ~]# lvs
  LV    VG      Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  lv-01 DATA_01 -wi-ao-- 512.00m                                           
[root@Server3 ~]#


查看文件系统的容量:

[root@Server3 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.9G  7.8G  1.6G  83% /
tmpfs                 245M     0  245M   0% /dev/shm
/dev/sda1             194M   28M  156M  16% /boot
/dev/mapper/DATA_01-lv--01
                      155M  6.2M  141M   5% /backup
[root@Server3 ~]#

说明:文件系统的容量依然没有增加


步骤4:增加文件系统的容量。

指令:resize2fs /dev/vgname/lvname

[root@Server3 ~]# resize2fs /dev/DATA_01/lv-01 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/DATA_01/lv-01 is mounted on /backup; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/DATA_01/lv-01 to 524288 (1k) blocks.
The filesystem on /dev/DATA_01/lv-01 is now 524288 blocks long.
[root@Server3 ~]#


查看文件系统的容量:

[root@Server3 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.9G  7.8G  1.6G  83% /
tmpfs                 245M     0  245M   0% /dev/shm
/dev/sda1             194M   28M  156M  16% /boot
/dev/mapper/DATA_01-lv--01
                      496M  6.9M  464M   2% /backup
[root@Server3 ~]#

说明:文件系统的容量已经增加。


查看文件系统中的内容是否已经丢失:

[root@Server3 ~]# ls -l /backup/
total 638
drwx------ 2 root root  12288 Jul 17 02:10 lost+found
-rw-r--r-- 1 root root 641020 Jul 17 02:11 services
[root@Server3 ~]#

文件还在……






2. 减小LV的容量

如果要减小lv的容量做好能用图形化界面来做,如果不能使用图形化界面的话,需要严格的按照如下步骤进行,否则可能会损坏文件系统,图形化的LVM软件包为:system-config-lvm

步骤(必须严格执行):

A.对要减小容量的文件系统卸载。根文件系统是无法卸载的。

B.使用e2fsck –f检查lv的文件系统

C.使用resize2fs减小文件系统的大小。

resize2fs /dev/vg-name/lv-name <减小之后的大小>

D.减小LV的大小。lvreduce或lvresize这一步最好用PE的数量。


示例:

步骤1:先卸载文件系统

[root@Server3 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.9G  7.8G  1.6G  83% /
tmpfs                 245M     0  245M   0% /dev/shm
/dev/sda1             194M   28M  156M  16% /boot
/dev/mapper/DATA_01-lv--01
                      496M  6.9M  464M   2% /backup
[root@Server3 ~]# umount /backup/
[root@Server3 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.9G  7.8G  1.6G  83% /
tmpfs                 245M     0  245M   0% /dev/shm
/dev/sda1             194M   28M  156M  16% /boot
[root@Server3 ~]#


步骤2:检查文件系统

[root@Server3 ~]# e2fsck -f /dev/DATA_01/lv-01 
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/DATA_01/lv-01: 12/131072 files (0.0% non-contiguous), 23571/524288 blocks
[root@Server3 ~]#


步骤3:使用resize2fs减小文件系统的大小

说明:这里减小到50M

[root@Server3 ~]# resize2fs /dev/DATA_01/lv-01 50M
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/DATA_01/lv-01 to 51200 (1k) blocks.
The filesystem on /dev/DATA_01/lv-01 is now 51200 blocks long.
[root@Server3 ~]#


步骤4:减小LV的大小

说明:LV原先的大小是512M,现在减小到50M,减小了512-50=462M。

[root@Server3 ~]# lvresize -L -462M /dev/DATA_01/lv-01 
  Rounding size to boundary between physical extents: 448.00 MiB
  WARNING: Reducing active logical volume to 64.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv-01? [y/n]: y
  Reducing logical volume lv-01 to 64.00 MiB
  Logical volume lv-01 successfully resized
[root@Server3 ~]# lvs
  LV    VG      Attr     LSize  Pool Origin Data%  Move Log Copy%  Convert
  lv-01 DATA_01 -wi-a--- 64.00m                                           
[root@Server3 ~]#


步骤5:挂载测试数据是否还在

[root@Server3 ~]# mount /dev/DATA_01/lv-01 /backup/
[root@Server3 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.9G  7.8G  1.6G  83% /
tmpfs                 245M     0  245M   0% /dev/shm
/dev/sda1             194M   28M  156M  16% /boot
/dev/mapper/DATA_01-lv--01
                       49M  5.7M   41M  13% /backup
[root@Server3 ~]# ll /backup/
total 638
drwx------ 2 root root  12288 Jul 17 02:10 lost+found
-rw-r--r-- 1 root root 641020 Jul 17 02:11 services
[root@Server3 ~]#

数据还在……


3. 快照卷

快照可以保留改变数据前那一刻的数据,可以作为访问原数据中的另一个通道,快照卷不应该允许用户修改,应该创建为只读(-p r)的方式,如果要创建为读写的方式,可以指定-p w选项,创建快照为-s选项。

1. 快照卷的生命周期为整个数据时长,在该数据时长内,数据增长量不能超出快照卷的大小,如果超过的话,则快照卷会自我损毁。最安全的做法是快照卷和原卷一样大。

2. 快照卷为只读的。


创建快照:

指令:lvcreate -L 50M -n lv-snapshot -s -p r /dev/vgname/lvname

示例:

[root@Server3 backup]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.9G  7.8G  1.6G  83% /
tmpfs                 245M     0  245M   0% /dev/shm
/dev/sda1             194M   28M  156M  16% /boot
/dev/mapper/DATA_01-lv--01
                       49M  5.7M   41M  13% /backup
[root@Server3 backup]# lvcreate -L 50M -n lv-01-snap -p r /dev/DATA_01/lv-01 
  Volume group name expected (no slash)
  Run `lvcreate --help‘ for more information.
[root@Server3 backup]# lvcreate -L 50M -n lv-01-snap -s -p r /dev/DATA_01/lv-01 
  Rounding up size to full physical extent 64.00 MiB
  Logical volume "lv-01-snap" created
[root@Server3 backup]# lvs
  LV         VG      Attr     LSize  Pool Origin Data%  Move Log Copy%  Convert
  lv-01      DATA_01 owi-aos- 64.00m                                           
  lv-01-snap DATA_01 sri-a-s- 64.00m      lv-01    0.02                        
[root@Server3 backup]#


本文出自 “HeZhang” 博客,请务必保留此出处http://hezhang.blog.51cto.com/1347601/1439647