创建、管理LVM:

创建分区

Disk /dev/xvdc: 2147 MB, 2147483648 bytes255 heads, 63 sectors/track, 261 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0xd199e24a    Device Boot      Start         End      Blocks   Id  System/dev/xvdc1               1          65      522081   8e  Linux LVM /dev/xvdc2              66         104      313267+  8e  Linux LVM/dev/xvdc3             105         181      618502+  8e  Linux LVM

创建PV:

pvcreate  /path/to/device 创建物理卷

[root@VM_168_102_centos ~]# pvcreate /dev/xvdc{1,2,3}  Writing physical volume data to disk "/dev/xvdc1"  Physical volume "/dev/xvdc1" successfully created  Writing physical volume data to disk "/dev/xvdc2"  Physical volume "/dev/xvdc2" successfully created  Writing physical volume data to disk "/dev/xvdc3"  Physical volume "/dev/xvdc3" successfully created

pvs [ /path/to/pv_device ] 查看现有物理卷

[root@VM_168_102_centos ~]#   PV         VG   Fmt  Attr PSize   PFree    /dev/xvdc1      lvm2 a--  509.84m 509.84m  /dev/xvdc2      lvm2 a--  305.93m 305.93m  /dev/xvdc3      lvm2 a--  604.01m 604.01m[root@VM_168_102_centos ~]#   PV         VG   Fmt  Attr PSize   PFree    /dev/xvdc1      lvm2 a--  509.84m 509.84m

pvdisplay [ /path/to/pv_device ] 显示物理卷属性

[root@VM_168_102_centos ~]# pvdisplay /dev/xvdc1  "/dev/xvdc1" is a new physical volume of "509.84 MiB"  --- NEW Physical volume ---  PV Name               /dev/xvdc1    VG Name                                    PV Size               509.84 MiB    Allocatable           NO  PE Size               0      Total PE              0     Free PE               0   Allocated PE          0    PV UUID               sCID3E-GNNl-DoeW-BaLW-kuYj-fskV-RhLx8g

创建VG卷组:

vgcreate [-s SIZE] vg_name /path/to/pv_device

-s:指定PE大小,默认4MB

[root@VM_168_102_centos ~]# vgcreate -s 8 myvg /dev/xvdc{1,2}  Volume group "myvg" successfully created

vgs [ /path/to/vg_device ] 查看现有卷组

[root@VM_168_102_centos ~]# vgs  VG   #PV #LV #SN Attr   VSize   VFree    myvg   2   0   0 wz--n- 808.00m 808.00m

vgdisplay [ /path/to/vg_device ] 查看卷组属性

[root@VM_168_102_centos ~]# vgdisplay   --- Volume group ---  VG Name               myvg  System ID               Format                lvm2  Metadata Areas        2  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                2  Act PV                2  VG Size               808.00 MiB  PE Size               8.00 MiB  Total PE              101  Alloc PE / Size       0 / 0     Free  PE / Size       101 / 808.00 MiB  VG UUID               R35yt2-S4dp-M9oY-4O1d-1CqX-4CQd-t0TpB9

vgrename vg_name new_name 修改卷组名称

[root@VM_168_102_centos ~]# vgrename myvg testvg  Volume group "myvg" successfully renamed to "testvg"[root@VM_168_102_centos ~]# vgs  VG     #PV #LV #SN Attr   VSize   VFree    testvg   2   0   0 wz--n- 808.00m 808.00m

创建逻辑卷:

lvcreate –L size –n name  vg_name 创建逻辑卷

[root@VM_168_102_centos ~]# lvcreate -L 500M -n mylv /dev/myvg  Rounding up size to full physical extent 504.00 MiB  Logical volume "mylv" created

lvs [ /path/to/lv_device ] 查看现有逻辑卷

[root@VM_168_102_centos ~]# lvs  LV   VG   Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert  mylv myvg -wi-a--- 504.00m

lvdisplay [ /path/to/lv_device ] 查看逻辑卷属性

/path/to/lv_device[root@VM_168_102_centos ~]# lvdisplay   --- Logical volume ---  LV Path                /dev/myvg/mylv  LV Name                mylv  VG Name                myvg  LV UUID                nnelF1-sSxC-0A1l-IzLf-YqwL-djsy-lMeiTH  LV Write Access        read/write  LV Creation host, time VM_168_102_centos, 2014-08-24 16:12:08 +0800  LV Status              available  # open                 0  LV Size                504.00 MiB  Current LE             63  Segments               1  Allocation             inherit  Read ahead sectors     auto  - currently set to     256  Block device           253:7

讲mylv2逻辑据进行格式化挂载:

[root@VM_168_102_centos ~]# mke2fs 1.41.12 (17-May-2010)This filesystem will be automatically checked every 26 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.[root@VM_168_102_centos ~]# [root@VM_168_102_centos ~]# mount /dev/xvda1 on / type ext3 (rw,noatime,acl,user_xattr)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,mode=0620,gid=5)none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

将myvg剩余的空间分配200M给mylv2:

[root@VM_168_102_centos ~]# lvcreate -L 200M -n mylv2 /dev/myvg  Logical volume "mylv2" created[root@VM_168_102_centos ~]# lvs  LV    VG   Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert  mylv  myvg -wi-a--- 504.00m                                             mylv2 myvg -wi-a--- 200.00m                                           [root@VM_168_102_centos ~]# vgs  VG   #PV #LV #SN Attr   VSize   VFree    myvg   2   2   0 wz--n- 808.00m 104.00m

移除mylv2逻辑卷:

lvremove [ /path/to/lv_device ] 移除指定逻辑卷

[root@VM_168_102_centos ~]# lvremove /dev/myvg/mylv2Do you really want to remove active logical volume mylv2? [y/n]: y  Logical volume "mylv2" successfully removed[root@VM_168_102_centos ~]# lvs  LV   VG   Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert  mylv myvg -wi-a--- 504.00m

扩展卷组:

准备好要添加的物理卷

[root@VM_168_102_centos ~]# pvs  PV         VG   Fmt  Attr PSize   PFree    /dev/xvdc1 myvg lvm2 a--  504.00m      0   /dev/xvdc2 myvg lvm2 a--  304.00m 304.00m

向卷组中添加物理卷

vgextend vg_name /path/to/pv_device

[root@VM_168_102_centos ~]# vgextend /dev/myvg /dev/xvdc3  Volume group "myvg" successfully extended[root@VM_168_102_centos ~]# vgs  VG   #PV #LV #SN Attr   VSize VFree    myvg   3   1   0 wz--n- 1.38g 904.00m[root@VM_168_102_centos ~]# pvs  PV         VG   Fmt  Attr PSize   PFree    /dev/xvdc1 myvg lvm2 a--  504.00m      0   /dev/xvdc2 myvg lvm2 a--  304.00m 304.00m

缩减卷组

1、要移除的物理卷的总空间大小,要小于当前VG可用空间的大小

2、将要移除的PV上的数据移动至其他pv

pvmove 可以将一个PV上的数据迁移到新的PV上

[root@VM_168_102_centos ~]# pvmove /dev/xvdc2  No data to move for myvg

3、将要指定的PV从VG中移除

vgreduce 从卷组中删除物理卷

[root@VM_168_102_centos ~]# vgreduce /dev/myvg /dev/xvdc2  Removed "/dev/xvdc2" from volume group "myvg"[root@VM_168_102_centos ~]# pvs  PV         VG   Fmt  Attr PSize   PFree    /dev/xvdc1 myvg lvm2 a--  504.00m      0   /dev/xvdc2      lvm2 a--  305.93m 305.93m  /dev/xvdc3 myvg lvm2 a--  600.00m 600.00m[root@VM_168_102_centos ~]# vgs  VG   #PV #LV #SN Attr   VSize VFree    myvg   2   1   0 wz--n- 1.08g 600.00m

扩展逻辑卷:

1、确定要扩展的逻辑卷所属的卷组有足够的剩余空间

2、扩展物理边界(物理边界:我们对一个磁盘进行分区的分区边界)

lvextend 扩展逻辑卷空间

[root@VM_168_102_centos ~]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/xvda1            7.9G  2.2G  5.3G  30% //dev/mapper/myvg-mylv                      489M   31M  433M   7% /tmp/wanghan[root@VM_168_102_centos ~]# lvextend -L 700M /dev/myvg/mylv  Rounding size to boundary between physical extents: 704.00 MiB  Extending logical volume mylv to 704.00 MiB  Logical volume mylv successfully resized[root@VM_168_102_centos ~]# df -lhFilesystem            Size  Used Avail Use% Mounted on/dev/xvda1            7.9G  2.2G  5.3G  30% //dev/mapper/myvg-mylv                      489M   31M  433M   7% /tmp/wanghan

3、扩展逻辑边界(逻辑边界:我们格式化分区,建立文件系统后形成的分区边界)

resize2fs:文件系统大小调整工具

[root@VM_168_102_centos ~]# resize2fs /dev/myvg/mylvresize2fs 1.41.12 (17-May-2010)Filesystem at /dev/myvg/mylv is mounted on /tmp/wanghan; on-line resizing requiredold desc_blocks = 2, new_desc_blocks = 3Performing an on-line resize of /dev/myvg/mylv to 720896 (1k) blocks.The filesystem on /dev/myvg/mylv is now 720896 blocks long.[root@VM_168_102_centos ~]# df -lhFilesystem            Size  Used Avail Use% Mounted on/dev/xvda1            7.9G  2.2G  5.3G  30% /[root@VM_168_102_centos ~]# lvs  LV   VG   Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert

缩减逻辑卷(有风险,不推荐):

1、卸载卷,并执行强制检测

[root@VM_168_102_centos ~]# [root@VM_168_102_centos ~]# e2fsck 1.41.12 (17-May-2010)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/myvg/mylv: 1307/180224 files (0.2% non-contiguous), 54323/720896 blocks

2、先缩减逻辑边界

[root@VM_168_102_centos ~]# resize2fs 1.41.12 (17-May-2010)Resizing the filesystem on /dev/myvg/mylv to 409600 (1k) blocks.The filesystem on /dev/myvg/mylv is now 409600 blocks long.

3、再缩减物理边界

[root@VM_168_102_centos ~]#   WARNING: Reducing active logical volume to 400.00 MiB  THIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce mylv? [y/n]: y  Reducing logical volume mylv to 400.00 MiB  Logical volume mylv successfully resized[root@VM_168_102_centos ~]# lvs  LV   VG   Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert

快照卷:

1、生命周期为整个数据时长,在这段时长内,数据的增长量不能超出快照卷大小2、快照卷应该是只读的3、跟原卷在同一卷组内
[root@VM_168_102_centos ~]# lvcreate -s -L 50M -n snap-mylv -p r /dev/myvg/mylv  Rounding up size to full physical extent 56.00 MiB  Logical volume "snap-mylv" created[root@VM_168_102_centos ~]# lvs  LV        VG   Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert  mylv      myvg owi-a-s- 400.00m                                             snap-mylv myvg sri-a-s-  56.00m      mylv     0.00