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

相关推荐

  • LVM逻辑卷&RAID管理&磁盘配置详解

    LVM逻辑卷管理 应用场景:想象一下,你通过传统的硬盘分区方式为某些用户提供了一块磁盘,随着用户数据的不断增加,分区的容量告急。这时要增加容量,只能选择用另一块容量更大的硬盘或分区来替换,在这个过程中,你需要将数据先拷贝至新设备,拷贝完成之后,再用新设备替换容量告罄的设备。假设你很有耐心并且整个数据的拷贝过程是顺顺利利的,你也需要考虑靠背后文件的权限变化、替…

    Linux干货 2016-09-02
  • 马哥教育网络班22期第一周课程练习1-未闻花名

    一、cpu架构 计算机体系结构: 运算器、控制器(cpu还包含寄存器)、存储器(内存)、输入设备(键盘、硬盘等)、输出设备(显示器、硬盘等) cpu组成: 核心部件:运算器(加法器)、控制器()、寄存器(由于数据总线复用,为cpu保存现场,过程数据记录)。 辅助部件:一、二、三级缓存:弥合CPU和内存速率不匹配。频率控制器? 地址总线:内存寻址。 数据总线:…

    Linux干货 2016-08-15
  • raid5创建

    创建分区并改类型 创建raid5   创建把文件系统 生成配置文件    

    2017-12-17
  • FHS文档系统各目录功能

         /bin 所有用户可用的基本命令程序文件     /sbin   供系统管理使用的工具程序     /boot 引导加载器必须用到的各静态文件 kernel,initramfs,grub  &nbsp…

    Linux干货 2016-10-18
  • Http实践

    练习:搭建虚拟主机     (1)基于主机名实现三个虚拟主机     (2) 每虚拟主机使用独立的访问日志和错误日志     (3) 第三个虚拟主机的/admin要进行用户访问认证     (4) 在…

    Linux干货 2016-09-30
  • 分布式文件系统之MogileFS

    MogileFS是一个开源的分布式文件存储系统,由LiveJournal旗下的Danga Interactive公司开发。Danga团队开发了包括 Memcached、MogileFS、Perlbal 等多个知名的开源项目。目前使用MogileFS 的公司非常多,如日本排名先前的几个互联公司及国内的yupoo(又拍)、digg、豆瓣、1号店、大众点评、搜狗和…

    Linux干货 2017-06-16