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

相关推荐

  • 一个简单的负载均衡集群:web服务

    一个简单的负载均衡集群:以web服务为例 实验环境:三台主机(CentOS 7.3)             主机1:IP地址 172.18.0.88(Haproxy代理服务器)             主机2:IP地址 172.…

    Linux干货 2017-05-17
  • Linux Cluster之Keepalived + Nginx的实现

      一、实验环境 http server1与http server2组成web集群,由nginx服务器实现负载均衡代理,使用keepalived保证nginx服务的高可用。通过虚拟IP192.168.154.177对外提供web服务。 实验目的: 1)当Nginx server1上的nginx服务异常时,由nginx server2提供反带服务。 …

    2016-11-02
  • linux文件权限详解

    基本命令 1.cut : cat /etc/passwd | cut -d’:’ -f7| uniq -c| sort -nr 2.authconfig 修改加密方式 –passalgo=sha256 — update 3.scp 上传文件 -r dir ip:path 传目录 file ip:path传文件 …

    Linux干货 2017-04-03
  • Bash编程之条件测试

    Bash 包含强大的编程功能,其中包括丰富的可测试文件类型和属性的函数,以及在多数编程语言中可以使用的算术和字符串比较函数。理解不同的测试并认识到 shell 还能把一些操作符解释成 shell 元字符,是学好Bash编程的重要一环。 一、测试命令 Bash中一条命令退出状态码可作为测试条件,执行成功返回0,代表布尔类型true;反之执行失败返回1-255之…

    Linux干货 2016-08-21
  • iptables练习

    iptables实战 1.开启防火墙 systemctl start firewalld 2.清空所有的默认规则,定义自己的规则 iptables -F 查看此时的iptables iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD…

    2015-03-15
  • 文本处理章练习题

    2017.7.27练习 1、找出ifconfig “网卡名” 命令结果中本机的IPv4地址 ifconfig |head -n 2 |tail -n 1|tr -s ” ” : |cut -d: -f4   2、查出分区空间使用率的最大百分比值 df|tr -s ‘ ‘ %|sort -t% -k5 …

    2017-07-29