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)
上一篇 2016-04-12 19:00
下一篇 2016-04-12 22:51

相关推荐

  • 手动自制Mini Linux

        linux系统内核非常的精简,而且基于一切皆文件的思想,使得我们可以再现有系统上挂载一个空硬盘,利用现有系统编译一个内核和相关程序文件并拷贝到空硬盘上。我们就可以用空硬盘来单独运行一个精简的linux系统,这对于依赖于注册表的windows系统来说是不可能实现的。本文简要介绍一下一个mini linux的安装制…

    Linux干货 2016-05-03
  • Linux发展史

    简述 Linux于1991年10月5日诞生,由Linus torvalds和后面陆续加入的众多爱好者共同开发完成的操作系统 Linux只表示Linux kernl,但由于习惯用Linux来形容整个基于Linux kernl,使用GNU计划的各种工具和数据库的操作系统 Linux的标志 一只名为Tux的企鹅 大家要Linus Torvalds想一只吉祥物,他想…

    2017-03-26
  • 学习宣言

    此刻打盹,你将做梦,此刻学习,你将圆梦! 为了财富自由,前进!

    Linux干货 2016-12-28
  • 命令组合

    1 取出当前已登陆的用户名 2 取出最后登录用户的相关信息 3 取出默认shell最多的的类型   4 转移    [redsun@jiange root]$ sort -t: -k3 -n -r  /etc/passwd | sed -n "1,+3p" | tr 'a-z' …

    Linux干货 2016-11-13
  • 上海2016全球运维大会 美女辣妹吸引眼球!

    国内第一个运维行业大会 GOPS 2016全球运维大会(上海站)在2016年9月23-24日在上海雅悦新天地大酒店举办,面向IT及传统行业、广大运维技术人员,传播先进技术思想和理念,分享业内最佳实践。 参会两日,虽然大会主角是运维技术交流学习,不过却意料之外的邂逅了另一道靓丽的风景,瞬间燃了… 在会场,站立着一群高挑美女,我的…

    2016-12-05
  • vim简单操作

    vim第一讲 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。 h (左移) j (下行) k (上行) l (右移) 欲进入 Vim 编辑器(从命令行提示符),请输入:vim 文件名 <回车> 欲退出 Vim 编辑器,请输入 <ESC> :q! <回车> 放弃所有改动。 或者输入 <ESC&gt…

    Linux干货 2017-07-29