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

相关推荐

  • 文本处理工具

    文件 查看命令:cat, tac,revcat [OPTION]… [FILE]…-E: 显示行结束符$-n: 对显示出的每一行进行 编号-A :显示所有控制符-b: : 非空行编号-s :压缩连续的空行成一行 分页查看文件内容more: 分页查看文件more [OPTIONS…] FILE…-d: 显示翻页及…

    Linux干货 2017-03-17
  • Ansible(From Wikipedia)

           Ansible 是一个免费的用于配置和管理计算机的的软件平台。它集成了软件部署,ad hoc任务执行,和管理配置的功能。它依赖Python2.4之后的版本和通过SSH或者PowerShell管理节点。模块工作在JSON格式,输出信息可以被任何编程语言再次编写。系统管理员可以使用YAML…

    Linux干货 2015-11-18
  • 系统管理之程序包管理(一) rpm详解

    系统管理之程序包管理(1):     程序包管理是运维人员的基本工作素质之一。在操作系统上,不断的安装,卸载,配置应用程序包,让不同程序包运行提供不同的服务;利用某种工具完成某些操作的过程。这就要求运维工作人员熟悉安装,管理应用程序包。 在linux上,程序包主要有两种:tar,rpm包。 一、程序包概述: 系统接口   &nb…

    Linux干货 2016-08-21
  • Linux中find常见用法示例

    ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数; pathname: find命…

    Linux干货 2017-04-18
  • Homework Week-3 用户管理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  who | cut -f 1 -d \ | uniq “\”后跟一个空格字符 2、取出最后登录到当前系统的用户的相关信息。  who | tail…

    Linux干货 2016-08-24
  • TCP三次握手和四次挥手

    TCP三次握手 有两台机器,A是客户端(主动发起请求的人),B是服务器端(被动接受请求的人),客户端A刚开始没有人和他通讯,所以客户端A的状态是CLOSDE(关闭的),服务器端B刚开始的状态也是CLOSDE,但是总有人去访问他,所以服务器端B开启了LISTEN(收听)状态。 (1)假设A机器想链接B机器了,他就会向B机器发送一个建立链接的请求,这个建立链接请…

    2017-08-31