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)
上一篇 2016-08-22 09:30
下一篇 2016-08-22 09:41

相关推荐

  • linux 基础命令总结——文件类命令

    <span style="font-size: 18px;">linux 基础命令总结——文件类命令</span> #wmd-preview h1  {    color: #0077bb; /* 将标题改为蓝色 */} linux 基础命令总结——文件类命令 命令总结 文件类命令 l…

    Linux干货 2016-06-26
  • 硬链接与软链接

    1、关于硬链接和软链接是什么   硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Linux 虚拟文件系统 (VFS) 的四个基本概念之一。通过剖析硬链接与软链接的联系与区别,我们可更好的了解 Linux 中 VFS 这一通用文件模型。 (1…

    Linux干货 2016-10-20
  • Ansible Conditionals & Loops

     一、条件语句     条件判断语句,就是根据某些变量的值来控制Ansible的执行流程。控制某些主机执行某些操作与不执行某些操作。根据某些操作结果,判断是否执行其它操作等等。     Ansible的条件判断语句只有 when 语句,结合变量使用才能显示出它的价值。when的用…

    Linux干货 2015-11-21
  • Linux进程管理常用命令(一)

    Linux系统上的进程查看及管理工具:     pstree, ps, pidof, pgrep, top, htop, glances, pmap, vmstat, dstat,kill,job,bg,fg, nohup, nice, renice, killall,…     Centos 5: Sys…

    Linux干货 2017-01-05
  • linux网络管理 一

    什么是网络?         是指将具有独立功能的计算机和周边设备,通过通信线路连接起来,在网络软件的支持下,实现资源的共享和数据的整个系统。 网络的特征:         速度      …

    2017-03-16