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
下一篇 2016-08-22

相关推荐

  • 第四周 博客作业

    grep useradd cp

    Linux干货 2017-12-28
  • N25-第三周作业

      列出当前系统上所有已经登陆的用户的用户名,注意:同一个用户登陆多次,则只显示一次即可。     2.取出最后登陆到当前系统的用户的相关信息。     3.取出当前系统上被用户当作其默认shell的最多的那个shell.     4.将/etc/password中的第三个字段数值最大的后…

    Linux干货 2016-12-19
  • 二.Linux博客-2016年7月21日screen、echo

    格式说明: 操作 概念 命令 说明及举例 二.screen、echo internet 因特网ethernet 以太网ctrl+alt+F1 图形界面ctrl+alt+F2-F6 字符界面 命令:who am i/who/who me i/tty/df/ifconfig/w/ halt 关机 reboot&n…

    Linux干货 2016-08-24
  • Linux哲学思想

    一切皆文件(硬件设备亦如此); 由众多目的单一的小程序组成,一个程序只做一件事,并且要好; 组合小程序完成复杂任务; 尽可能避免跟用户交互; 使用文本文件保存配置信息; 提供机制,而非策略。 Linux作为自由软件(GNU),同时也遵循自由软件的思想: 自由使用 自由学习和修改 自由分发 自由创建衍生版

    Linux干货 2016-10-31
  • LVS之nat&dr

    Evernote Export 负载均衡集群设计时的要点:        (1)session保持            session sticky(ip hash)            sess…

    Linux干货 2016-12-01
  • Net25-第9周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash for line in `cat /etc/passwd`;do if [[ `echo $line | awk -F: ‘{print $7}’` == ‘/sb…

    Linux干货 2017-03-15