首页 > 代码库 > LVM的原理与编程设置和基于lv的快照卷

LVM的原理与编程设置和基于lv的快照卷

LVM(logic volume manager)逻辑卷管理

当一个文件非常大时,普通磁盘分区不够用时,不能自由的在另一个磁盘写入文件。

因此这里引入逻辑卷,可以自由的增加磁盘分区,首先分成LV分为三个层次。

下面说这三个层次。

最底层是pv(physical volume)物理卷 

命令pvcreate /dev/sda{11,12}

   pvdisplay :会显示所有pv的信息。这里的每个分区的文件类型为LVM

   pvscan :会显示所有pv的。

   pvremove :移除pv.注意这里必须将上一层的vg移除之后才能移除。

   pvmove :移动pv

命令vgcreate VG_NAME /PTATH/TO/PV

    vgs:显示所有vg信息

    vgdisplay:显示信息

    vgremove:移除vg

    vgreduce VG_NAME PV_DERCTORY :移除某个vg的某个pv.注意在移除pv的时候把这个pV的PE移到其他盘区:pvmove /dev/sdb11.

    vgextend VG_NAME PV_DERCTORY :加上某个PV.

命令lvcreate -n LV_NAME -L #G VG_NAME 

    这个命令的是创建LV -n后面跟LV的name -L后面跟大小 VG_NAME表示LV在这个VG下面进行创建。

注意:LV在VG上创建,所以其大小一定不可以大于VG的大小。所以我们在对LV扩展时和对VG削减时,一定注意大小。

    LV创建好之后路径名自动设为/dev/VG_NAME/LV_NAME ;但是注意其实这个文件名是链接文件。

技术分享


这里可以看出LV有两个软链接文件指向了/dm-2.

     lv的其他命令

     lvs:显示所有lv

     lvscan:显示是否处于活跃状态。

     lvdisplay:展示详细信息。

扩展逻辑卷:

   因为lvm终究只是个分区,所以要想使用必须设置文件系统。

   所有就出现了一个问题,你在将LV进行扩展的同时,必须对文件系统的大小进行扩展。这样才能真正的扩大使用空间。

   命令1  lvextend -L [+]# /PATH/TO/LV  :-L后面有 +20M是在此基础之上加20M. 20M是扩展到20M.

   命令2  resize2fs -p /PATH/TO/LV :默认文件系统的所包含的大小与lv相同,也可以直接在后面加上大小。

   命令3  df -lh :这样用这个命令直接查看分区容量是否增加。

缩减逻辑卷★

   注意:

       1.必须卸载后再缩减,卸载后必须强行检测修复文件系统。

       2.确保缩减后的空间足够大,能够储存现有的大小。

   命令: 

      umount /PATH/TO/LV 

      e2fsck -f /dev/myvg/testlv

      resize2fs /dev/myvg/testlv 2G

      lvreduce -L [-]# /dev/myvg/testlv

快照卷

  快照卷是在LV的条件下 

   lvcreate -s -L 50M -n teslv-snap -p r /dev/myvg/testlv

  对这个lv进行快照;-s是必须加的。-L后面跟大小,-n后跟名字,-p跟r为只读mnt/test1.

   将创建的快照卷设置其文件系统 mke2fs -f /dev/myvg/testlv-snap

   mount /mnt/test1

   将其挂载在/mnt/test1.

   然后将其压缩归档

   tar -jcf /temp/mysnap.tar.bz2 /PATH/TO/file

   将/PATH/TO/file全部压缩到/temp/mysnap.tar.gz中。

   然后卸载。umount /mnt/test1

   lvremove /dev/myvg/testlv-snap

   .


   

本文出自 “别总差一点” 博客,请务必保留此出处http://ji123.blog.51cto.com/11333309/1937382

LVM的原理与编程设置和基于lv的快照卷