LVM-逻辑盘卷管理

LVM

 

一、简介


 

      LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

 

二、原理


 

      LVM通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

 

                    LVM模型.jpg


 

        三、特点


LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。


四、相关管理工具命令


               pv管理工具:

      pvs:简要pv显示信息

                    pvdisplay:显示pv的详细信息

                    pvcreate /dev/DEVICE:创建pv


                vg管理工具:

                     vgs:简要vg显示信息

                     vgdisplay:显示vg的详细信息

                     vgcreate [-s #[mMgGtT]] VolumeGroupNAME PhysicalDevicePath[PhysicalDevicePath…]:创建VG

                     vgextend  VolumeGroupNAME PhysicalDevicePath[PhysicalDevicePath…]:扩展VG

                     vgreduce  VolumeGroupNAME PhysicalDevicePath[PhysicalDevicePath…]:缩减VG

                           注意:对VG做减法时,先做pvmove:将需要移除的pv上的pe先移到同一卷组中其他pv

                     vgremove :移除VG


                   lv管理工具:

                      lvs:简要LV显示信息

                      lvdisplay:显示LV的详细信息

                      lvcreate -L #[mMgGtT] -n NAME VolumeGroup:创建LV

                      lvremove /dev/VG_NAME/LV_NAME:移除LV

                   扩展逻辑卷:

                        lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME

                                       -L #:扩展到#大小;

                                       -L +#:扩展了#大小;

                        resize2fs /dev/VG_NAME/LV_NAME:重新定义文件系统的大小

                   缩减逻辑卷:

                        umount /dev/VG_NAME/LV_NAME:卸载文件系统

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

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

                        lvreduce -L  [-]#[mMgGtT] /dev/VG_NAME/LV_NAME:缩减LV大小

                        mount

                 快照:snapshot

                        lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name



        五、实验



                

                实验目的:熟悉LV创建,扩展和缩减的流程及相关命令。试验中我们用/dev/md5/dev/sdf1/dev/sdg 来完成LVM实验。

                步骤:1、创建PV:pvcreate /dev/md5 /dev/sdf1 /dev/sdg(NOTE:此实验中的/dev/md5在上一个实验中被创建且挂载,需要先卸载才能进行PV的创建否则会报错

                                            创建PV.png

                                    2、分别用pvs和pvdisplay来查看刚刚创建的PV信息

                                            pvs命令.png     

                                            pvdisplay.png

                                    3、创建VG:vgcreate vg0 /dev/md5 /dev/sdf1 /dev/sdg

                                              创建VG.png

                                    4、用vgdisplay来查看刚刚创建的VG信息

                                                vgdisplay.png

                                                    主要信息说明:VG Name  VG的名称

                                                                VG Size  VG的总大小

                                                                PE Size  PE的大小,默认为4MB

                                                                Total PE  PE的总数量,5114 x 4MB = 19.98GB

                                                                Free PE / Size  剩余空间大小

                                   5、创建大小为5G的LVlvcreate -L 5G -n lv0 vg0

                                                    创建LV.png

                                   6、用lvdisplay来查看刚刚创建的LV信息

                                                   lvdisplay.png

                                                    主要信息说明:LV PATH              LV的路径,全名

                                                                LV NamE        LV的名称

                                                                                VG NAME            所属的VG

                                                                                LV  SIZE               LV的总大小

                                  7、创建LV后再使用命令查看VG情况,此时VFree的大小减少了5G分给了刚刚创建的LV

                                                    创建lv后VG情况.png

                                  8、对刚刚创建的lv0格式化:mkfs.ext4 /dev/vg0/lv0

                                                    格式化lv0.png

                                  9、在/下创建/testlv目录,并将格式化后的lv0挂载上去

                                                    lv0挂载.png

                                   10、将lv0信息写入配置文件/etc/fstab

                                                    写入配置信息.png

                                   11、至此,lv0的创建过程结束,下面对创建好的lv0进行扩容,要求扩容到10G

                                                    # lvextend -L10G /dev/vg0/lv0

                                                    # resize2fs /dev/vg0/lv0

                                                    lv扩容.png

                                    12、查看磁盘信息,发现已经扩容到10G

                                                    扩容后磁盘信息.png

                                    13、下面对lv0进行缩减,要求缩减到2G,注意:对lv进行缩减时需要离线操作,否则容易出现问题

                                              首先,我们需要卸载lv0:umount /dev/vg0/lv0

                                                           卸载lv0.png

                                              然后,强制检查文件系统,确认没有坏块:e2fsck -f /dev/vg0/lv0

                                                            检查文件系统确认没有坏块.png

                                              接着,缩小文件系统大小到2G:resize2fs /dev/vg0/lv0 2G

                                                            缩小文件系统.png


                                              最后,缩减lv大小到2G并挂载:# lvreduce -L 2G /dev/vg0/lv0

                                                                                                     # mount /dev/vg0/lv0 /testlv/

                                                            缩减lv.png

                                    14、lv0缩减成功


                

      

                        

 

 

 

原创文章,作者:Net18-天津-康康,如若转载,请注明出处:http://www.178linux.com/14724

(0)
Net18-天津-康康Net18-天津-康康
上一篇 2016-04-12
下一篇 2016-04-12

相关推荐

  • 初识路由以及小实验

    路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。路由发生在OSI网络参考模型中的第三层即网路层。 初识路由以及小实验 根据实验的目的要求画出实验拓扑图 准备实验环境 根据实验拓扑图开始配置 配置计算机的IP: 配置路由器R1和R2的IP 配置路由 实验目的 实验准备 实验步骤 验证实验结果 实验目的 为了更好的了解路由,通过一个小…

    Linux干货 2016-11-24
  • 用户及组概念和管理

    用户和组概念 /etc/passwd文件字段含义 root:x:0:0:root:/root:/bin/bash 用户名:登陆名,具有唯一性 密码存放加密用户的密码,看到的是一个x,其实已经映射到/etc/shadow文件中 UID:用户ID GID:组群ID 用户名全称:可以不设置 主目录:用户登陆系统中首先进入的目录 登陆Shell:用户使用shell类…

    Linux干货 2016-11-04
  • xen虚拟化基础篇

    Xen介绍:  xen是一个开放的源代码虚拟机监视器,有剑桥大学研发。它打算在单个计算机上运行多达128个满足特征的操作系统,操作系统必须进行显示地修改("移植")以在Xen上运行(但是提供对用户应用的兼容性)。这使得无需特殊硬件支持,就能达到高性能的虚拟化。 Xen由三部分组成:     第一部分…

    Linux干货 2015-08-26
  • tcp通讯的服务器和客户端解析

    服务器端编程步骤, 1.创建Socket对象,下文中的socket都表示一个socket对象 2.绑定IP地址和端口,服务器的IP和端口 3.开始监听,将在指定的端口上监听,listen() 如果对方申请连接这个IP和端口,将被听到,这个过程 4.获取用于传输数据的Socket对象 socket.accept() ->(socket object,ad…

    Linux干货 2018-01-01
  • history命令详解

       有效地使用命令历史机制将会使效率获得极大提升。history:   保存你输入的命令历史。 可以用它来重复执行命令。   history [-c] [-d offset] [n]   history -anrw [filename]   history …

    2017-03-26
  • Linux基础知识(一)

     本文的主要内容是:  1.计算机基本组成及其功能  2.linux的发行版,以及他们之间的联系和区别  3.Linux的哲学思想  4.Linux的上的命令的使用格式  5.基础命令 ifconfig,echo,tty,startx,export,pwd,history,shutdown,powe…

    Linux干货 2016-09-17