lvm
   
    定义:
   
LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷(volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:”development”和”sales”,而不是使用物理磁盘名”sda”和”sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
    lvm术语:
   
*物理存储介质(PhysicalStorageMedia)
指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。
*物理卷(Physical Volume,PV)
指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
*卷组(Volume Group,VG)
类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
*逻辑卷(Logical Volume,LV)
类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
*物理块(Physical Extent,PE)
每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。
*逻辑块(Logical Extent,LE)
逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
    创建逻辑卷 pv-vg-lv
   
    操作:
   
    1 创建3个分区,将这三个分区变成物理卷
    
    2 然后在创建卷组
    
    3 从卷组中拿出空间成立逻辑卷
   
    
   
    
     1
    
    .root@desktop4 ~]# pvcreate /dev/vdb{3,5,6}
   
    
   
    pvs 查看物理卷
    
    
    
    已经创建好物理卷!
    
    
     2
    
    .
   
  [root@desktop4 ~]# vgcreate vg0 /dev/vdb{3,5,6}
  [root@desktop4 ~]# vgs      查看卷组
    VG   #PV #LV #SN Attr   VSize VFree
    vg0    3   0   0 wz--n- 4.99g 4.99g
3.
 [root@desktop4 ~]# lvcreate -n lv0 -L 1.5G vg0
                           指定名字  指定大小 来源
  Logical volume "lv0" created
  [root@desktop4 ~]# lvs   查看逻辑卷
  LV   VG   Attr       LSize Pool Origin Data%  Move Log  Cpy%Sync Convert
  lv0  vg0  -wi-a----- 1.50g  
    
   
以下三个文件其实是一个东西:
[root@desktop4 ~]# ll /dev/vg0/lv0 
lrwxrwxrwx. 1 root root 7 Nov  5 08:49 /dev/vg0/lv0 -> ../dm-1
[root@desktop4 ~]# ll /dev/mapper/vg0-lv0 
lrwxrwxrwx. 1 root root 7 Nov  5 08:49 /dev/mapper/vg0-lv0 -> ../dm-1
[root@desktop4 ~]# ll /dev/dm-1 
brw-rw----. 1 root disk 252, 1 Nov  5 08:49 /dev/dm-1
    
    
    
     逻辑卷要格式化才可以挂载
    
    
    mkfs.ext4 /dev/mapper/vg0-lv0 将逻辑卷格式化
    
    blkid 可以看一下是否成功格式化
    
    mkdir /lv/
    
    mount /dev/mapper/vg0-lv0 /lv/ 挂载到/lv/
    
    
    
    可以看到/dev/mapper/vg0-lv0挂载在/lv/
   
    逻辑卷的拉伸与缩减
   
    注意:
   
    逻辑卷时可以扩展和缩小的,载扩展和缩小之前, 都要先取消挂载
    
    ext格式 可以拉伸和缩减
    
    xfs格式 只可以拉神,不能缩减
   
    如何实现拉伸缩减?
   
    拉伸的时候先拉伸设备,再拉伸文件系统
    
    缩减的时候应该先缩减文件系统,载缩减设备
   
    
     具体操作
    
    :
   
    
     拉伸:lvextend 在前 resize2fs在后
    
    
    原来逻辑卷 /dev/vg0/lv0大小是1.5G
    
    1)
   
[root@desktop4 ~]# lvextend -L 2G /dev/vg0/lv0 
  Extending logical volume lv0 to 2.00 GiB
  Logical volume lv0 successfully resized
[root@desktop4 ~]# lvs
  LV   VG   Attr       LSize Pool Origin Data%  Move Log Cpy%Sync Convert
  lv0  vg0  -wi-ao---- 2.00g 
    
    
    设备已经拉伸,df -h 查看还是1.5G
    
    此时再拉伸文件系统
   
 [root@desktop4 ~]# resize2fs /dev/mapper/vg0-lv0
    
    
    df -h 查看是2G!
    
    代表拉伸成功!
    
    
     缩减: resize2fs在前 lvextend 在后
    
    
    将/dev/vg0/lv0缩减到1000M
   
      umount /lv/  取消挂载
     [root@desktop4 ~]# e2fsck -f /dev/vg0/lv0
     [root@desktop4 ~]# resize2fs /dev/vg0/lv0 1000M
     [root@desktop4 ~]# lvreduce -L 1000M /dev/vg0/lv0 
     lvs 查看
缩减文件系统resize2fs:
    
    
    缩减逻辑卷lvreduce:
   
    
    
    lvs查看是否成功:
    
    
    
    成功缩减到1000M!
   
    以上说的是ext格式,还有一中常见格式是xfs格式
   
    拉伸具体操作:
    
    
   
    如何删除逻辑卷 lv-vg-pv
   
1删除逻辑卷
.[root@desktop4 ~]# lvremove /dev/vg0/lv0 
Do you really want to remove active logical volume lv0? [y/n]: y
  Logical volume "lv0" successfully removed
  lvs 查看
2.删除卷组
[root@desktop4 ~]# vgremove vg0 
  Volume group "vg0" successfully removed
  vgs 查看
3.删除磁盘
[root@desktop4 ~]# pvremove /dev/vdb{3,5,6}
  Labels on physical volume "/dev/vdb3" successfully wiped
  Labels on physical volume "/dev/vdb5" successfully wiped
  Labels on physical volume "/dev/vdb6" successfully wiped
  pvs 查看