Linux LVM 逻辑卷管理器

1.分区和卷的区别是什么?    
1.什么是LVM?      
2.用途是什么?      
3.如何创建?      
4.如何管理?

卷:      
    “卷”是操作系统或应用程序用来存储数据的、可寻址的扇区的集合。      
    卷的使用有两种情况:      
        1. 将多个存储区域合并成一个存储卷:      
        2. 将一个存储区域划分成若干个独立的分区。      
    例如:我们可以将不同硬盘上的不同区域组合成一个跨区卷,从而使这几个不同的区域看来就像一个整体区域一样。      
    我们还可以把一个物理磁盘看做是一个物理卷,可以分成几个小的卷进行使用。


分区:      
    分区则是由基本磁盘上的连续扇区组成的。在很多情况下需要将磁盘分成若干个分区。

    参考:http://www.leichao.com/a/201407/Technical,000894.shtml


LVM:   
    LVM(Logic Volume Manager)将几个物理分区PV(Physical Volume)通过软件组合成一块独立的大磁盘VG(Volume Group)

    然后将这块大硬盘划分为可使用的分区LV(Logic Volume)

    如图:

    Linux LVM 逻辑卷管理器_第1张图片

    逻辑卷的创建过程:

    Linux LVM 逻辑卷管理器_第2张图片

用途:    
  LVM可以弹性调整文件系统的容量,LVM可以整合多个物理分区在一起,让这些分区看起来像一个磁盘一样。

创建:  
    1. 新建分区,以/dev/sdb为例(新硬盘),创建3个主分区,2个扩展分区,    
    并将两个扩展分区的partition's system id修改为8e(Linux LVM)
    fdisk /dev/sdb
    2.创建物理卷(将/dev/sdb的两个扩展分区组合创建物理卷)     
    pvcreate /dev/sdb{5,6}
    3.创建vg(volume group)    
    vgcreate mysqlvg /dev/sdb{5,6} 
    4.创建lv(logic volume)    
    lvcreate -L 20G -n mydata mysqlvg   
    5.格式化(文件系统类型:ext4,卷标:MYDATA,块大小:4096)     
    mke2fs -t ext4 -L MYDATA -b 4096 /dev/mysqlvg/mydata    
    6.挂载
    mount /dev/mysqlvg/mydata /mnt/lvm


扩大LV容量

    1.新建pv

    pvcreate /dev/sdb7

    2.将pv添加到vg中,用vgs查看将执行结果

    vgextend mysqlvg /dev/sdb7

    3.调整lv大小,PE大小通过vgdisplay查看

    lvresize -l +516 /dev/myvg/lvol0

    4.查看当前挂载文件大小,发现lv的大小以及改变,但文件系统的大小没有相应增加

    df -h /mnt/lvm

    5.调整文件系统大小

    resize2fs /dev/myvg/lvol0


缩小LV容量

    1.卸载lv

    umount /dev/myvg/lvol0

   2.检测文件系统

    e2fsck -f /dev/myvg/lvol0

    3.缩小lv大小为4G

    resize2fs /dev/myvg/lvol0 4G

    4.重新挂载,查看文件系统大小,发现已经改变了,但是lv的大小还没改变

    mount /dev/myvg/lvol0 /mnt/lvm

    df -h /mnt/lvm

    5.改变lv的大小到4G

    lvresize -L 4G /dev/myvg/lvol0

    6.将pv从vg中移除

    vgreduce vg1 /dev/sdb7

    7.移除pv

    pvremove /dev/sdb7