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

相关推荐

  • 马哥教育网络班19期+第7周课程练习

    1.创建一个10G分区,并格式为ext4文件系统:   (1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;   (2)挂载至/data/mydata目录,要求挂载时禁止程序自行运行,且不更新文件的访问时间戳;   fdisk /dev/sdb    part…

    Linux干货 2016-06-22
  • Linux syslog 系统日志管理

    Linux系统上面,系统可以记录从开机到当前系统上面何时发生了哪些事情,在centos 上表现为rsylog,由三部分组成 1)syslogd:主要记录系统和网络等服务的日志信息 2)klogd:主要记录内核产生的各项信息 3)logretate:主要用来对日志文件进行切割循环记录等 特点: 1)多线程工作 2)支持以TCP,UDP,SSL,TSL,RELP…

    Linux干货 2016-10-24
  • rsync+inotify实现数据同步——单向传输

    实验环境:<从A主机推送数据到B主机[B主机可以有多个]> A主机:10.1.43.102 B主机:10.1.43.103 配置流程: —rsyncserver—- <B主机上配置> 1.vim /etc/rsyncd.conf(用户,目录,模块,虚拟用户及密码文件) vim /etc/rsyncd.…

    Linux干货 2016-10-27
  • Linux系统基础(二)

    一、Linux文件管理命令及其常用方法 1、cd(切换目录)这个命令应该是Linux中用的最频繁的一个命令之一了,因为我们经常需要进行目录的切换。在详解这个命令之前,首先得补充一个重要的知识,就是我们常用的一些比较特殊的目录: .        代表当前目录 .. &n…

    Linux干货 2016-09-24
  • X86平台系统启动流程 (Blog 9)

    POST –> BootSeqence(BIOS) –> Bootloader(MBR) –> Kernel(initrd) –> init(/etc/inittab)

    2017-11-27
  • 马哥教育网络班20期+第6周课程练习

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp sed 's/^[[:space:]]/#&/' /tmp/rc.sysinit 2、…

    Linux干货 2016-08-15