LVM2学习总结

LVM2(Logical Volume Manager 2)

原理:

将底层的物理硬盘抽象地封装起来,以逻辑卷的方式呈现给上层应用,但对于文件系统而言,对LVM的操作与对硬盘分区的操作并无差别。

实现基础:

Linux内核的Device mapper机制,将一个或多个底层块设备组织成一个逻辑设备

LVM2学习总结

基本元素:

  • PP(Physical Partition):物理分区,如硬盘的分区、RAID磁盘阵列

  • PV(Physical Volume):是对底层磁盘的抽象层,是组成VG的基本逻辑单元

  • PE(Physical Extends):物理扩展单元,是PV的基本划分单元

  • VG(Volume Group):卷组,由PV组成,是LVM的存储池

  • LE(Logical Extends):逻辑扩展单元,是LV的基本组成单元,与PE一一对应

  • LV(Logical Volume):逻辑卷,位于VG之上,文件系统之下

优缺点

优点:

  • 可以实现对上层文件系统的动态扩展

  • 突破磁盘限制,文件系统可以跨度多个物理磁盘

  • 可以实现以镜像方式冗余数据到多个物理磁盘

  • 可以实现对卷组的导出和导入

缺点

  • 当卷组中的物理磁盘损坏是,会引起整个卷组故障

  • 从卷组中移除物理磁盘时必须使用reducevg,否则会出问题

  • 仅支持有限个文件系统的缩减操作

  • 因加入额外操作,存储性能将受到影响

设备文件

/dev/mapper/VGNAME-LVNAME –> /dev/dm-# /dev/VGNAME/LVNAME –> /dev/dm-#

创建LVM逻辑卷:物理磁盘–>PV–>VG–>LV–>格式化

  1. 将物理磁盘创建为PV

    [root@CentOS7 ~]# pvcreate /dev/sdb1 //--> pvcreate /dev/DEVICE 创建PV
    WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
      Wiping ext4 signature on /dev/sdb1.
      Physical volume "/dev/sdb1" successfully created
    [root@CentOS7 ~]# pvs /dev/sdb1 //--> pvs 查看当前PV的信息
      PV         VG   Fmt  Attr PSize  PFree 
      /dev/sdb1       lvm2 ---  10.00g 10.00g
    [root@CentOS7 ~]# pvdisplay /dev/sdb1 //--> pvdisplay 查看PV的详细信息
      "/dev/sdb1" is a new physical volume of "10.00 GiB"
      --- NEW Physical volume ---
      PV Name               /dev/sdb1
      VG Name               
      PV Size               10.00 GiB
      Allocatable           NO
      PE Size               0   
      Total PE              0
      Free PE               0
      Allocated PE          0
      PV UUID               iqzxgD-TV0Z-j8qF-cBD9-qk2v-EQJc-KJc1X6
  2. 创建VG

    [root@CentOS7 ~]# vgcreate test /dev/sdb1 //-->vgcreate [-s #[kKmMgGtTpPeE]] VG_NAME PhysicalDevicePath 创建VG
      Volume group "test" successfully created
    [root@CentOS7 ~]# vgs //-->vgs 查看VG的信息
      VG     #PV #LV #SN Attr   VSize  VFree 
      centos   1   2   0 wz--n- 19.51g 40.00m
      test     1   0   0 wz--n- 10.00g 10.00g
    [root@CentOS7 ~]# vgdisplay test//-->查看VG的详细信息
      --- Volume group ---
      VG Name               test
      System ID             
      Format                lvm2
      Metadata Areas        1
      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                1
      Act PV                1
      VG Size               10.00 GiB
      PE Size               4.00 MiB
      Total PE              2559
      Alloc PE / Size       0 / 0   
      Free  PE / Size       2559 / 10.00 GiB
      VG UUID               KBNCQ1-fT34-5VPp-FFUX-tz7I-NpPL-m2AZu1
  3. 创建LV

    [root@CentOS7 ~]# lvcreate -L 2G -n hello test //-->lvcreate -L #[mMgGtT] -n NAME VolumeGroup 创建LV
      Logical volume "hello" created.                                                    
    [root@CentOS7 ~]# lvs /dev/test/hello //-->lvs 查看LV信息
      LV    VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      hello test -wi-a----- 2.00g                                                    
    [root@CentOS7 ~]# lvdisplay !$ //--> lvdisplay 查看LV详细信息
    lvdisplay /dev/test/hello
      --- Logical volume ---
      LV Path                /dev/test/hello
      LV Name                hello
      VG Name                test
      LV UUID                VyDN1C-4VUe-fQRd-iD18-bq35-pgR4-C1hY1X
      LV Write Access        read/write
      LV Creation host, time CentOS7, 2016-08-18 21:04:44 +0800
      LV Status              available
      # open                 0
      LV Size                2.00 GiB
      Current LE             512
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:2
  4. 格式化逻辑卷:在使用逻辑卷之前要进行格式化,而后挂载使用。

删除逻辑卷

逻辑卷的删除有严格的顺序:卸载逻辑卷–>删除LV–>删除VG–>删除LV

umount MOUNTPOINT–>lvremove /dev/VGNAME/LVNAME–>vgremove /dev/VGNAME–>pvremove /dev/DEVICE

扩展逻辑卷:可以在线进行,无需卸载卷

  1. 扩展PV

    # pvcreate /dev/DEVICE
  2. 扩展VG

    # vgextend VG_NAME /dev/DEVICE
  3. 扩展LV

    # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
  4. 更新文件系统

    # resize2fs /dev/VG_NAME/LV_NAME

缩减逻辑卷

  1. 卸载卷

    # umount MOUNT_POINT
  2. 检查文件系统

    # e2fsck -f /dev/VG_NAME/LV_NAME
  3. 缩减文件系统

    # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
  4. 缩减LV

    # lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
  5. 从VG中移除PV

    # vgreduce VG_NAME /dev/DEVICE
  6. 移除PV

    # pvremove /dev/DEVICE

创建快照:snapshot

    lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name

    注意:创建快照时不能跨分区,相当于硬链接。快照与原卷在同一个卷组中。

原创文章,作者:Jeason,如若转载,请注明出处:http://www.178linux.com/37836

(1)
JeasonJeason
上一篇 2016-08-22 09:31
下一篇 2016-08-22 09:41

相关推荐

  • 马哥网络班N22开学小计

        2010年通信系统硕士毕业就进入了数据中心从事网络运维管理方面的工作,随着工作展开逐渐感受到系统方面的知识可能成为自己IT职业生涯的短板,于是从2015年底开始系统的学习linux。     2016年上半年由于备考RHCE,非常幸运的在网络上接触马哥的2013版linu…

    Linux干货 2016-08-15
  • shell脚本的if语句

                                  第一篇  shell脚本中的if语句 一、shell脚本的语句控制        □前面提到了过程式…

    Linux干货 2016-08-19
  • 0803课堂练习与作业

    1、当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作? 不能添加在/testdir中增删改文件或目录 2、当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作? 不能查看文件中的文件列表 3、当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除? 不…

    Linux干货 2016-08-04
  • DNS服务器类型及查询过程

    什么是DNS   DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。 DNS域名称   域名系统作为一个层次结构和分布式数据库,包含各种类型的数据,…

    Linux干货 2017-02-08
  • 马哥教育网络班21期-第九周课程练习

    第九周作业 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i nologin=0 declare -i other=0   &n…

    Linux干货 2016-09-19
  • LVM创建实例及相关注释

    LVM创建    pv—>vg—->lv—->快照 创建前准备了四块1g硬盘分别为:sdb  sdc sdd  sde,并分别给四块盘划分了1G的空间,并指定了分区系统类型为8e(即Linux LVM) [root@localhost ~]# fdisk /dev/…

    Linux干货 2015-06-08