LVM基本应用,扩展及缩减实现

Posted ckh2014

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVM基本应用,扩展及缩减实现相关的知识,希望对你有一定的参考价值。

LVM是使用纯软件的方式来组织一个或多个底层硬件设备为一个抽象的逻辑设备来使用的这一解决方案。它用到了内核中的dm模块:

    dm: device mapper,将一个或多个底层设备组织成一个逻辑设备的模块

        技术分享图片 

如上图所示:底层PV(物理卷可能是硬盘设备,分区或RAID等),一个或多个PV组织成一个VG(逻辑卷),卷组是不能直接格式化使用的,所以在VG之上,还需要创建LV进行格式化使用。VG在逻辑层面上将每一个PV提供的空间划分成多个PE(physcal Extent,默认4M)来使用, LV根据VG提供的PE数量动态的扩展或缩减大小,VG的空间也可以随着PV的增减进行动态的扩展或缩减。

  创建LV的相关命令:

      PV管理工具:

        pvs: 简要pv信息显示

        pvdisplay: 显示pv的详细信息

        pvcreate /dev/DEVICE: 创建pv

        pvremove /dev/PV_NAME:移除PV

      VG管理工具:

        vgs: 简要显示vg信息

        vgdisplay:显示vg的详细信息

        vgcreate [-s PE_SIZE[kKmMgGtTpPeE]]  VG_NAME /dev/DEVICE : 创建vg

        vgextend VG_NAME /dev/DEVICEE: vg扩展

        vgreduce VG_NAME /dev/DEVICE: 缩减vg

          需要先做pvmove 

        vgremove /dev/VG_NAME:vg移除

      LV管理工具:

        lvs: 简要显示lv信息

        lvdisplay:详细显示lv信息

        lvcreate -L #[mMgGtT] -n LV_NAME VG_NAME : 创建lv

        lvremove /dev/VG_NAME/LV_NAME: 移除lv

      扩展逻辑卷步骤:

        lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME: 扩展物理边界

        resize2fs /dev/VG_NAME/LV_NAME (EXT系列的文件格式):修改逻辑边界

      缩减逻辑卷步骤:

        umount /dev/VG_NAME/LV_NAME: 先卸载LV

        e2fsck -f /dev/VG_NAME/LV_NAME: 强制检测和修复文件系统        

        resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]:缩减逻辑边界

        lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME:缩减物理边界

        mount: 重新挂载lv

  LV另一个功能:snapshot

    快照就是某一时刻立即创建一个对原卷文件元数据的监视器,当原卷上文件元数据要变化的时候,先把原文件复制一份到快照卷上,而没有变化的就指向原卷上的文件数据。

    快照的相关命令:

       lvcreate -L #[mMgGtT] -p r -s -n SNAPSHOT_LV_NAME ORIGINAL_NAME: 创建一个只读的快照

练习1: 创建一个至少有两个pv组成的大小为4G的名为testvg的VG,要求PE大小为16MB,而后在卷组中创建大小为
3G的逻辑卷testlv,挂载至/users目录

  1. 创建至少两个分区,大小各位2G: /dev/sda3,/dev/sda5,dev/sda6,调整分区id为8e

  2. 创建PV: pvcreate /dev/sda{3,5}

  3.创建vg: vgcreate -s 16M myvg /dev/sda{3,5}

  4.创建testlv: lvcreate -L 3G  -n testlv myvg

  4.格式化: mke2fs -t ext4 -b 1024 -L MYLV -m 3 /dev/myvg/mylv 

  5. 挂载到/users: mkdir /users, mount /dev/myvg/testlv /users  

练习2:新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,
复制、etc/pam.d目录至自己的家目录

  1. useradd -d /users/archlinux archlinux

  2. su - archlinux

  3. su root(以root用户身份复制文件)cp -rf -a /etc/pam.d /users/archlinux 

练习3:扩展testlv至5G,要求archlinux用户的文件不能丢失

  1.再创建一个2G的PV: pvcreate /dev/sda6

  2. vgextend myvg /dev/sda6

  3.lvextend -L 5G /dev/myvg/testlv

  4.resize2fs /dev/myvg/testlv

练习4:收缩testlv至3G,要求archlinux用户的文件不能丢失

  1. umount /dev/myvg/testlv

  2. e2fsck -f /dev/myvg/testlv

  3.resize2fs /dev/myvg/testlv 3G

  4. lvreduce 3G /dev/myvg/testlv

练习5:对testlv创建快照,并尝试基于快照备份数据,验证快照的功能

  lvcreate -s -p r - L 500M -n mysnap /dev/myvg/testlv

        

 



以上是关于LVM基本应用,扩展及缩减实现的主要内容,如果未能解决你的问题,请参考以下文章

LVM基本应用,扩展及缩减实现!

+++++++lvm2基本应用,扩展及缩减实现

LVM基本应用,扩展及缩减实现

lvm逻辑卷的基本应用,扩展及缩减快照功能实现方法

LVM基础应用扩展及缩减

lvm的扩展与缩减